From: Bastian Dehn Date: Fri, 27 Dec 2024 15:23:22 +0000 (+0100) Subject: add test fro completed flatbed X-Git-Tag: v1.0.16^2~4 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=929888ac3890b6fc1dd73b65b6bc2e173a79391a;p=sane-kds-s2000w-net.git add test fro completed flatbed --- diff --git a/tests/kds_s2000w_net_tests.c b/tests/kds_s2000w_net_tests.c index 20e7a87..caa47f0 100644 --- a/tests/kds_s2000w_net_tests.c +++ b/tests/kds_s2000w_net_tests.c @@ -492,6 +492,60 @@ void sane_kds_s2000w_net_cancel_completed_scan_feeder() h = NULL; } +void sane_kds_s2000w_net_cancel_completed_scan_flatbed() +{ + response* resp_status = kds_s2000w_client_response_init(); + resp_status->data = realloc(resp_status->data, 205); + const char* status = "{ \ + \"Status\": { \ + \"NumImagesScanned\": 2, \ + \"NumImagesStored\": 0, \ + \"State\": \"Scanning\", \ + \"ErrorNum\": 0, \ + \"LastError\": \"Status: 200 Success\", \ + \"PaperDetected\": \"0\", \ + \"PercentAvailable\": 99 \ + }}\0"; + memcpy(resp_status->data, status, 205); + resp_status->code = 200; + resp_status->size = 205; + will_return(mock_response, resp_status); + will_return(__wrap_kds_s2000w_client_status_session, 0); + response* resp_session = kds_s2000w_client_response_init(); + resp_session->data = realloc(resp_session->data, 28); + const char* responsedata = "{\"SessionId\":\"1251877821\"}\0"; + memcpy(resp_session->data, responsedata, 28); + resp_session->code = 200; + resp_session->size = 28; + will_return(mock_response, resp_session); + will_return(__wrap_kds_s2000w_client_open_session, 0); + response* resp_options = kds_s2000w_client_response_init(); + resp_options->code = 200; + resp_options->size = 0; + will_return(mock_response, resp_options); + will_return(__wrap_kds_s2000w_client_set_option, 0); + expect_function_call(__wrap_kds_s2000w_client_status_session); + expect_function_call(__wrap_kds_s2000w_client_close_session); + expect_function_call(__wrap_kds_s2000w_client_open_session); + expect_function_call(__wrap_kds_s2000w_client_set_option); + + handler* h = init_handler(); + + _sane_kds_s2000w_net_cancel(h); + + assert_int_equal(h->read_info->cancel, 0); + assert_int_equal(h->current_scan_status->complete_scanned, 0); + + kds_s2000w_client_response_free(resp_status); + resp_status = NULL; + kds_s2000w_client_response_free(resp_session); + resp_session = NULL; + kds_s2000w_client_response_free(resp_options); + resp_options = NULL; + free_handler(h); + h = NULL; +} + void sane_kds_s2000w_net_open() { response* resp = kds_s2000w_client_response_init(); diff --git a/tests/kds_s2000w_net_tests.h b/tests/kds_s2000w_net_tests.h index e1e94e9..9cdbb4b 100644 --- a/tests/kds_s2000w_net_tests.h +++ b/tests/kds_s2000w_net_tests.h @@ -12,6 +12,7 @@ void kds_s2000w_net_get_devices_only_remote(); void kds_s2000w_net_set_io_mode(); void kds_s2000w_net_get_select_fd(); void sane_kds_s2000w_net_start_cancel(); +void sane_kds_s2000w_net_cancel_completed_scan_flatbed(); void sane_kds_s2000w_net_start(void** state); void sane_kds_s2000w_net_start_one_page_per_flatscan(void** state); void sane_kds_s2000w_net_start_one_page_per_feeder(void** state); diff --git a/tests/kds_s2000w_net_tests_run.c b/tests/kds_s2000w_net_tests_run.c index 9883245..ef94cec 100644 --- a/tests/kds_s2000w_net_tests_run.c +++ b/tests/kds_s2000w_net_tests_run.c @@ -71,6 +71,7 @@ int main() cmocka_unit_test(sane_kds_s2000w_net_start_cancel), cmocka_unit_test(sane_kds_s2000w_net_cancel), cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_feeder), + cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_flatbed), cmocka_unit_test(sane_kds_s2000w_net_open), cmocka_unit_test(sane_kds_s2000w_net_open_busy_device), cmocka_unit_test(sane_kds_s2000w_net_open_invalid),