func (s *S) SetUpSuite(c *C) { dbname := "controllertest" if err := pgtestutils.SetupPostgres(dbname); err != nil { c.Fatal(err) } pgxpool, err := pgx.NewConnPool(pgx.ConnPoolConfig{ ConnConfig: pgx.ConnConfig{ Host: os.Getenv("PGHOST"), Database: dbname, }, }) if err != nil { c.Fatal(err) } db := postgres.New(pgxpool, nil) if err = migrateDB(db); err != nil { c.Fatal(err) } // reconnect with que statements prepared now that schema is migrated pgxpool, err = pgx.NewConnPool(pgx.ConnPoolConfig{ ConnConfig: pgx.ConnConfig{ Host: "/var/run/postgresql", Database: dbname, }, AfterConnect: schema.PrepareStatements, }) if err != nil { c.Fatal(err) } db = postgres.New(pgxpool, nil) s.flac = newFakeLogAggregatorClient() s.cc = tu.NewFakeCluster() s.hc = handlerConfig{ db: db, cc: s.cc, lc: s.flac, rc: newFakeRouter(), keys: []string{authKey}, } handler := appHandler(s.hc) s.srv = httptest.NewServer(handler) client, err := controller.NewClient(s.srv.URL, authKey) c.Assert(err, IsNil) s.c = client }
func (s *S) SetUpSuite(c *C) { dbname := "controllertest" db := setupTestDB(c, dbname) if err := migrateDB(db); err != nil { c.Fatal(err) } // reconnect with que statements prepared now that schema is migrated pgxpool, err := pgx.NewConnPool(pgx.ConnPoolConfig{ ConnConfig: pgx.ConnConfig{ Host: "/var/run/postgresql", Database: dbname, }, AfterConnect: schema.PrepareStatements, }) if err != nil { c.Fatal(err) } db = postgres.New(pgxpool, nil) ca, err := certgen.Generate(certgen.Params{IsCA: true}) if err != nil { c.Fatal(err) } s.caCert = []byte(ca.PEM) s.flac = newFakeLogAggregatorClient() s.cc = tu.NewFakeCluster() s.hc = handlerConfig{ db: db, cc: s.cc, lc: s.flac, rc: newFakeRouter(), keys: []string{authKey}, caCert: s.caCert, } handler := appHandler(s.hc) s.srv = httptest.NewServer(handler) client, err := controller.NewClient(s.srv.URL, authKey) c.Assert(err, IsNil) s.c = client }
func (s *S) SetUpSuite(c *C) { dbname := "controllertest" if err := pgtestutils.SetupPostgres(dbname); err != nil { c.Fatal(err) } dsn := fmt.Sprintf("dbname=%s", dbname) db, err := sql.Open("postgres", dsn) if err != nil { c.Fatal(err) } if err = migrateDB(db); err != nil { c.Fatal(err) } pg := postgres.New(db, dsn) pgxpool, err := pgx.NewConnPool(pgx.ConnPoolConfig{ ConnConfig: pgx.ConnConfig{ Host: "/var/run/postgresql", Database: dbname, }, AfterConnect: que.PrepareStatements, }) if err != nil { c.Fatal(err) } s.flac = newFakeLogAggregatorClient() s.cc = tu.NewFakeCluster() s.hc = handlerConfig{ db: pg, cc: s.cc, lc: s.flac, rc: newFakeRouter(), pgxpool: pgxpool, keys: []string{authKey}, } handler := appHandler(s.hc) s.srv = httptest.NewServer(handler) client, err := controller.NewClient(s.srv.URL, authKey) c.Assert(err, IsNil) s.c = client }
func (s *S) SetUpSuite(c *C) { dbname := "controllertest" if os.Getenv("PGDATABASE") != "" { dbname = os.Getenv("PGDATABASE") } else { os.Setenv("PGDATABASE", dbname) } if os.Getenv("PGSSLMODE") == "" { os.Setenv("PGSSLMODE", "disable") } db, err := sql.Open("postgres", "dbname=postgres") if err != nil { c.Fatal(err) } if _, err := db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s", dbname)); err != nil { c.Fatal(err) } if _, err := db.Exec(fmt.Sprintf("CREATE DATABASE %s", dbname)); err != nil { c.Fatal(err) } db.Close() dsn := fmt.Sprintf("dbname=%s", dbname) db, err = sql.Open("postgres", dsn) if err != nil { c.Fatal(err) } if err = migrateDB(db); err != nil { c.Fatal(err) } dbw := testDBWrapper{DB: db, dsn: dsn} s.cc = tu.NewFakeCluster() handler, m := appHandler(handlerConfig{db: dbw, cc: s.cc, sc: newFakeRouter(), key: "test"}) s.m = m s.srv = httptest.NewServer(handler) }
func newFakeCluster(hostID, appID, releaseID string, processes map[string]int, jobs []*host.Job) *tu.FakeCluster { if jobs == nil { jobs = make([]*host.Job, 0) } for t, c := range processes { for i := 0; i < c; i++ { job := &host.Job{ ID: fmt.Sprintf("job%d", i), Metadata: map[string]string{ "flynn-controller.app": appID, "flynn-controller.release": releaseID, "flynn-controller.type": t, }, } jobs = append(jobs, job) } } cl := tu.NewFakeCluster() cl.SetHosts(map[string]host.Host{hostID: {ID: hostID, Jobs: jobs}}) cl.SetHostClient(hostID, tu.NewFakeHostClient(hostID)) return cl }