gcontini
2019-11-16 5a8a12d7a2c69610cd7a9a00ed1b3579b750a914
test/library/LicenseReader_test.cpp
@@ -5,13 +5,12 @@
#include <vector>
#include <stdlib.h>
#include <licensecc_properties.h>
#include <licensecc_properties_test.h>
#include "../../src/library/api/datatypes.h"
#include "../../src/library/base/EventRegistry.h"
#include "../../src/library/os/os.h"
#include <build_properties.h>
#include "../../src/library/LicenseReader.hpp"
namespace test {
@@ -20,14 +19,13 @@
/**
 * Read license at fixed location
 */
BOOST_AUTO_TEST_CASE( read_single_file ) {
BOOST_AUTO_TEST_CASE(read_single_file) {
   const char *licLocation = PROJECT_TEST_SRC_DIR "/library/test_reader.ini";
   const LicenseLocation location = { licLocation, nullptr };
   const LicenseLocation location = {licLocation, nullptr};
   LicenseReader licenseReader(&location);
   vector<FullLicenseInfo> licenseInfos;
   const EventRegistry registry = licenseReader.readLicenses("PrODUCT",
         licenseInfos);
   const EventRegistry registry = licenseReader.readLicenses("PrODUCT", licenseInfos);
   BOOST_CHECK(registry.isGood());
   BOOST_CHECK_EQUAL(1, licenseInfos.size());
}
@@ -35,76 +33,66 @@
/**
 * 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 };
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);
   vector<FullLicenseInfo> licenseInfos;
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT-NOT",
         licenseInfos);
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT-NOT", licenseInfos);
   BOOST_CHECK(!registry.isGood());
   BOOST_CHECK_EQUAL(0, licenseInfos.size());
   BOOST_ASSERT(registry.getLastFailure()!=NULL);
   BOOST_CHECK_EQUAL(PRODUCT_NOT_LICENSED,
         registry.getLastFailure()->event_type);
   BOOST_ASSERT(registry.getLastFailure() != NULL);
   BOOST_CHECK_EQUAL(PRODUCT_NOT_LICENSED, registry.getLastFailure()->event_type);
}
/**
 * Test the error code if the license file is specified but doesn't exists
 */
BOOST_AUTO_TEST_CASE( file_not_found ) {
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 };
   // const char * envName = "MYVAR";
   const LicenseLocation location = {licLocation, nullptr};
   LicenseReader licenseReader(&location);
   vector<FullLicenseInfo> licenseInfos;
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT",
         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(LICENSE_FILE_NOT_FOUND,
         registry.getLastFailure()->event_type);
   BOOST_ASSERT(registry.getLastFailure() != NULL);
   BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, registry.getLastFailure()->event_type);
}
/**
 * Test the error code if the license default environment variable isn't specified
 */
BOOST_AUTO_TEST_CASE( env_var_not_defined ) {
BOOST_AUTO_TEST_CASE(env_var_not_defined) {
   UNSETENV(LICENSE_LOCATION_ENV_VAR);
   const LicenseLocation location = { nullptr, nullptr };
   const LicenseLocation location = {nullptr, nullptr};
   LicenseReader licenseReader(&location);
   vector<FullLicenseInfo> licenseInfos;
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT",
         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_ASSERT(registry.getLastFailure() != NULL);
   BOOST_CHECK_EQUAL(ENVIRONMENT_VARIABLE_NOT_DEFINED, registry.getLastFailure()->event_type);
}
/**
 * Test the error code if the license default environment variable is
 * specified but points to a non existent file.
 */
BOOST_AUTO_TEST_CASE( env_var_point_to_wrong_file ) {
   const char *environment_variable_value =
   PROJECT_TEST_SRC_DIR "/this/file/doesnt/exist";
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)
   const LicenseLocation location = { nullptr, nullptr };
   const LicenseLocation location = {nullptr, nullptr};
   LicenseReader licenseReader(&location);
   vector<FullLicenseInfo> licenseInfos;
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT",
         licenseInfos);
   const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos);
   cout << registry << endl;
   BOOST_CHECK(!registry.isGood());
   BOOST_CHECK_EQUAL(0, licenseInfos.size());
   BOOST_ASSERT(registry.getLastFailure()!=NULL);
   BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND,
         registry.getLastFailure()->event_type);
   BOOST_ASSERT(registry.getLastFailure() != NULL);
   BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, registry.getLastFailure()->event_type);
   UNSETENV(LICENSE_LOCATION_ENV_VAR);
}
} /* namespace test*/