コード例 #1
0
 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
 };
コード例 #2
0
 public PublicMeetsController(
     IDataSource db,
     PgresUser creds
     )
 {
     _db    = db;
     _creds = creds;
 }
コード例 #3
0
 public PublishersController(
     ILogger <PublishersController> log,
     IOptions <TwilioOptions> opts,
     IDataSource db,
     PgresUser creds
     )
 {
     _db     = db;
     _creds  = creds;
     _log    = log;
     _twilio = opts.Value;
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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;
        }
コード例 #7
0
 public static NpgsqlConnection ToConnection(
     this PgresUser u,
     bool pooling = true) =>
 new NpgsqlConnection($"{u.ToString()}{(pooling ? string.Empty : PoolingKVP)}");