Commit a38b30d6 authored by Nick Craver's avatar Nick Craver

Connection strings out of code, step 1

We should centralize these, but at least remove them from code for now.
parent 8b90e6dc
...@@ -104,10 +104,11 @@ public class GenericType<T> ...@@ -104,10 +104,11 @@ public class GenericType<T>
public abstract partial class TestSuite public abstract partial class TestSuite
{ {
protected static readonly bool IsAppVeyor = Environment.GetEnvironmentVariable("Appveyor")?.ToUpperInvariant() == "TRUE";
public abstract IDbConnection GetConnection(); public abstract IDbConnection GetConnection();
protected static string GetConnectionString(string name, string defaultConnectionString) =>
Environment.GetEnvironmentVariable(name) ?? defaultConnectionString;
private IDbConnection GetOpenConnection() private IDbConnection GetOpenConnection()
{ {
var connection = GetConnection(); var connection = GetConnection();
......
...@@ -23,9 +23,8 @@ public class SqlServerTestSuite : TestSuite ...@@ -23,9 +23,8 @@ public class SqlServerTestSuite : TestSuite
{ {
private const string DbName = "tempdb"; private const string DbName = "tempdb";
public static string ConnectionString => public static string ConnectionString =>
IsAppVeyor GetConnectionString("SqlServerConnectionString", $"Data Source=.;Initial Catalog={DbName};Integrated Security=True");
? @"Server=(local)\SQL2016;Database=tempdb;User ID=sa;Password=Password12!"
: $"Data Source=.;Initial Catalog={DbName};Integrated Security=True";
public override IDbConnection GetConnection() => new SqlConnection(ConnectionString); public override IDbConnection GetConnection() => new SqlConnection(ConnectionString);
static SqlServerTestSuite() static SqlServerTestSuite()
...@@ -62,9 +61,7 @@ static SqlServerTestSuite() ...@@ -62,9 +61,7 @@ static SqlServerTestSuite()
public class MySqlServerTestSuite : TestSuite public class MySqlServerTestSuite : TestSuite
{ {
public static string ConnectionString { get; } = public static string ConnectionString { get; } =
IsAppVeyor GetConnectionString("MySqlConnectionString", "Server=localhost;Database=tests;Uid=test;Pwd=pass;UseAffectedRows=false;");
? "Server=localhost;Database=test;Uid=root;Pwd=Password12!;UseAffectedRows=false;"
: "Server=localhost;Database=tests;Uid=test;Pwd=pass;UseAffectedRows=false;";
public override IDbConnection GetConnection() public override IDbConnection GetConnection()
{ {
......
...@@ -10,9 +10,8 @@ namespace Dapper.Tests ...@@ -10,9 +10,8 @@ namespace Dapper.Tests
public sealed class MySqlProvider : DatabaseProvider public sealed class MySqlProvider : DatabaseProvider
{ {
public override DbProviderFactory Factory => MySql.Data.MySqlClient.MySqlClientFactory.Instance; public override DbProviderFactory Factory => MySql.Data.MySqlClient.MySqlClientFactory.Instance;
public override string GetConnectionString() => IsAppVeyor public override string GetConnectionString() =>
? "Server=localhost;Database=test;Uid=root;Pwd=Password12!;" GetConnectionString("MySqlConnectionString", "Server=localhost;Database=tests;Uid=test;Pwd=pass;");
: "Server=localhost;Database=tests;Uid=test;Pwd=pass;";
public DbConnection GetMySqlConnection(bool open = true, public DbConnection GetMySqlConnection(bool open = true,
bool convertZeroDatetime = false, bool allowZeroDatetime = false) bool convertZeroDatetime = false, bool allowZeroDatetime = false)
......
...@@ -11,9 +11,7 @@ public class OLEDBProvider : DatabaseProvider ...@@ -11,9 +11,7 @@ public class OLEDBProvider : DatabaseProvider
{ {
public override DbProviderFactory Factory => OleDbFactory.Instance; public override DbProviderFactory Factory => OleDbFactory.Instance;
public override string GetConnectionString() => public override string GetConnectionString() =>
IsAppVeyor GetConnectionString("OLEDBConnectionString", "Provider=SQLOLEDB;Data Source=.;Initial Catalog=tempdb;Integrated Security=SSPI");
? @"Provider=SQLOLEDB;Data Source=(local)\SQL2016;Initial Catalog=tempdb;User Id=sa;Password=Password12!"
: "Provider=SQLOLEDB;Data Source=.;Initial Catalog=tempdb;Integrated Security=SSPI";
} }
public class OLDEBTests : TestBase<OLEDBProvider> public class OLDEBTests : TestBase<OLEDBProvider>
......
...@@ -9,9 +9,8 @@ namespace Dapper.Tests ...@@ -9,9 +9,8 @@ namespace Dapper.Tests
public class PostgresProvider : DatabaseProvider public class PostgresProvider : DatabaseProvider
{ {
public override DbProviderFactory Factory => Npgsql.NpgsqlFactory.Instance; public override DbProviderFactory Factory => Npgsql.NpgsqlFactory.Instance;
public override string GetConnectionString() => IsAppVeyor public override string GetConnectionString() =>
? "Server=localhost;Port=5432;User Id=postgres;Password=Password12!;Database=test" GetConnectionString("PostgesConnectionString", "Server=localhost;Port=5432;User Id=dappertest;Password=dapperpass;Database=dappertest");
: "Server=localhost;Port=5432;User Id=dappertest;Password=dapperpass;Database=dappertest"; // ;Encoding = UNICODE
} }
public class PostgresqlTests : TestBase<PostgresProvider> public class PostgresqlTests : TestBase<PostgresProvider>
{ {
......
...@@ -15,10 +15,12 @@ public abstract class DatabaseProvider ...@@ -15,10 +15,12 @@ public abstract class DatabaseProvider
{ {
public abstract DbProviderFactory Factory { get; } public abstract DbProviderFactory Factory { get; }
public static bool IsAppVeyor { get; } = Environment.GetEnvironmentVariable("Appveyor")?.ToUpperInvariant() == "TRUE";
public virtual void Dispose() { } public virtual void Dispose() { }
public abstract string GetConnectionString(); public abstract string GetConnectionString();
protected string GetConnectionString(string name, string defaultConnectionString) =>
Environment.GetEnvironmentVariable(name) ?? defaultConnectionString;
public DbConnection GetOpenConnection() public DbConnection GetOpenConnection()
{ {
var conn = Factory.CreateConnection(); var conn = Factory.CreateConnection();
...@@ -47,10 +49,8 @@ public DbParameter CreateRawParameter(string name, object value) ...@@ -47,10 +49,8 @@ public DbParameter CreateRawParameter(string name, object value)
public abstract class SqlServerDatabaseProvider : DatabaseProvider public abstract class SqlServerDatabaseProvider : DatabaseProvider
{ {
public override string GetConnectionString() => public override string GetConnectionString() =>
IsAppVeyor GetConnectionString("SqlServerConnectionString", "Data Source=.;Initial Catalog=tempdb;Integrated Security=True");
? @"Server=(local)\SQL2019;Database=tempdb;User ID=sa;Password=Password12!"
: "Data Source=.;Initial Catalog=tempdb;Integrated Security=True";
public DbConnection GetOpenConnection(bool mars) public DbConnection GetOpenConnection(bool mars)
{ {
......
...@@ -21,6 +21,12 @@ environment: ...@@ -21,6 +21,12 @@ environment:
MYSQL_ENV_MYSQL_USER: root MYSQL_ENV_MYSQL_USER: root
MYSQL_ENV_MYSQL_PASSWORD: Password12! MYSQL_ENV_MYSQL_PASSWORD: Password12!
MYSQL_ENV_MYSQL_DATABASE: test MYSQL_ENV_MYSQL_DATABASE: test
# Connection strings for tests:
MySqlConnectionString: Server=localhost;Database=test;Uid=root;Pwd=Password12!;
OLEDBConnectionString: Provider=SQLOLEDB;Data Source=(local)\SQL2019;Initial Catalog=tempdb;User Id=sa;Password=Password12!
PostgesConnectionString: Server=localhost;Port=5432;User Id=postgres;Password=Password12!;Database=test
SqlServerConnectionString: Server=(local)\SQL2019;Database=tempdb;User ID=sa;Password=Password12!"
services: services:
- mssql2019 - mssql2019
- mysql - mysql
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment