From 4467a957a498b93dbcaefbad97df24b43dfbc99d Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周日, 08 3月 2020 22:16:09 +0800 Subject: [PATCH] fix tests --- test/library/LicenseReader_test.cpp | 56 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 35 insertions(+), 21 deletions(-) diff --git a/test/library/LicenseReader_test.cpp b/test/library/LicenseReader_test.cpp index b064acc..f573874 100644 --- a/test/library/LicenseReader_test.cpp +++ b/test/library/LicenseReader_test.cpp @@ -1,4 +1,7 @@ #define BOOST_TEST_MODULE "test_license_reader" +#define __STDC_WANT_LIB_EXT1__ 1 + +#include <string> #include <boost/test/unit_test.hpp> #include <iostream> @@ -7,23 +10,26 @@ #include <licensecc_properties.h> #include <licensecc_properties_test.h> +#include <licensecc/datatypes.h> -#include "../../src/library/api/datatypes.h" #include "../../src/library/base/EventRegistry.h" #include "../../src/library/os/os.h" +#include "../../src/library/locate/LocatorFactory.hpp" #include "../../src/library/LicenseReader.hpp" - +namespace license { namespace test { + using namespace license; using namespace std; /** - * Read license at fixed location + * Read license at application provided location */ BOOST_AUTO_TEST_CASE(read_single_file) { - const char *licLocation = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; + string location = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; - const LicenseLocation location = {licLocation, nullptr}; - LicenseReader licenseReader(&location); + LicenseLocation licLocation = {LICENSE_PATH}; + std::copy(location.begin(), location.end(), licLocation.licenseData); + LicenseReader licenseReader(&licLocation); vector<FullLicenseInfo> licenseInfos; const EventRegistry registry = licenseReader.readLicenses("PrODUCT", licenseInfos); BOOST_CHECK(registry.isGood()); @@ -34,9 +40,10 @@ * Test the error return if the product code is not found in the license */ BOOST_AUTO_TEST_CASE(product_not_licensed) { - const char *licLocation = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; - const LicenseLocation location = {licLocation, nullptr}; - LicenseReader licenseReader(&location); + string location = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; + LicenseLocation licLocation = {LICENSE_PATH}; + std::copy(location.begin(), location.end(), licLocation.licenseData); + LicenseReader licenseReader(&licLocation); vector<FullLicenseInfo> licenseInfos; const EventRegistry registry = licenseReader.readLicenses("PRODUCT-NOT", licenseInfos); BOOST_CHECK(!registry.isGood()); @@ -49,9 +56,12 @@ * Test the error code if the license file is specified but doesn't exists */ BOOST_AUTO_TEST_CASE(file_not_found) { - const char *licLocation = PROJECT_TEST_SRC_DIR "/library/not_found.ini"; - // const char * envName = "MYVAR"; - const LicenseLocation location = {licLocation, nullptr}; + string licLocation = PROJECT_TEST_SRC_DIR "/library/not_found.ini"; + + locate::LocatorFactory::find_license_near_module(false); + locate::LocatorFactory::find_license_with_env_var(false); + LicenseLocation location = {LICENSE_PATH}; + std::copy(licLocation.begin(), licLocation.end(), location.licenseData); LicenseReader licenseReader(&location); vector<FullLicenseInfo> licenseInfos; const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); @@ -65,15 +75,17 @@ * Test the error code if the license default environment variable isn't specified */ BOOST_AUTO_TEST_CASE(env_var_not_defined) { - UNSETENV(LICENSE_LOCATION_ENV_VAR); - const LicenseLocation location = {nullptr, nullptr}; - LicenseReader licenseReader(&location); + UNSETENV(LCC_LICENSE_LOCATION_ENV_VAR); + locate::LocatorFactory::find_license_near_module(false); + locate::LocatorFactory::find_license_with_env_var(true); + LicenseReader licenseReader(nullptr); vector<FullLicenseInfo> licenseInfos; const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); BOOST_CHECK(!registry.isGood()); BOOST_CHECK_EQUAL(0, licenseInfos.size()); BOOST_ASSERT(registry.getLastFailure() != NULL); - BOOST_CHECK_EQUAL(ENVIRONMENT_VARIABLE_NOT_DEFINED, registry.getLastFailure()->event_type); + BOOST_CHECK_MESSAGE((ENVIRONMENT_VARIABLE_NOT_DEFINED == registry.getLastFailure()->event_type), + "error as expected"); } /** @@ -82,10 +94,11 @@ */ BOOST_AUTO_TEST_CASE(env_var_point_to_wrong_file) { const char *environment_variable_value = PROJECT_TEST_SRC_DIR "/this/file/doesnt/exist"; - SETENV(LICENSE_LOCATION_ENV_VAR, environment_variable_value) + SETENV(LCC_LICENSE_LOCATION_ENV_VAR, environment_variable_value) + locate::LocatorFactory::find_license_near_module(false); + locate::LocatorFactory::find_license_with_env_var(true); - const LicenseLocation location = {nullptr, nullptr}; - LicenseReader licenseReader(&location); + LicenseReader licenseReader(nullptr); vector<FullLicenseInfo> licenseInfos; const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); cout << registry << endl; @@ -93,6 +106,7 @@ BOOST_CHECK_EQUAL(0, licenseInfos.size()); BOOST_ASSERT(registry.getLastFailure() != NULL); BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, registry.getLastFailure()->event_type); - UNSETENV(LICENSE_LOCATION_ENV_VAR); + UNSETENV(LCC_LICENSE_LOCATION_ENV_VAR); } -} /* namespace test*/ +} // namespace test +} // namespace license -- Gitblit v1.9.1