@@ -1825,6 +1825,19 @@ TEST_F(BasicPnCounterAPITest, testGetAndDecrement)
1825
1825
ASSERT_EQ (0 , pnCounter->get ().get ());
1826
1826
}
1827
1827
1828
+ TEST_F (BasicPnCounterAPITest, testDecrementAndGet)
1829
+ {
1830
+ auto pnCounter =
1831
+ client
1832
+ ->get_pn_counter (
1833
+ testing::UnitTest::GetInstance ()->current_test_info ()->name ())
1834
+ .get ();
1835
+ ASSERT_EQ (1 , pnCounter->increment_and_get ().get ());
1836
+ ASSERT_EQ (0 , pnCounter->decrement_and_get ().get ());
1837
+ ASSERT_EQ (-1 , pnCounter->decrement_and_get ().get ());
1838
+ ASSERT_EQ (-1 , pnCounter->get ().get ());
1839
+ }
1840
+
1828
1841
TEST_F (BasicPnCounterAPITest, testGetAndSubtract)
1829
1842
{
1830
1843
auto pnCounter =
@@ -2330,6 +2343,38 @@ TEST_F(FlakeIdGeneratorApiTest, testSmoke)
2330
2343
// set than expected
2331
2344
ASSERT_EQ (4 * NUM_IDS_PER_THREAD, allIds.size ());
2332
2345
}
2346
+
2347
+ TEST_F (FlakeIdGeneratorApiTest, testAddGetFlakeIdGeneratorIntegrity)
2348
+ {
2349
+ client_config clientConfig = get_config ();
2350
+ config::client_flake_id_generator_config flakeIdConfig (" flake_config" ),
2351
+ flakeIdConfig2 (" flake_config_2" );
2352
+
2353
+ flakeIdConfig.set_prefetch_count (10 ).set_prefetch_validity_duration (
2354
+ std::chrono::seconds (20 ));
2355
+ clientConfig.add_flake_id_generator_config (flakeIdConfig);
2356
+
2357
+ const config::client_flake_id_generator_config* readed_flake_config =
2358
+ clientConfig.get_flake_id_generator_config (" flake_config" );
2359
+
2360
+ EXPECT_EQ (readed_flake_config->get_name (), " flake_config" );
2361
+ EXPECT_EQ (readed_flake_config->get_prefetch_count (), 10 );
2362
+ EXPECT_EQ (readed_flake_config->get_prefetch_validity_duration (),
2363
+ std::chrono::seconds (20 ));
2364
+
2365
+ flakeIdConfig2.set_prefetch_count (20 ).set_prefetch_validity_duration (
2366
+ std::chrono::seconds (30 ));
2367
+
2368
+ clientConfig.add_flake_id_generator_config (flakeIdConfig2);
2369
+ readed_flake_config =
2370
+ clientConfig.get_flake_id_generator_config (" flake_config_2" );
2371
+
2372
+ EXPECT_EQ (readed_flake_config->get_name (), " flake_config_2" );
2373
+ EXPECT_EQ (readed_flake_config->get_prefetch_count (), 20 );
2374
+ EXPECT_EQ (readed_flake_config->get_prefetch_validity_duration (),
2375
+ std::chrono::seconds (30 ));
2376
+ }
2377
+
2333
2378
} // namespace test
2334
2379
} // namespace client
2335
2380
} // namespace hazelcast
@@ -2740,6 +2785,20 @@ TEST_F(ClientTxnMapTest, testIsEmpty)
2740
2785
auto regularMap = client_.get_map (name).get ();
2741
2786
ASSERT_FALSE (regularMap->is_empty ().get ());
2742
2787
}
2788
+
2789
+ TEST_F (ClientTxnMapTest, testServiceNameAndDestroy)
2790
+ {
2791
+ transaction_context context = client_.new_transaction_context ();
2792
+ context.begin_transaction ().get ();
2793
+
2794
+ auto map = context.get_map (get_test_name ());
2795
+
2796
+ ASSERT_EQ (map->get_service_name (), " hz:impl:mapService" );
2797
+
2798
+ // added for test coverage
2799
+ ASSERT_NO_THROW (map->destroy ().get ());
2800
+ }
2801
+
2743
2802
} // namespace test
2744
2803
} // namespace client
2745
2804
} // namespace hazelcast
@@ -2784,6 +2843,19 @@ TEST_F(ClientTxnSetTest, testAddRemove)
2784
2843
2785
2844
ASSERT_EQ (1 , s->size ().get ());
2786
2845
}
2846
+
2847
+ TEST_F (ClientTxnSetTest, testServiceNameAndDestroy)
2848
+ {
2849
+ transaction_context context = client_.new_transaction_context ();
2850
+ context.begin_transaction ().get ();
2851
+
2852
+ auto set = context.get_set (get_test_name ());
2853
+
2854
+ ASSERT_EQ (set->get_service_name (), " hz:impl:setService" );
2855
+ // added for test coverage
2856
+ ASSERT_NO_THROW (set->destroy ().get ());
2857
+ }
2858
+
2787
2859
} // namespace test
2788
2860
} // namespace client
2789
2861
} // namespace hazelcast
@@ -3004,6 +3076,63 @@ TEST_F(ClientTxnTest, testTxnRollbackOnServerCrash)
3004
3076
<< " queue poll should return null" ;
3005
3077
ASSERT_EQ (0 , q->size ().get ());
3006
3078
}
3079
+
3080
+ TEST_F (ClientTxnTest, testTxnInitAndNextMethod)
3081
+ {
3082
+ client_config clientConfig = get_config ();
3083
+ boost::latch init_latch (1 );
3084
+
3085
+ load_balancer tmp_load_balancer;
3086
+ tmp_load_balancer
3087
+ .init ([&init_latch](cluster& c) { init_latch.count_down (); })
3088
+ .next ([](cluster& c) {
3089
+ std::vector<member> members = c.get_members ();
3090
+ size_t len = members.size ();
3091
+ if (len == 0 ) {
3092
+ return boost::optional<member>();
3093
+ }
3094
+ for (size_t i = 0 ; i < len; i++) {
3095
+ if (members[i].get_address ().get_port () == 5701 ) {
3096
+ return boost::make_optional<member>(std::move (members[i]));
3097
+ }
3098
+ }
3099
+ return boost::make_optional<member>(std::move (members[0 ]));
3100
+ });
3101
+
3102
+ clientConfig.set_load_balancer (std::move (tmp_load_balancer));
3103
+ client_.reset (
3104
+ new hazelcast_client{ new_client (std::move (clientConfig)).get () });
3105
+
3106
+ ASSERT_OPEN_EVENTUALLY (init_latch);
3107
+ }
3108
+
3109
+ TEST_F (ClientTxnTest, testTxnInitAndNextMethodRValue)
3110
+ {
3111
+ client_config clientConfig = get_config ();
3112
+ boost::latch init_latch (1 );
3113
+
3114
+ clientConfig.set_load_balancer (
3115
+ load_balancer ()
3116
+ .init ([&init_latch](cluster& c) { init_latch.count_down (); })
3117
+ .next ([](cluster& c) {
3118
+ std::vector<member> members = c.get_members ();
3119
+ size_t len = members.size ();
3120
+ if (len == 0 ) {
3121
+ return boost::optional<member>();
3122
+ }
3123
+ for (size_t i = 0 ; i < len; i++) {
3124
+ if (members[i].get_address ().get_port () == 5701 ) {
3125
+ return boost::make_optional<member>(std::move (members[i]));
3126
+ }
3127
+ }
3128
+ return boost::make_optional<member>(std::move (members[0 ]));
3129
+ }));
3130
+ client_.reset (
3131
+ new hazelcast_client{ new_client (std::move (clientConfig)).get () });
3132
+
3133
+ ASSERT_OPEN_EVENTUALLY (init_latch);
3134
+ }
3135
+
3007
3136
} // namespace test
3008
3137
} // namespace client
3009
3138
} // namespace hazelcast
@@ -3050,6 +3179,19 @@ TEST_F(ClientTxnListTest, testAddRemove)
3050
3179
3051
3180
ASSERT_EQ (1 , l->size ().get ());
3052
3181
}
3182
+
3183
+ TEST_F (ClientTxnListTest, testServiceNameAndDestroy)
3184
+ {
3185
+ transaction_context context = client_.new_transaction_context ();
3186
+ context.begin_transaction ().get ();
3187
+
3188
+ auto list = context.get_list (get_test_name ());
3189
+
3190
+ ASSERT_EQ (list->get_service_name (), " hz:impl:listService" );
3191
+ // added for test coverage
3192
+ ASSERT_NO_THROW (list->destroy ().get ());
3193
+ }
3194
+
3053
3195
} // namespace test
3054
3196
} // namespace client
3055
3197
} // namespace hazelcast
@@ -3141,6 +3283,19 @@ TEST_F(ClientTxnMultiMapTest, testPutGetRemove)
3141
3283
3142
3284
boost::wait_for_all (futures.begin (), futures.end ());
3143
3285
}
3286
+
3287
+ TEST_F (ClientTxnMultiMapTest, testServiceNameAndDestroy)
3288
+ {
3289
+ transaction_context context = client_.new_transaction_context ();
3290
+ context.begin_transaction ().get ();
3291
+
3292
+ auto multi_map = context.get_multi_map (get_test_name ());
3293
+
3294
+ ASSERT_EQ (multi_map->get_service_name (), " hz:impl:multiMapService" );
3295
+ // added for test coverage
3296
+ ASSERT_NO_THROW (multi_map->destroy ().get ());
3297
+ }
3298
+
3144
3299
} // namespace test
3145
3300
} // namespace client
3146
3301
} // namespace hazelcast
@@ -3684,4 +3839,4 @@ TEST_F(HttpsClientTest, testConnectToGithub)
3684
3839
3685
3840
#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
3686
3841
#pragma warning(pop)
3687
- #endif
3842
+ #endif
0 commit comments