public static Dictionary <string, string> ToConfig(PgresUser u) => new Dictionary <string, string>() { ["Pgres:Host"] = u.Host, ["Pgres:Handle"] = u.Handle, ["Pgres:Pwd"] = u.Pwd, ["Pgres:Db"] = u.Db };
public PublicMeetsController( IDataSource db, PgresUser creds ) { _db = db; _creds = creds; }
public PublishersController( ILogger <PublishersController> log, IOptions <TwilioOptions> opts, IDataSource db, PgresUser creds ) { _db = db; _creds = creds; _log = log; _twilio = opts.Value; }
public async Task <int> SubmitCommand( PgresUser creds, ICommand command) { using var c = creds.ToConnection(); using var cmd = new NpgsqlCommand( command.Sql, c); cmd.Parameters.AddMany(command.Parameters); await c.OpenAsync(); var r = await cmd.ExecuteNonQueryAsync(); return(r); }
public async Task <IEnumerable <T> > Submit <T>( PgresUser creds, IQuery <T> q) { using var c = creds.ToConnection(); using var cmd = new NpgsqlCommand(q.Sql, c); cmd.Parameters.AddMany(q.Parameters); IEnumerable <T> r = Enumerable.Empty <T>(); await c.OpenAsync(); using var rd = await cmd.ExecuteReaderAsync(); r = await q.Read(rd); return(r); }
public static async Task AssemblyInit(TestContext context) { var jsonconfig = File.ReadAllText("config.json"); var schema = File.ReadAllText("tablesUp.sql"); var creds = JsonSerializer.Deserialize <PgresUser>(jsonconfig); var dbname = $"test_broker_{Random}"; var newDb = creds.ToConnection(false).NewTestDatabase(dbname); var newDbR = await newDb.SubmitCommand(); creds.Db = dbname; var tablesUp = creds.ToConnection(false).RunSql(schema); var tablesUpR = await tablesUp.SubmitCommand(); _factory = WebApp.Get(ToConfig(creds)); _dbCreds = creds; _testDbName = dbname; }
public static NpgsqlConnection ToConnection( this PgresUser u, bool pooling = true) => new NpgsqlConnection($"{u.ToString()}{(pooling ? string.Empty : PoolingKVP)}");