gcontini
2019-10-19 8bbef2865455754425a84b86680a89bff8aa7691
test/library/LicenseLocator_test.cpp
@@ -14,6 +14,8 @@
#include <cstdio>
#include <build_properties.h>
#include "../../src/library/os/os.h"
#include "../../src/library/base/EventRegistry.h"
#include "../../src/library/locate/ApplicationFolder.hpp"
#include "../../src/library/locate/EnvironmentVarLocation.hpp"
@@ -69,13 +71,13 @@
      license::EventRegistry registry;
      ApplicationFolder applicationFolder;
      vector<string> licenseInfos = applicationFolder.licenseLocations(registry);
      vector<string> licenseInfos = applicationFolder.license_locations(registry);
      BOOST_CHECK(registry.isGood());
      BOOST_REQUIRE_EQUAL(1, licenseInfos.size());
      string currentLocation = licenseInfos[0];
      BOOST_CHECK_MESSAGE(equivalent(path(referenceLicenseFileName),path(currentLocation)),
         "file " +currentLocation + "found at expected location");
      string licenseRealContent = applicationFolder.retrieveLicense(
      string licenseRealContent = applicationFolder.retrieve_license_content(
         currentLocation);
      src.seekg(0, ios::beg);
      std::string referenceContent((std::istreambuf_iterator<char>(src)),
@@ -100,31 +102,33 @@
   std::string referenceContent((std::istreambuf_iterator<char>(src)),
         std::istreambuf_iterator<char>());
   license::EventRegistry registry;
   ExternalDefinition externalDefinition(applicationDefinedString);
   vector<string> licenseInfos = externalDefinition.licenseLocations(registry);
   const LicenseLocation licLocation({applicationDefinedString,nullptr});
   ExternalDefinition externalDefinition(&licLocation);
   vector<string> licenseInfos = externalDefinition.license_locations(registry);
   BOOST_CHECK(registry.isGood());
   BOOST_CHECK_EQUAL(1, licenseInfos.size());
   string currentLocation = licenseInfos[0];
   BOOST_CHECK_MESSAGE(string(MOCK_LICENSE).compare(currentLocation) == 0,
         "file found at expected location");
   string licenseRealContent = externalDefinition.retrieveLicense(
   string licenseRealContent = externalDefinition.retrieve_license_content(
         currentLocation);
   BOOST_CHECK_MESSAGE(referenceContent.compare(licenseRealContent) == 0,
         "File content is same");
}
/**
 * The license file doesn't exist. Chech that the locator reports the right error
 * The license file doesn't exist. Check that the locator reports the right error
 */
BOOST_AUTO_TEST_CASE( external_definition_not_found ) {
   const char *applicationDefinedString = PROJECT_TEST_SRC_DIR "/this/file/doesnt/exist";
   license::EventRegistry registry;
   ExternalDefinition externalDefinition(applicationDefinedString);
   vector<string> licenseInfos = externalDefinition.licenseLocations(registry);
   const LicenseLocation licLocation({applicationDefinedString,nullptr});
   ExternalDefinition externalDefinition(&licLocation);
   vector<string> licenseInfos = externalDefinition.license_locations(registry);
   BOOST_CHECK_MESSAGE(registry.isGood(),
         "No fatal error for now, only warnings");
   registry.turnEventIntoError(LICENSE_FILE_NOT_FOUND);
   registry.turnWarningsIntoErrors();
   BOOST_REQUIRE_MESSAGE(!registry.isGood(), "Error detected");
   BOOST_CHECK_EQUAL(0, licenseInfos.size());
   BOOST_CHECK_MESSAGE(
@@ -152,23 +156,18 @@
   license::EventRegistry registry;
   EnvironmentVarLocation envVarLocationStrategy;
   vector<string> licenseInfos = envVarLocationStrategy.licenseLocations(
   vector<string> licenseInfos = envVarLocationStrategy.license_locations(
         registry);
   BOOST_CHECK(registry.isGood());
   BOOST_CHECK_EQUAL(1, licenseInfos.size());
   string currentLocation = licenseInfos[0];
   BOOST_CHECK_MESSAGE(string(MOCK_LICENSE).compare(currentLocation) == 0,
         "file found at expected location");
   string licenseRealContent = envVarLocationStrategy.retrieveLicense(
   string licenseRealContent = envVarLocationStrategy.retrieve_license_content(
         currentLocation);
   BOOST_CHECK_MESSAGE(referenceContent.compare(licenseRealContent) == 0,
         "File content is same");
#ifdef _WIN32
   _putenv_s(LICENSE_LOCATION_ENV_VAR, "");
#else
   unsetenv(LICENSE_LOCATION_ENV_VAR);
#endif
   UNSETENV(LICENSE_LOCATION_ENV_VAR);
}
/**
@@ -177,47 +176,36 @@
BOOST_AUTO_TEST_CASE( environment_var_location_not_found ) {
   const char *environment_variable_value =
   PROJECT_TEST_SRC_DIR "/this/file/doesnt/exist";
#ifdef _WIN32
   _putenv_s(LICENSE_LOCATION_ENV_VAR, environment_variable_value);
#else
   setenv(LICENSE_LOCATION_ENV_VAR, environment_variable_value, 1);
#endif
    SETENV(LICENSE_LOCATION_ENV_VAR, environment_variable_value);
   license::EventRegistry registry;
   EnvironmentVarLocation envVarLocationStrategy;
   vector<string> licenseInfos = envVarLocationStrategy.licenseLocations(
   vector<string> licenseInfos = envVarLocationStrategy.license_locations(
         registry);
   BOOST_CHECK_MESSAGE(registry.isGood(),
         "No fatal error for now, only warnings");
   registry.turnEventIntoError(LICENSE_FILE_NOT_FOUND);
   registry.turnWarningsIntoErrors();
   BOOST_REQUIRE_MESSAGE(!registry.isGood(), "Error detected");
   BOOST_CHECK_EQUAL(0, licenseInfos.size());
   BOOST_CHECK_MESSAGE(
         registry.getLastFailure()->event_type == LICENSE_FILE_NOT_FOUND,
         "Error detected");
#ifdef _WIN32
   _putenv_s(LICENSE_LOCATION_ENV_VAR, "");
#else
   unsetenv(LICENSE_LOCATION_ENV_VAR);
#endif
   UNSETENV(LICENSE_LOCATION_ENV_VAR);
}
/**
 * The license file doesn't exist. Check that the locator reports the right error
 */
BOOST_AUTO_TEST_CASE( environment_var_location_not_defined ) {
#ifdef _WIN32
   _putenv_s(LICENSE_LOCATION_ENV_VAR, "");
#else
   unsetenv(LICENSE_LOCATION_ENV_VAR);
#endif
   UNSETENV(LICENSE_LOCATION_ENV_VAR);
   license::EventRegistry registry;
   EnvironmentVarLocation environmentVarLocation;
   vector<string> licenseInfos = environmentVarLocation.licenseLocations(
   vector<string> licenseInfos = environmentVarLocation.license_locations(
         registry);
   BOOST_CHECK_MESSAGE(registry.isGood(),
         "No fatal error for now, only warnings");
   registry.turnEventIntoError(ENVIRONMENT_VARIABLE_NOT_DEFINED);
   registry.turnWarningsIntoErrors();
   BOOST_REQUIRE_MESSAGE(!registry.isGood(), "Error detected");
   BOOST_CHECK_EQUAL(0, licenseInfos.size());
   BOOST_CHECK_MESSAGE(