// Note that Ping won't work with old (1.2) mongo servers. func (mgw *MongoWrapper) TestConnection(timeout time.Duration) bool { session, err := mgo.DialWithTimeout(mgw.Servers, timeout) if err != nil { return false } defer session.Close() session.SetSyncTimeout(timeout) if err = session.Ping(); err != nil { return false } return true }
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) }