func DBConnect() (d *db, err error) { session, err := mgo.DialWithTimeout(*conf.MONGODB, DbTimeout) if err != nil { return } d = &db{Nodes: session.DB("ShockDB").C("Nodes"), Session: session} return }
func (s *S) TestDialWithTimeout(c *C) { if *fast { c.Skip("-fast") } timeout := 2 * time.Second started := time.Now() // 40009 isn't used by the test servers. session, err := mgo.DialWithTimeout("localhost:40009", timeout) if session != nil { session.Close() } c.Assert(err, ErrorMatches, "no reachable servers") c.Assert(session, IsNil) c.Assert(started.Before(time.Now().Add(-timeout)), Equals, true) c.Assert(started.After(time.Now().Add(-timeout*2)), Equals, true) }