@@ -1029,3 +1029,41 @@ TEST_F(ClusterUnitTest, NoContactPoints) {
10291029 ASSERT_TRUE (connect_future->error ());
10301030 EXPECT_EQ (connect_future->error ()->code , CASS_ERROR_LIB_NO_HOSTS_AVAILABLE);
10311031}
1032+
1033+ TEST_F (ClusterUnitTest, PortIsAssignedDuringConnection) {
1034+ mockssandra::SimpleCluster cluster (simple (), 1 );
1035+ ASSERT_EQ (cluster.start_all (), 0 );
1036+
1037+ AddressVec contact_points;
1038+ contact_points.push_back (Address (" 127.0.0.1" , -1 ));
1039+
1040+ Future::Ptr connect_future (new Future ());
1041+ ClusterConnector::Ptr connector (
1042+ new ClusterConnector (contact_points, PROTOCOL_VERSION,
1043+ bind_callback (on_connection_reconnect, connect_future.get ())));
1044+
1045+ ClusterSettings settings; // Default port and metadata resolver
1046+ connector->with_settings (settings)->connect (event_loop ());
1047+
1048+ ASSERT_TRUE (connect_future->wait_for (WAIT_FOR_TIME));
1049+ EXPECT_FALSE (connect_future->error ());
1050+ }
1051+
1052+ TEST_F (ClusterUnitTest, HostIsResolvedAndPortIsAssignedDuringConnection) {
1053+ mockssandra::SimpleCluster cluster (simple (), 1 );
1054+ ASSERT_EQ (cluster.start_all (), 0 );
1055+
1056+ AddressVec contact_points;
1057+ contact_points.push_back (Address (" localhost" , -1 ));
1058+
1059+ Future::Ptr connect_future (new Future ());
1060+ ClusterConnector::Ptr connector (
1061+ new ClusterConnector (contact_points, PROTOCOL_VERSION,
1062+ bind_callback (on_connection_reconnect, connect_future.get ())));
1063+
1064+ ClusterSettings settings; // Default port and metadata resolver
1065+ connector->with_settings (settings)->connect (event_loop ());
1066+
1067+ ASSERT_TRUE (connect_future->wait_for (WAIT_FOR_TIME));
1068+ EXPECT_FALSE (connect_future->error ());
1069+ }
0 commit comments