X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ca812f58e63bd4673bb62aa8528e07d6020bfc9a..36e23b3761e43231789df66dc441727c000a2ffc:/services/ws/event_source_test.go diff --git a/services/ws/event_source_test.go b/services/ws/event_source_test.go index ee1da08bf1..ea6063a0c3 100644 --- a/services/ws/event_source_test.go +++ b/services/ws/event_source_test.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + package main import ( @@ -14,7 +18,7 @@ var _ = check.Suite(&eventSourceSuite{}) type eventSourceSuite struct{} -func testDBConfig() (pgConfig, error) { +func testDBConfig() pgConfig { var railsDB struct { Test struct { Database string @@ -25,7 +29,7 @@ func testDBConfig() (pgConfig, error) { } err := config.LoadFile(&railsDB, "../api/config/database.yml") if err != nil { - return nil, err + panic(err) } cfg := pgConfig{ "dbname": railsDB.Test.Database, @@ -33,22 +37,20 @@ func testDBConfig() (pgConfig, error) { "password": railsDB.Test.Password, "user": railsDB.Test.Username, } - return cfg, nil + return cfg } -func testDB() (*sql.DB, error) { - cfg, err := testDBConfig() +func testDB() *sql.DB { + db, err := sql.Open("postgres", testDBConfig().ConnectionString()) if err != nil { - return nil, err + panic(err) } - return sql.Open("postgres", cfg.ConnectionString()) + return db } func (*eventSourceSuite) TestEventSource(c *check.C) { - cfg, err := testDBConfig() - if err != nil { - c.Fatal(err) - } + cfg := testDBConfig() + db := testDB() pges := &pgEventSource{ DataSource: cfg.ConnectionString(), QueueSize: 4, @@ -59,16 +61,9 @@ func (*eventSourceSuite) TestEventSource(c *check.C) { sinks[i] = pges.NewSink() } - // wait for listener to start, as evidenced by queue channel - // appearing (relying on internal implementation detail here) - for deadline := time.Now().Add(10 * time.Second); pges.queue == nil; time.Sleep(10 * time.Millisecond) { - c.Assert(time.Now().After(deadline), check.Equals, false) - } + pges.WaitReady() defer pges.cancel() - db, err := testDB() - c.Assert(err, check.IsNil) - done := make(chan bool, 1) go func() { @@ -114,4 +109,6 @@ func (*eventSourceSuite) TestEventSource(c *check.C) { case <-time.After(10 * time.Second): c.Fatal("timed out") } + + c.Check(pges.DBHealth(), check.IsNil) }