From 8bbef2865455754425a84b86680a89bff8aa7691 Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 19 10月 2019 08:50:45 +0800
Subject: [PATCH] issue #64 , issue #56 (part)

---
 test/functional/standard-license_test.cpp |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/test/functional/standard-license_test.cpp b/test/functional/standard-license_test.cpp
index 8b49c50..19b6000 100644
--- a/test/functional/standard-license_test.cpp
+++ b/test/functional/standard-license_test.cpp
@@ -1,6 +1,5 @@
-#define BOOST_TEST_MODULE standard_license_test
-//#define BOOST_TEST_MAIN
-//#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE test_standard_license
+
 #include <boost/test/unit_test.hpp>
 #include "../../src/tools/license-generator/license-generator.h"
 #include "../../src/library/api/license++.h"
@@ -8,27 +7,62 @@
 #include <boost/filesystem.hpp>
 #include "../../src/library/ini/SimpleIni.h"
 #include "generate-license.h"
+#include "../../src/library/base/FileUtils.hpp"
 
+namespace test {
 namespace fs = boost::filesystem;
 using namespace license;
 using namespace std;
 
-
 BOOST_AUTO_TEST_CASE( standard_lic_file ) {
 	const string licLocation(PROJECT_TEST_TEMP_DIR "/standard_license.lic");
-	vector<string> extraArgs;
+	const vector<string> extraArgs;
 	generate_license(licLocation, extraArgs);
 	/* */
 	LicenseInfo license;
 	LicenseLocation licenseLocation;
-	licenseLocation.openFileNearModule=false;
 	licenseLocation.licenseFileLocation = licLocation.c_str();
-	licenseLocation.environmentVariableName = "";
-	EVENT_TYPE result = acquire_license("TEST",
-			licenseLocation, & license);
+	licenseLocation.licenseData = nullptr;
+	const EVENT_TYPE result = acquire_license("TEST", &licenseLocation,
+			&license);
 	BOOST_CHECK_EQUAL(result, LICENSE_OK);
 	BOOST_CHECK_EQUAL(license.has_expiry, false);
 	BOOST_CHECK_EQUAL(license.linked_to_pc, false);
 }
 
+/**
+ * Pass the license data to the application.
+ */
+BOOST_AUTO_TEST_CASE( b64_environment_variable ) {
+	const string licLocation(PROJECT_TEST_TEMP_DIR "/standard_env_license.lic");
+	const vector<string> extraArgs;
+	generate_license(licLocation, extraArgs);
+	const string licensestr(license::get_file_contents(licLocation.c_str(), MAX_LICENSE_LENGTH));
+	/* */
+	LicenseInfo license;
+	LicenseLocation licenseLocation;
+	licenseLocation.licenseFileLocation = nullptr;
+	licenseLocation.licenseData = licensestr.c_str();
+	const EVENT_TYPE result = acquire_license("TEST", &licenseLocation,
+			&license);
+	BOOST_CHECK_EQUAL(result, LICENSE_OK);
+	BOOST_CHECK_EQUAL(license.has_expiry, false);
+	BOOST_CHECK_EQUAL(license.linked_to_pc, false);
+}
 
+BOOST_AUTO_TEST_CASE( pc_identifier ) {
+	const string licLocation(PROJECT_TEST_TEMP_DIR "/pc_identifier.lic");
+	const vector<string> extraArgs = { "-s", "Jaaa-aaaa-MG9F-ZhB1" };
+	generate_license(licLocation, extraArgs);
+
+	LicenseInfo license;
+	LicenseLocation licenseLocation;
+	licenseLocation.licenseFileLocation = licLocation.c_str();
+	licenseLocation.licenseData = "";
+	const EVENT_TYPE result = acquire_license("TEST", &licenseLocation,
+			&license);
+	BOOST_CHECK_EQUAL(result, IDENTIFIERS_MISMATCH);
+	BOOST_CHECK_EQUAL(license.has_expiry, false);
+	BOOST_CHECK_EQUAL(license.linked_to_pc, true);
+}
+}

--
Gitblit v1.9.1