From 8036c8d9edd0c18621f3c6b65eab3ae8916a695a Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周日, 03 5月 2020 22:22:19 +0800 Subject: [PATCH] add test for multiple features --- test/functional/standard-license_test.cpp | 58 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 41 insertions(+), 17 deletions(-) diff --git a/test/functional/standard-license_test.cpp b/test/functional/standard-license_test.cpp index ac62764..bbd6362 100644 --- a/test/functional/standard-license_test.cpp +++ b/test/functional/standard-license_test.cpp @@ -54,23 +54,47 @@ /** * Pass the license data to the application. */ +/* lccgen bug #10 parameter -b is ignored. +BOOST_AUTO_TEST_CASE(base64_encoded) { + const string licLocation("standard_b64.lic"); + vector<string> extraArgs; + extraArgs.push_back("-b"); + const string lic_location = generate_license(licLocation, extraArgs); + const string license_data(license::get_file_contents(lic_location.c_str(), 65536)); + LicenseInfo license; + LicenseLocation licenseLocation; + licenseLocation.license_data_type = LICENSE_ENCODED; + std::copy(license_data.begin(), license_data.end(), licenseLocation.licenseData); + const LCC_EVENT_TYPE result = acquire_license(nullptr, &licenseLocation, &license); + BOOST_CHECK_EQUAL(result, LCC_EVENT_TYPE::LICENSE_OK); + BOOST_CHECK_EQUAL(license.has_expiry, false); + BOOST_CHECK_EQUAL(license.linked_to_pc, false); +} +*/ -// 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(multiple_features) { + vector<string> extraArgs; + extraArgs.push_back("-f"); + extraArgs.push_back("feature1,feature2"); + const fs::path licLocation = fs::path(generate_license("multi_feature", extraArgs)); + const string licLocationStr = licLocation.string(); + string license_data = get_file_contents(licLocationStr.c_str(), 65536); + LicenseInfo license; + LicenseLocation location = {LICENSE_PLAIN_DATA}; + std::copy(license_data.begin(), license_data.end(), location.licenseData); + CallerInformations callInfo; + strcpy(callInfo.feature_name, "feature1"); + callInfo.magic = 0; + callInfo.version[0] = '\0'; + LCC_EVENT_TYPE result = acquire_license(&callInfo, &location, &license); + BOOST_CHECK_EQUAL(result, LCC_EVENT_TYPE::LICENSE_OK); + strcpy(callInfo.feature_name, "feature2"); + result = acquire_license(&callInfo, &location, &license); + BOOST_CHECK_EQUAL(result, LCC_EVENT_TYPE::LICENSE_OK); + strcpy(callInfo.feature_name, "feature3"); + result = acquire_license(&callInfo, &location, &license); + BOOST_CHECK_EQUAL(result, LCC_EVENT_TYPE::PRODUCT_NOT_LICENSED); +} // // BOOST_AUTO_TEST_CASE( hw_identifier ) { // const string licLocation(PROJECT_TEST_TEMP_DIR "/hw_identifier.lic"); @@ -87,5 +111,5 @@ // BOOST_CHECK_EQUAL(license.has_expiry, false); // BOOST_CHECK_EQUAL(license.linked_to_pc, true); //} -} +} // namespace test } // namespace license -- Gitblit v1.9.1