浏览代码

Introduce expectation for the cluster size

Ben Hood 11 年之前
父节点
当前提交
fe1e82741a
共有 2 个文件被更改,包括 20 次插入5 次删除
  1. 16 3
      cassandra_test.go
  2. 4 2
      integration.sh

+ 16 - 3
cassandra_test.go

@@ -27,7 +27,7 @@ var (
 	flagProto    = flag.Int("proto", 2, "protcol version")
 	flagCQL      = flag.String("cql", "3.0.0", "CQL version")
 	flagRF       = flag.Int("rf", 1, "replication factor for test keyspace")
-	clusterSize  = 1
+	clusterSize  = flag.Int("clusterSize", 1, "the expected size of the cluster")
 	clusterHosts []string
 )
 
@@ -35,7 +35,6 @@ func init() {
 
 	flag.Parse()
 	clusterHosts = strings.Split(*flagCluster, ",")
-	clusterSize = len(clusterHosts)
 	log.SetFlags(log.Lshortfile | log.LstdFlags)
 }
 
@@ -43,7 +42,7 @@ var initOnce sync.Once
 
 func createTable(s *Session, table string) error {
 	err := s.Query(table).Consistency(All).Exec()
-	if clusterSize > 1 {
+	if *clusterSize > 1 {
 		// wait for table definition to propogate
 		time.Sleep(250 * time.Millisecond)
 	}
@@ -87,6 +86,20 @@ func createSession(tb testing.TB) *Session {
 	return session
 }
 
+func TestRingDiscovery(t *testing.T) {
+	cluster := NewCluster("127.0.0.1")
+	session, err := cluster.CreateSession()
+	if err != nil {
+		t.Errorf("got error connecting to the cluster %v", err)
+	}
+
+	if *clusterSize != session.Pool.Size() {
+		t.Fatalf("Expected a cluster size of %d, but actual size was %d", *clusterSize, session.Pool.Size())
+	}
+
+	session.Close()
+}
+
 func TestEmptyHosts(t *testing.T) {
 	cluster := NewCluster()
 	if session, err := cluster.CreateSession(); err == nil {

+ 4 - 2
integration.sh

@@ -3,8 +3,10 @@
 set -e
 
 function run_tests() {
+	local clusterSize=3
 	local version=$1
-	ccm create test -v $version -n 3 -s -d --vnodes
+
+	ccm create test -v $version -n $clusterSize -s -d --vnodes
 	ccm status
 	ccm updateconf 'concurrent_reads: 8' 'concurrent_writes: 32' 'rpc_server_type: sync' 'rpc_min_threads: 2' 'rpc_max_threads: 8' 'write_request_timeout_in_ms: 5000' 'read_request_timeout_in_ms: 5000'
 
@@ -13,7 +15,7 @@ function run_tests() {
 		proto=1
 	fi
 
-	go test -v -proto=$proto -rf=3 -cluster=$(ccm liveset) ./...
+	go test -v -proto=$proto -rf=3 -cluster=$(ccm liveset) -clusterSize=$clusterSize ./...
 
 	ccm clear
 }