]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add mock file for client
authorBastian Dehn <hhaalo@arcor.de>
Sun, 24 Mar 2024 13:14:26 +0000 (14:14 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 24 Mar 2024 13:14:26 +0000 (14:14 +0100)
tests/CMakeLists.txt
tests/kds_s2000w_client_mock.c [new file with mode: 0644]
tests/kds_s2000w_client_mock.h [new file with mode: 0644]
tests/kds_s2000w_net_tests.c

index 29e77ff44d1bf7dd94356545fd0c0a9c99eeb25b..019f2860099cfc4535b8a03c94dab44d52d31201 100644 (file)
@@ -14,7 +14,8 @@ TARGET_LINK_LIBRARIES("kds_s2000w_net_read_tests_run"
 
 ADD_EXECUTABLE("kds_s2000w_net_tests_run"
        "kds_s2000w_net_tests_run.c"
-       "kds_s2000w_net_tests.c")
+       "kds_s2000w_net_tests.c"
+       "kds_s2000w_client_mock.c")
 ADD_DEPENDENCIES("kds_s2000w_net_tests_run" sane-kds_s2000w_net)
 TARGET_LINK_LIBRARIES("kds_s2000w_net_tests_run"
        ${CMOCKA_LIBRARY}
diff --git a/tests/kds_s2000w_client_mock.c b/tests/kds_s2000w_client_mock.c
new file mode 100644 (file)
index 0000000..bfadd2f
--- /dev/null
@@ -0,0 +1,108 @@
+#include <stdlib.h>
+#include <string.h>
+#include "kds_s2000w_client_mock.h"
+
+void mock_response(response* resp)
+{
+       response* mock_resp = mock_type(response*);
+       if (mock_resp->size > 0) {
+               resp->data = realloc(resp->data, mock_resp->size);
+               memcpy(resp->data, mock_resp->data, mock_resp->size);
+       }
+       resp->code = mock_resp->code;
+       resp->size = mock_resp->size;
+}
+
+int __wrap_kds_s2000w_client_get_option(int64_t sessionid, response* response)
+{
+       response->data = realloc(response->data, 919);
+       const char* responsedata = "{ \
+               \"Status\": { \
+                       \"NumImagesScanned\": 0, \
+                       \"NumImagesStored\": 0, \
+                       \"State\": \"In Session\", \
+                       \"ErrorNum\": 0, \
+                       \"LastError\": \"Status: 200 Success\", \
+                       \"PaperDetected\": \"0\", \
+                       \"PercentAvailable\": 99 \
+               }, \
+               \"Configuration\": { \
+                       \"DPI\": 200, \
+                       \"ScanSide\": \"Duplex\", \
+                       \"ColorMode\": \"Color\", \
+                       \"SkipBlankPages\": 0, \
+                       \"AutoStart\": 0, \
+                       \"ColorDropOut\": \"None\", \
+                       \"ColorDropOutAggressiveness\": 0, \
+                       \"OutputType\": \"Images\", \
+                       \"ColorAutoBrightnessMode\": \"Automatic\", \
+                       \"ColorBalanceMode\": \"Automatic\", \
+                       \"ColorBalanceAggressiveness\": 0, \
+                       \"ColorBalanceRed\": 0, \
+                       \"ColorBalanceGreen\": 0, \
+                       \"ColorBalanceBlue\": 0, \
+                       \"ForegroundBoldnessMode\": \"None\", \
+                       \"ForegroundBoldnessAggressiveness\": 0, \
+                       \"BackgroundSmoothingMode\": \"None\", \
+                       \"BackgroundSmoothingAggressiveness\": 0, \
+                       \"BinarizationMode\": \"iThresholding\", \
+                       \"BinarizationContrast\": 0, \
+                       \"MaxDocumentLength\": 140, \
+                       \"ScanSource\": \"DocumentFeeder\" \
+               } \
+       }\0";
+
+       memcpy(response->data, responsedata, 919);
+
+       response->code = 200;
+       response->size = sizeof(response->data);
+
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response)
+{
+       mock_response(response);
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response)
+{
+       mock_response(response);
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response)
+{
+       mock_response(response);
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response)
+{
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response)
+{
+       mock_response(response);
+       return mock_type(int);
+}
+
+int __wrap_kds_s2000w_client_open_session(response* response)
+{
+       response->data = realloc(response->data, 28);
+       const char* responsedata = "{\"SessionId\":\"1251877821\"}\0";
+
+       memcpy(response->data, responsedata, 28);
+
+       response->code = 200;
+       response->size = sizeof(response->data);
+
+       return mock_type(int);
+}
\ No newline at end of file
diff --git a/tests/kds_s2000w_client_mock.h b/tests/kds_s2000w_client_mock.h
new file mode 100644 (file)
index 0000000..ecfa413
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef KDS_S2000W_CLIENT_MOCK_H
+#define KDS_S2000W_CLIENT_MOCK_H
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <setjmp.h>
+#include <cmocka.h>
+#include "../src/kds_s2000w_client.h"
+
+int __wrap_kds_s2000w_client_get_option(int64_t sessionid, response* response);
+int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response);
+int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response);
+int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response);
+int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response);
+int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response);
+int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response);
+int __wrap_kds_s2000w_client_open_session(response* response);
+
+#endif
\ No newline at end of file
index 9815cfbcf34c3c02e7b740d114f495d3bd665ece..f2b108739d564870570c1a39cbcf5ee91646464b 100644 (file)
@@ -2,23 +2,12 @@
 #include <sane/sane.h>
 #include <string.h>
 #include "kds_s2000w_net_tests.h"
+#include "kds_s2000w_client_mock.h"
 #include "../src/kds_s2000w_config.h"
-#include "../src/kds_s2000w_client.h"
 #include "../src/kds_s2000w_net.h"
 #include "../src/kds_s2000w_handler.h"
 #include "../src/kds_s2000w_image_converter.h"
 
-void mock_response(response* resp)
-{
-       response* mock_resp = mock_type(response*);
-       if (mock_resp->size > 0) {
-               resp->data = realloc(resp->data, mock_resp->size);
-               memcpy(resp->data, mock_resp->data, mock_resp->size);
-       }
-       resp->code = mock_resp->code;
-       resp->size = mock_resp->size;
-}
-
 void __wrap_load_config(program_config* config, const char* config_stream)
 {
        config->scanner_url = malloc(sizeof(char) * 28);
@@ -28,105 +17,11 @@ void __wrap_load_config(program_config* config, const char* config_stream)
        config->username = "Max\0";
 }
 
-int __wrap_kds_s2000w_client_get_option(int64_t sessionid, response* response)
-{
-       response->data = realloc(response->data, 919);
-       const char* responsedata = "{ \
-               \"Status\": { \
-                       \"NumImagesScanned\": 0, \
-                       \"NumImagesStored\": 0, \
-                       \"State\": \"In Session\", \
-                       \"ErrorNum\": 0, \
-                       \"LastError\": \"Status: 200 Success\", \
-                       \"PaperDetected\": \"0\", \
-                       \"PercentAvailable\": 99 \
-               }, \
-               \"Configuration\": { \
-                       \"DPI\": 200, \
-                       \"ScanSide\": \"Duplex\", \
-                       \"ColorMode\": \"Color\", \
-                       \"SkipBlankPages\": 0, \
-                       \"AutoStart\": 0, \
-                       \"ColorDropOut\": \"None\", \
-                       \"ColorDropOutAggressiveness\": 0, \
-                       \"OutputType\": \"Images\", \
-                       \"ColorAutoBrightnessMode\": \"Automatic\", \
-                       \"ColorBalanceMode\": \"Automatic\", \
-                       \"ColorBalanceAggressiveness\": 0, \
-                       \"ColorBalanceRed\": 0, \
-                       \"ColorBalanceGreen\": 0, \
-                       \"ColorBalanceBlue\": 0, \
-                       \"ForegroundBoldnessMode\": \"None\", \
-                       \"ForegroundBoldnessAggressiveness\": 0, \
-                       \"BackgroundSmoothingMode\": \"None\", \
-                       \"BackgroundSmoothingAggressiveness\": 0, \
-                       \"BinarizationMode\": \"iThresholding\", \
-                       \"BinarizationContrast\": 0, \
-                       \"MaxDocumentLength\": 140, \
-                       \"ScanSource\": \"DocumentFeeder\" \
-               } \
-       }\0";
-
-       memcpy(response->data, responsedata, 919);
-
-       response->code = 200;
-       response->size = sizeof(response->data);
-
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_stop_scan(int64_t sessionid, response* response)
-{
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_status_session(int64_t sessionid, response* response)
-{
-       mock_response(response);
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response)
-{
-       mock_response(response);
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response)
-{
-       mock_response(response);
-       return mock_type(int);
-}
-
 void __wrap_kds_s2000w_convert_jpg_to_pnm(blobdata* in, blobdata* out)
 {
        return;
 }
 
-int __wrap_kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* response)
-{
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_start_scan(int64_t sessionid, response* response)
-{
-       mock_response(response);
-       return mock_type(int);
-}
-
-int __wrap_kds_s2000w_client_open_session(response* response)
-{
-       response->data = realloc(response->data, 28);
-       const char* responsedata = "{\"SessionId\":\"1251877821\"}\0";
-
-       memcpy(response->data, responsedata, 28);
-
-       response->code = 200;
-       response->size = sizeof(response->data);
-
-       return mock_type(int);
-}
-
 void kds_s2000w_net_get_parameters_with_image_data()
 {
        handler* h = init_handler();