-
Notifications
You must be signed in to change notification settings - Fork 54
/
Copy pathTestConfiguration.cs
39 lines (35 loc) · 1.5 KB
/
TestConfiguration.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using Microsoft.Extensions.Configuration;
using NHibernate.Bytecode;
using NHibernate.Cfg;
using NHibernate.Driver;
using NHibernate.Spatial.Dialect;
using Npgsql;
using System.Collections.Generic;
namespace Tests.NHibernate.Spatial
{
internal static class TestConfiguration
{
private static readonly IConfigurationRoot _configurationRoot;
static TestConfiguration()
{
_configurationRoot = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
}
public static void Configure(Configuration configuration)
{
IDictionary<string, string> properties = new Dictionary<string, string>
{
[Environment.ProxyFactoryFactoryClass] = typeof(StaticProxyFactoryFactory).AssemblyQualifiedName,
[Environment.Dialect] = typeof(PostGis20Dialect).AssemblyQualifiedName,
[Environment.ConnectionProvider] = typeof(DebugConnectionProvider).AssemblyQualifiedName,
[Environment.ConnectionDriver] = typeof(NpgsqlDriver).AssemblyQualifiedName,
[Environment.ConnectionString] = _configurationRoot.GetConnectionString("PostGis20")
};
configuration.SetProperties(properties);
// Use NTS plugin for mapping PostGIS types; see:
// https://www.npgsql.org/doc/release-notes/4.0.html#improved-spatial-support-postgis
NpgsqlConnection.GlobalTypeMapper.UseNetTopologySuite();
}
}
}