|
@@ -96,7 +96,7 @@ START_TEST(callKnownMethodOnUnknownObject) {
|
|
START_TEST(callMethodAndObjectExistsButMethodHasWrongNodeClass) {
|
|
START_TEST(callMethodAndObjectExistsButMethodHasWrongNodeClass) {
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
- callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_AUDITING); // not a method
|
|
|
|
|
|
+ callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_SERVERSTATUS); // not a method
|
|
callMethodRequest.objectId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER);
|
|
callMethodRequest.objectId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER);
|
|
|
|
|
|
UA_CallMethodResult result;
|
|
UA_CallMethodResult result;
|
|
@@ -106,6 +106,8 @@ START_TEST(callMethodAndObjectExistsButMethodHasWrongNodeClass) {
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(callMethodOnUnrelatedObject) {
|
|
START_TEST(callMethodOnUnrelatedObject) {
|
|
|
|
+ /* Minimal nodeset does not add any method nodes we may call here */
|
|
|
|
+#ifdef UA_GENERATED_NAMESPACE_ZERO
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS);
|
|
callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS);
|
|
@@ -115,6 +117,7 @@ START_TEST(callMethodOnUnrelatedObject) {
|
|
UA_CallMethodResult_init(&result);
|
|
UA_CallMethodResult_init(&result);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADMETHODINVALID);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADMETHODINVALID);
|
|
|
|
+#endif
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(callMethodAndObjectExistsButNoFunctionPointerAttached) {
|
|
START_TEST(callMethodAndObjectExistsButNoFunctionPointerAttached) {
|
|
@@ -142,6 +145,8 @@ START_TEST(callMethodNonExecutable) {
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(callMethodWithMissingArguments) {
|
|
START_TEST(callMethodWithMissingArguments) {
|
|
|
|
+/* Minimal nodeset does not add any method nodes we may call here */
|
|
|
|
+#ifdef UA_GENERATED_NAMESPACE_ZERO
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest callMethodRequest;
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
UA_CallMethodRequest_init(&callMethodRequest);
|
|
callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS);
|
|
callMethodRequest.methodId = UA_NODEID_NUMERIC(0, UA_NS0ID_SERVER_GETMONITOREDITEMS);
|
|
@@ -151,9 +156,12 @@ START_TEST(callMethodWithMissingArguments) {
|
|
UA_CallMethodResult_init(&result);
|
|
UA_CallMethodResult_init(&result);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADARGUMENTSMISSING);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADARGUMENTSMISSING);
|
|
|
|
+#endif
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(callMethodWithTooManyArguments) {
|
|
START_TEST(callMethodWithTooManyArguments) {
|
|
|
|
+/* Minimal nodeset does not add any method nodes we may call here */
|
|
|
|
+#ifdef UA_GENERATED_NAMESPACE_ZERO
|
|
UA_Variant inputArguments[2];
|
|
UA_Variant inputArguments[2];
|
|
UA_Variant_init(&inputArguments[0]);
|
|
UA_Variant_init(&inputArguments[0]);
|
|
UA_Variant_init(&inputArguments[1]);
|
|
UA_Variant_init(&inputArguments[1]);
|
|
@@ -169,9 +177,12 @@ START_TEST(callMethodWithTooManyArguments) {
|
|
UA_CallMethodResult_init(&result);
|
|
UA_CallMethodResult_init(&result);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADTOOMANYARGUMENTS);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADTOOMANYARGUMENTS);
|
|
|
|
+#endif
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
START_TEST(callMethodWithWronglyTypedArguments) {
|
|
START_TEST(callMethodWithWronglyTypedArguments) {
|
|
|
|
+/* Minimal nodeset does not add any method nodes we may call here */
|
|
|
|
+#ifdef UA_GENERATED_NAMESPACE_ZERO
|
|
UA_Variant inputArgument;
|
|
UA_Variant inputArgument;
|
|
UA_Variant_init(&inputArgument);
|
|
UA_Variant_init(&inputArgument);
|
|
UA_Double wrongType = 1.0;
|
|
UA_Double wrongType = 1.0;
|
|
@@ -188,10 +199,12 @@ START_TEST(callMethodWithWronglyTypedArguments) {
|
|
UA_CallMethodResult_init(&result);
|
|
UA_CallMethodResult_init(&result);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
result = UA_Server_call(server, &callMethodRequest);
|
|
|
|
|
|
|
|
+ ck_assert_int_gt(result.inputArgumentResultsSize, 0);
|
|
ck_assert_int_eq(result.inputArgumentResults[0], UA_STATUSCODE_BADTYPEMISMATCH);
|
|
ck_assert_int_eq(result.inputArgumentResults[0], UA_STATUSCODE_BADTYPEMISMATCH);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADINVALIDARGUMENT);
|
|
ck_assert_int_eq(result.statusCode, UA_STATUSCODE_BADINVALIDARGUMENT);
|
|
|
|
|
|
UA_Array_delete(result.inputArgumentResults, result.inputArgumentResultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]);
|
|
UA_Array_delete(result.inputArgumentResults, result.inputArgumentResultsSize, &UA_TYPES[UA_TYPES_STATUSCODE]);
|
|
|
|
+#endif
|
|
} END_TEST
|
|
} END_TEST
|
|
|
|
|
|
int main(void) {
|
|
int main(void) {
|