]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add setup and teardown for start
authorBastian Dehn <hhaalo@arcor.de>
Sun, 24 Mar 2024 18:45:29 +0000 (19:45 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 24 Mar 2024 18:45:29 +0000 (19:45 +0100)
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests_run.c

index 6dab9fe34b0c2d685e6dacfbe1beb31e1373068c..175c7903cb136abebffb306a0484792e2cf860bb 100644 (file)
@@ -497,11 +497,10 @@ void sane_kds_s2000w_net_start_cancel()
        h = NULL;
 }
 
-void sane_kds_s2000w_net_start()
+void sane_kds_s2000w_net_start(void** state)
 {
-       response* resp_start = kds_s2000w_client_response_init();
-       resp_start->code = 200;
-       will_return(mock_response, resp_start);
+       response** response_list = (response**) *state;
+       will_return(mock_response, response_list[0]);
        will_return(__wrap_kds_s2000w_client_start_scan, 0);
        response* resp_status = kds_s2000w_client_response_init();
        resp_status->data = realloc(resp_status->data, 205);
@@ -520,30 +519,11 @@ void sane_kds_s2000w_net_start()
        resp_status->size = 205;
        will_return(mock_response, resp_status);
        will_return(__wrap_kds_s2000w_client_status_session, 0);
-       response* resp_get_image = kds_s2000w_client_response_init();
-       resp_get_image->code = 200;
-       resp_get_image->size = 0;
-       will_return(mock_response, resp_get_image);
+       will_return(mock_response, response_list[1]);
        will_return(__wrap_kds_s2000w_client_get_image, 0);
-       response* metadata_response = kds_s2000w_client_response_init();
-       metadata_response->data = realloc(metadata_response->data, 107);
-       const char* metadata = "{\
-               \"Metadata\": {\
-                       \"BitDepth\": 8, \
-                       \"ImageSize\": 1, \
-                       \"ImageWidth\": 1000, \
-                       \"ImageHeight\": 1000, \
-               }\
-       }\0";
-       memcpy(metadata_response->data, metadata, 107);
-       metadata_response->code = 200;
-       metadata_response->size = 107;
-       will_return(mock_response, metadata_response);
+       will_return(mock_response, response_list[2]);
        will_return(__wrap_kds_s2000w_client_get_metadata, 0);
-       response* delete_response = kds_s2000w_client_response_init();
-       delete_response->code = 200;
-       delete_response->size = 0;
-       will_return(mock_response, delete_response);
+       will_return(mock_response, response_list[3]);
        will_return(__wrap_kds_s2000w_client_delete_image, 0);
        handler* h = init_handler();
        const char* test_config = "{\"Configuration\": { \"ColorMode\": \"Color\" } }";
@@ -562,16 +542,8 @@ void sane_kds_s2000w_net_start()
 
        json_object_put(h->current_scanner_config);
        h->current_scanner_config = NULL;
-       kds_s2000w_client_response_free(resp_start);
-       resp_start = NULL;
        kds_s2000w_client_response_free(resp_status);
        resp_status = NULL;
-       kds_s2000w_client_response_free(resp_get_image);
-       resp_get_image = NULL;
-       kds_s2000w_client_response_free(metadata_response);
-       metadata_response = NULL;
-       kds_s2000w_client_response_free(delete_response);
-       delete_response = NULL;
        free_handler(h);
        h = NULL;
 }
index 6a49fafa4197688afb14c5e6772041bb9cdb8a0a..b2d7b2792a6e7d1a8aaf91b316c75b54bc3198c5 100644 (file)
@@ -57,6 +57,48 @@ int teardown_default_get_option(void** state)
        return 0;
 }
 
+int setup_net_start(void** state)
+{
+       response** response_list = malloc(sizeof(response*) * 5);
+       response_list[0] = kds_s2000w_client_response_init();
+       response_list[0]->code = 200;
+       response_list[1] = kds_s2000w_client_response_init();
+       response_list[1]->code = 200;
+       response_list[2] = kds_s2000w_client_response_init();
+       response_list[2]->data = realloc(response_list[2]->data, 107);
+       const char* metadata = "{\
+               \"Metadata\": {\
+                       \"BitDepth\": 8, \
+                       \"ImageSize\": 1, \
+                       \"ImageWidth\": 1000, \
+                       \"ImageHeight\": 1000, \
+               }\
+       }\0";
+       memcpy(response_list[2]->data, metadata, 107);
+       response_list[2]->code = 200;
+       response_list[2]->size = 107;
+       response_list[3] = kds_s2000w_client_response_init();
+       response_list[3]->code = 200;
+       response_list[4] = NULL;
+       *state = response_list;
+
+       return 0;
+}
+
+int teardown_net_start(void** state)
+{
+       response** respons_list = (response**) *state;
+       for (int i = 0; respons_list[i] != NULL; i++) {
+               kds_s2000w_client_response_free(respons_list[i]);
+               respons_list[i] = NULL;
+       }
+
+       free(respons_list);
+       respons_list = NULL;
+
+       return 0;
+}
+
 int main()
 {
        const struct CMUnitTest net_tests[] = {
@@ -88,7 +130,7 @@ int main()
                cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_control_get_option_twentyone, setup_default_get_option, teardown_default_get_option),
                cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_control_get_option_twentytwo, setup_default_get_option, teardown_default_get_option),
                cmocka_unit_test(sane_kds_s2000w_net_start_cancel),
-               cmocka_unit_test(sane_kds_s2000w_net_start),
+               cmocka_unit_test_setup_teardown(sane_kds_s2000w_net_start, setup_net_start, teardown_net_start),
                cmocka_unit_test(sane_kds_s2000w_net_get_parameter_cancel),
                cmocka_unit_test(sane_kds_s2000w_net_cancel),
                cmocka_unit_test(sane_kds_s2000w_net_open)