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}
--- /dev/null
+#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
--- /dev/null
+#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
#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);
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();