From: Bastian Dehn Date: Sun, 24 Mar 2024 13:14:26 +0000 (+0100) Subject: add mock file for client X-Git-Tag: v1.0.0^2~60 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=68fb0af9cb2ed217396ef1d77255b00eddecc804;p=sane-kds-s2000w-net.git add mock file for client --- diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 29e77ff..019f286 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -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 index 0000000..bfadd2f --- /dev/null +++ b/tests/kds_s2000w_client_mock.c @@ -0,0 +1,108 @@ +#include +#include +#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 index 0000000..ecfa413 --- /dev/null +++ b/tests/kds_s2000w_client_mock.h @@ -0,0 +1,19 @@ +#ifndef KDS_S2000W_CLIENT_MOCK_H +#define KDS_S2000W_CLIENT_MOCK_H +#include +#include +#include +#include +#include +#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 diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 9815cfb..f2b1087 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -2,23 +2,12 @@ #include #include #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();