From ed84b6e74c17cc5aabd0071c7af2cb437a047bd1 Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 02 5月 2020 21:45:43 +0800
Subject: [PATCH] issue #77

---
 test/library/LicenseReader_test.cpp |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/test/library/LicenseReader_test.cpp b/test/library/LicenseReader_test.cpp
index 0b16149..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>
@@ -22,10 +25,11 @@
  * 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());
@@ -36,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());
@@ -51,11 +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";
+	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);
-	const LicenseLocation location = {licLocation, nullptr};
+	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);
@@ -69,11 +75,10 @@
  * 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};
+	UNSETENV(LCC_LICENSE_LOCATION_ENV_VAR);
 	locate::LocatorFactory::find_license_near_module(false);
 	locate::LocatorFactory::find_license_with_env_var(true);
-	LicenseReader licenseReader(&location);
+	LicenseReader licenseReader(nullptr);
 	vector<FullLicenseInfo> licenseInfos;
 	const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos);
 	BOOST_CHECK(!registry.isGood());
@@ -89,12 +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;
@@ -102,7 +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 license

--
Gitblit v1.9.1