@@ -17,11 +17,6 @@ struct F {
17
17
};
18
18
19
19
TEST_CASE_METHOD (F, " v2_method_noparams" , TEST_MODULE) {
20
- c.SetResult (true );
21
- clientV2.CallMethod <json>(" 000-000-000" , " some.method_1" , {});
22
- c.VerifyMethodRequest (version::v2, " some.method_1" , " 000-000-000" );
23
- CHECK (!has_key (c.request , " params" ));
24
-
25
20
c.SetResult (true );
26
21
clientV2.CallMethod <json>(" 000-000-000" , " some.method_1" );
27
22
c.VerifyMethodRequest (version::v2, " some.method_1" , " 000-000-000" );
@@ -30,14 +25,41 @@ TEST_CASE_METHOD(F, "v2_method_noparams", TEST_MODULE) {
30
25
31
26
TEST_CASE_METHOD (F, " v1_method_noparams" , TEST_MODULE) {
32
27
c.SetResult (true );
33
- clientV1.CallMethod <json>(37 , " some.method_1" , {} );
28
+ clientV1.CallMethod <json>(37 , " some.method_1" );
34
29
c.VerifyMethodRequest (version::v1, " some.method_1" , 37 );
35
30
CHECK (has_key_type (c.request , " params" , json::value_t ::null));
31
+ }
36
32
33
+ TEST_CASE_METHOD (F, " v2_method_call_params_empty" , TEST_MODULE) {
37
34
c.SetResult (true );
38
- clientV1.CallMethod <json>(37 , " some.method_1" );
39
- c.VerifyMethodRequest (version::v1, " some.method_1" , 37 );
40
- CHECK (has_key_type (c.request , " params" , json::value_t ::null));
35
+ clientV2.CallMethod <json>(" 1" , " some.method_1" , {});
36
+ c.VerifyMethodRequest (version::v2, " some.method_1" , " 1" );
37
+ CHECK (c.request [" params" ].is_array ());
38
+ CHECK (c.request [" params" ].empty ());
39
+ CHECK (c.request [" params" ].dump () == " []" );
40
+
41
+ c.SetResult (true );
42
+ clientV2.CallMethod <json>(" 1" , " some.method_1" , json::array ());
43
+ c.VerifyMethodRequest (version::v2, " some.method_1" , " 1" );
44
+ CHECK (c.request [" params" ].is_array ());
45
+ CHECK (c.request [" params" ].empty ());
46
+ CHECK (c.request [" params" ].dump () == " []" );
47
+ }
48
+
49
+ TEST_CASE_METHOD (F, " v1_method_call_params_empty" , TEST_MODULE) {
50
+ c.SetResult (true );
51
+ clientV1.CallMethod <json>(" 1" , " some.method_1" , {});
52
+ c.VerifyMethodRequest (version::v1, " some.method_1" , " 1" );
53
+ CHECK (c.request [" params" ].is_array ());
54
+ CHECK (c.request [" params" ].empty ());
55
+ CHECK (c.request [" params" ].dump () == " []" );
56
+
57
+ c.SetResult (true );
58
+ clientV1.CallMethod <json>(" 1" , " some.method_1" , json::array ());
59
+ c.VerifyMethodRequest (version::v1, " some.method_1" , " 1" );
60
+ CHECK (c.request [" params" ].is_array ());
61
+ CHECK (c.request [" params" ].empty ());
62
+ CHECK (c.request [" params" ].dump () == " []" );
41
63
}
42
64
43
65
TEST_CASE_METHOD (F, " v2_method_call_params_byname" , TEST_MODULE) {
@@ -256,4 +278,4 @@ TEST_CASE_METHOD(F, "v1_notification_call_params_byposition", TEST_MODULE) {
256
278
CHECK (c.request [" params" ][2 ] == true );
257
279
}
258
280
259
- // TODO: test cases with return type mapping and param mapping for v1/v2 method and notification
281
+ // TODO: test cases with return type mapping and param mapping for v1/v2 method and notification
0 commit comments