diff options
author | Alan Conway <aconway@apache.org> | 2009-11-18 17:26:43 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-11-18 17:26:43 +0000 |
commit | 1674d80b61862e1054140c96f5db9eb401b11f11 (patch) | |
tree | 1169853cb8f8376d7ebb078d28b2e76523302742 /cpp/src/tests/InitialStatusMap.cpp | |
parent | bd3cae3b5691436369b4c37a570c766c1e8aafd2 (diff) | |
download | qpid-python-1674d80b61862e1054140c96f5db9eb401b11f11.tar.gz |
Added cluster option --cluster-size.
--cluster-size=N means that during start-up the cluster waits to have N members
before accepting any clients.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@881839 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/InitialStatusMap.cpp')
-rw-r--r-- | cpp/src/tests/InitialStatusMap.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/cpp/src/tests/InitialStatusMap.cpp b/cpp/src/tests/InitialStatusMap.cpp index 70b077b695..c3587965e5 100644 --- a/cpp/src/tests/InitialStatusMap.cpp +++ b/cpp/src/tests/InitialStatusMap.cpp @@ -40,7 +40,7 @@ Status newcomerStatus(const Uuid& id=Uuid()) { return Status(ProtocolVersion(), QPID_AUTO_TEST_CASE(testFirstInCluster) { // Single member is first in cluster. - InitialStatusMap map(MemberId(0)); + InitialStatusMap map(MemberId(0), 1); Uuid id(true); BOOST_CHECK(!map.isComplete()); MemberSet members = list_of(MemberId(0)); @@ -56,7 +56,7 @@ QPID_AUTO_TEST_CASE(testFirstInCluster) { QPID_AUTO_TEST_CASE(testJoinExistingCluster) { // Single member 0 joins existing cluster 1,2 - InitialStatusMap map(MemberId(0)); + InitialStatusMap map(MemberId(0), 1); Uuid id(true); MemberSet members = list_of(MemberId(0))(MemberId(1))(MemberId(2)); map.configChange(members); @@ -79,7 +79,7 @@ QPID_AUTO_TEST_CASE(testJoinExistingCluster) { QPID_AUTO_TEST_CASE(testMultipleFirstInCluster) { // Multiple members 0,1,2 join at same time. - InitialStatusMap map(MemberId(1)); // self is 1 + InitialStatusMap map(MemberId(1), 1); // self is 1 Uuid id(true); MemberSet members = list_of(MemberId(0))(MemberId(1))(MemberId(2)); map.configChange(members); @@ -99,7 +99,7 @@ QPID_AUTO_TEST_CASE(testMultipleFirstInCluster) { QPID_AUTO_TEST_CASE(testMultipleJoinExisting) { // Multiple members 1,2,3 join existing cluster containing 0. - InitialStatusMap map(MemberId(2)); // self is 2 + InitialStatusMap map(MemberId(2), 1); // self is 2 Uuid id(true); MemberSet members = list_of(MemberId(0))(MemberId(1))(MemberId(2))(MemberId(3)); map.configChange(members); @@ -119,7 +119,7 @@ QPID_AUTO_TEST_CASE(testMultipleJoinExisting) { QPID_AUTO_TEST_CASE(testMembersLeave) { // Test that map completes if members leave rather than send status. - InitialStatusMap map(MemberId(0)); + InitialStatusMap map(MemberId(0), 1); Uuid id(true); map.configChange(list_of(MemberId(0))(MemberId(1))(MemberId(2))); map.received(MemberId(0), newcomerStatus()); @@ -134,7 +134,7 @@ QPID_AUTO_TEST_CASE(testMembersLeave) { QPID_AUTO_TEST_CASE(testInteveningConfig) { // Multiple config changes arrives before we complete the map. - InitialStatusMap map(MemberId(0)); + InitialStatusMap map(MemberId(0), 1); Uuid id(true); map.configChange(list_of<MemberId>(0)(1)); @@ -159,6 +159,20 @@ QPID_AUTO_TEST_CASE(testInteveningConfig) { BOOST_CHECK_EQUAL(map.getClusterId(), id); } +QPID_AUTO_TEST_CASE(testInitialSize) { + InitialStatusMap map(MemberId(0), 3); + map.configChange(list_of<MemberId>(0)(1)); + map.received(MemberId(0), newcomerStatus()); + map.received(MemberId(1), newcomerStatus()); + BOOST_CHECK(!map.isComplete()); + + map.configChange(list_of<MemberId>(0)(1)(2)); + map.received(MemberId(0), newcomerStatus()); + map.received(MemberId(1), newcomerStatus()); + map.received(MemberId(2), newcomerStatus()); + BOOST_CHECK(map.isComplete()); +} + QPID_AUTO_TEST_SUITE_END() }} // namespace qpid::tests |