64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
|
// +build cluster
|
||
|
|
||
|
package gorethink
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"time"
|
||
|
|
||
|
test "gopkg.in/check.v1"
|
||
|
)
|
||
|
|
||
|
func (s *RethinkSuite) TestClusterConnect(c *test.C) {
|
||
|
session, err := Connect(ConnectOpts{
|
||
|
Addresses: []string{url1, url2, url3},
|
||
|
})
|
||
|
c.Assert(err, test.IsNil)
|
||
|
|
||
|
row, err := Expr("Hello World").Run(session)
|
||
|
c.Assert(err, test.IsNil)
|
||
|
|
||
|
var response string
|
||
|
err = row.One(&response)
|
||
|
c.Assert(err, test.IsNil)
|
||
|
c.Assert(response, test.Equals, "Hello World")
|
||
|
}
|
||
|
|
||
|
func (s *RethinkSuite) TestClusterMultipleQueries(c *test.C) {
|
||
|
session, err := Connect(ConnectOpts{
|
||
|
Addresses: []string{url1, url2, url3},
|
||
|
})
|
||
|
c.Assert(err, test.IsNil)
|
||
|
|
||
|
for i := 0; i < 1000; i++ {
|
||
|
row, err := Expr(fmt.Sprintf("Hello World", i)).Run(session)
|
||
|
c.Assert(err, test.IsNil)
|
||
|
|
||
|
var response string
|
||
|
err = row.One(&response)
|
||
|
c.Assert(err, test.IsNil)
|
||
|
c.Assert(response, test.Equals, fmt.Sprintf("Hello World", i))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (s *RethinkSuite) TestClusterConnectError(c *test.C) {
|
||
|
var err error
|
||
|
_, err = Connect(ConnectOpts{
|
||
|
Addresses: []string{"nonexistanturl"},
|
||
|
Timeout: time.Second,
|
||
|
})
|
||
|
c.Assert(err, test.NotNil)
|
||
|
}
|
||
|
|
||
|
func (s *RethinkSuite) TestClusterConnectDatabase(c *test.C) {
|
||
|
session, err := Connect(ConnectOpts{
|
||
|
Addresses: []string{url1, url2, url3},
|
||
|
Database: "test2",
|
||
|
})
|
||
|
c.Assert(err, test.IsNil)
|
||
|
|
||
|
_, err = Table("test2").Run(session)
|
||
|
c.Assert(err, test.NotNil)
|
||
|
c.Assert(err.Error(), test.Equals, "gorethink: Database `test2` does not exist. in:\nr.Table(\"test2\")")
|
||
|
}
|