diff options
author | Janusz Kozerski <j.kozerski@samsung.com> | 2015-09-11 16:45:09 +0200 |
---|---|---|
committer | Janusz Kozerski <j.kozerski@samsung.com> | 2015-09-14 09:24:22 +0200 |
commit | 7871c1f106e6c11503b4a2a6f7bbbd876d2ec1fc (patch) | |
tree | 318de358edf74ac189f89d95994362a8ee61f1f8 /tests | |
parent | 8fc0b8fc2a814035dc9cf8c7e211dc3a8f74d11b (diff) | |
download | cert-checker-7871c1f106e6c11503b4a2a6f7bbbd876d2ec1fc.tar.gz cert-checker-7871c1f106e6c11503b4a2a6f7bbbd876d2ec1fc.tar.bz2 cert-checker-7871c1f106e6c11503b4a2a6f7bbbd876d2ec1fc.zip |
Add missing code for logic tests
Change-Id: Iaa411b52647f2348024b1e8d100d678f89a48c5f
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 26 | ||||
-rw-r--r-- | tests/logic_.cpp | 19 | ||||
-rw-r--r-- | tests/logic_.h | 1 | ||||
-rw-r--r-- | tests/stubs_.cpp | 130 |
4 files changed, 174 insertions, 2 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 62800da..ef836cd 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -54,6 +54,23 @@ SET(CERT_CHECKER_TESTS_SOURCES ${CERT_CHECKER_SRC_PATH}/db/sql_query.cpp ) +SET(CERT_CHECKER_TESTS_LOGIC_SOURCES + # tests + ${CERT_CHECKER_TESTS_SRC_PATH}/main.cpp + ${CERT_CHECKER_TESTS_SRC_PATH}/colour_log_formatter.cpp + ${CERT_CHECKER_TESTS_SRC_PATH}/test_logic.cpp + ${CERT_CHECKER_TESTS_SRC_PATH}/logic_.cpp + ${CERT_CHECKER_TESTS_SRC_PATH}/stubs_.cpp + # cert-checker + ${CERT_CHECKER_SRC_PATH}/logic.cpp + ${CERT_CHECKER_SRC_PATH}/app.cpp + ${CERT_CHECKER_SRC_PATH}/queue.cpp + # logs + ${CERT_CHECKER_SRC_PATH}/log/log.cpp + # dpl + ${CERT_CHECKER_SRC_PATH}/dpl/core/src/colors.cpp +) + SET(CERT_CHECKER_POPUP_TEST_SOURCES # tests ${CERT_CHECKER_TESTS_SRC_PATH}/popup_test.cpp @@ -73,6 +90,7 @@ INCLUDE_DIRECTORIES(SYSTEM ) ADD_EXECUTABLE(${TARGET_CERT_CHECKER_TESTS} ${CERT_CHECKER_TESTS_SOURCES}) +ADD_EXECUTABLE(${TARGET_CERT_CHECKER_TESTS_LOGIC} ${CERT_CHECKER_TESTS_LOGIC_SOURCES}) ADD_EXECUTABLE(${TARGET_CERT_CHECKER_POPUP_TEST} ${CERT_CHECKER_POPUP_TEST_SOURCES}) TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS} @@ -82,6 +100,13 @@ TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS} -ldl ) +TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS_LOGIC} + ${CERT_CHECKER_TESTS_DEP_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + boost_unit_test_framework + -ldl + ) + TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_POPUP_TEST} ${CERT_CHECKER_TESTS_DEP_LIBRARIES} -ldl @@ -104,4 +129,5 @@ INSTALL(FILES DESTINATION ${TEST_APP_SIGNATURES_DIR}/app4/) INSTALL(TARGETS ${TARGET_CERT_CHECKER_TESTS} DESTINATION ${BINDIR}) +INSTALL(TARGETS ${TARGET_CERT_CHECKER_TESTS_LOGIC} DESTINATION ${BINDIR}) INSTALL(TARGETS ${TARGET_CERT_CHECKER_POPUP_TEST} DESTINATION ${BINDIR}) diff --git a/tests/logic_.cpp b/tests/logic_.cpp index 17dc0bb..0259bd6 100644 --- a/tests/logic_.cpp +++ b/tests/logic_.cpp @@ -44,8 +44,23 @@ Logic_::~Logic_(void) { clean(); } - -// For tests only +void Logic_::clean(void) +{ + LogDebug("Cert-checker cleaning."); + + // wait and join processing thread + if (m_thread.joinable()) { + LogDebug("Waiting for join processing thread"); + { + std::lock_guard < std::mutex > lock(m_mutex_cv); + set_should_exit(); + m_to_process.notify_one(); + } + m_thread.join(); + LogDebug("Processing thread joined"); + } else + LogDebug("No thread to join"); +} void Logic_::connman_callback_manual_(bool state) { diff --git a/tests/logic_.h b/tests/logic_.h index 29f0e37..45ed559 100644 --- a/tests/logic_.h +++ b/tests/logic_.h @@ -36,6 +36,7 @@ class Logic_ : public Logic { public: Logic_(void); virtual ~Logic_(void); + virtual void clean(void); // For tests only void connman_callback_manual_(bool state); diff --git a/tests/stubs_.cpp b/tests/stubs_.cpp new file mode 100644 index 0000000..b475690 --- /dev/null +++ b/tests/stubs_.cpp @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * @file stubs_.cpp + * @author Janusz Kozerski (j.kozerski@samsung.com) + * @version 1.0 + * @brief Implementation of stubbed functions for testing + */ + +#include <cchecker/certs.h> +#include <cchecker/queue.h> +#include <cchecker/sql_query.h> +#include <cchecker/UIBackend.h> + +namespace CCHECKER { + +// Certs + +Certs::Certs() +{} + +Certs::~Certs() +{} + +void Certs::get_certificates (app_t &app, ocsp_urls_t &ocsp_urls) +{ + (void)app; + (void)ocsp_urls; +} + +// Only the public functions need to be stubbed for testing all possibilities +Certs::ocsp_response_t Certs::check_ocsp (const app_t &app) +{ + if (app.signatures.empty()) + return ocsp_response_t::OCSP_APP_OK; + + if (app.signatures.front().empty()) + return ocsp_response_t::OCSP_APP_OK; + + std::string ret = app.signatures.front().front(); + + if ("OCSP_APP_REVOKED" == ret) + return ocsp_response_t::OCSP_APP_REVOKED; + if ("OCSP_CHECK_AGAIN" == ret) + return ocsp_response_t::OCSP_CHECK_AGAIN; + if ("OCSP_CERT_ERROR" == ret) + return ocsp_response_t::OCSP_CERT_ERROR; + + return ocsp_response_t::OCSP_APP_OK; +} + +// DB +DB::SqlQuery::SqlQuery(const std::string &path) +{ + m_connection = NULL; + m_inUserTransaction = false; + + (void)path; +} + +DB::SqlQuery::~SqlQuery() +{} + +bool DB::SqlQuery::get_url(const std::string &issuer, std::string &url) +{ + (void)issuer; + (void)url; + return false; +} + +void DB::SqlQuery::set_url(const std::string &issuer, const std::string &url, const int64_t &date) +{ + (void)issuer; + (void)url; + (void)date; +} + +bool DB::SqlQuery::add_app_to_check_list(const app_t &app) +{ + (void)app; + return true; // Success +} + +void DB::SqlQuery::remove_app_from_check_list(const app_t &app) +{ + (void)app; +} + +void DB::SqlQuery::mark_as_verified(const app_t &app, const app_t::verified_t &verified) +{ + (void)app; + (void)verified; +} + +void DB::SqlQuery::get_app_list(std::list<app_t> &apps_buffer) +{ + (void)apps_buffer; +} + +// UI +UI::UIBackend::UIBackend(int timeout) : + m_notification(nullptr), + m_responseTimeout(timeout) +{} + +UI::UIBackend::~UIBackend() +{} + +bool UI::UIBackend::call_popup(const app_t &app) +{ + if (app.uid > 5000) + return true; + + return false; +} + +} //CCHECKER |