//# //# Copyright (C) 2020-2021 QuasarApp. //# Distributed under the lgplv3 software license, see the accompanying //# Everyone is permitted to copy and distribute verbatim copies //# of this license document, but changing it is not allowed. //# #include #include "signertest.h" #include SignerTest::SignerTest() { } SignerTest::~SignerTest() { } void SignerTest::test() { testSigner(); } CopyrighFixer::Signature SignerTest::genSign(const QString licen, const QString nOwn, int tP) const { CopyrighFixer::Owner ownerObj; ownerObj.setName(nOwn); ownerObj.setTimePoint(tP); QMap OwnerMap; OwnerMap.insert(tP, ownerObj); CopyrighFixer::Signature signTest; signTest.setLicenseTitle(licen); signTest.setMessage("Distributed under the lgplv3 software license, see the accompany."); signTest.setMapOwners(OwnerMap); return signTest; } CopyrighFixer::Signature SignerTest::genSign(QList numOwns, const QString licen) const { QMap OwnerMap; for (auto itemOwn: numOwns) { CopyrighFixer::Owner ownerObj; ownerObj.setName(itemOwn.name); ownerObj.setTimePoint(itemOwn.timePoint); OwnerMap.insert(itemOwn.timePoint, ownerObj); } CopyrighFixer::Signature signTest; signTest.setLicenseTitle(licen); signTest.setMessage("Distributed under the lgplv3 software license, see the accompany."); signTest.setMapOwners(OwnerMap); return signTest; } QList SignerTest::lstSing() const { int unixTime = time(0); // 1 // The case when the signatures in the config and the file match. SignerTest::Signers equalSign; equalSign.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); equalSign.signFormFile = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); equalSign.signAfterMerge = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", unixTime); // 2 // The Different licenses. SignerTest::Signers signDiffLic; signDiffLic.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); signDiffLic.signFormFile = genSign("MIT License Copyright (C) 2019-2020 QuasarApp.", "QuasarApp", 1622657022); signDiffLic.signAfterMerge = genSign("MIT License Copyright (C) 2019-2020 QuasarApp.", "QuasarApp", 1622657022); // 3 // The Different owners. SignerTest::Signers signDiffOwn; signDiffOwn.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1700000000); signDiffOwn.signFormFile = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarAppSdfdf", 1622657022); signDiffOwn.signAfterMerge = genSign({{"QuasarAppSdfdf", 1622657022}, {"QuasarApp", unixTime}}, "MIT License Copyright (C) 2020-2021 QuasarApp."); // 4 // The equal owners. SignerTest::Signers signEqualOwn; signEqualOwn.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1700000000); signEqualOwn.signFormFile = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); signEqualOwn.signAfterMerge = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", unixTime); // 5 // The signature is missing from the file. SignerTest::Signers signMissingInFile; signMissingInFile.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); signMissingInFile.signFormFile = genSign(); signMissingInFile.signAfterMerge = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); // 6 // Here are no owners in the file. SignerTest::Signers signMissOwnInFile; signMissOwnInFile.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); signMissOwnInFile.signFormFile = genSign("MIT License Copyright (C) 2020-2021 QuasarApp."); signMissOwnInFile.signAfterMerge = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1622657022); // 7 // Generating multiple owners config. QList lstOwnsForConf = { {"QuasarApp", unixTime}, {"QuasarApp1", unixTime+1}, {"QuasarApp2", unixTime+2} }; // The number of owners differs. SignerTest::Signers signDiffNumOwnConf; signDiffNumOwnConf.signFormConf = genSign(lstOwnsForConf, "MIT License Copyright (C) 2020-2021 QuasarApp."); signDiffNumOwnConf.signFormFile = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1700000000); signDiffNumOwnConf.signAfterMerge = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", unixTime); // 8 // Generating multiple owners file. QList lstOwnsForFile = { {"QuasarApp", unixTime}, {"QuasarApp1", unixTime+1}, {"QuasarApp2", unixTime+2}, {"QuasarApp3", unixTime+3} }; // The number of owners differs. SignerTest::Signers signDiffNumOwnFile; signDiffNumOwnFile.signFormConf = genSign("MIT License Copyright (C) 2020-2021 QuasarApp.", "QuasarApp", 1700000000); signDiffNumOwnFile.signFormFile = genSign(lstOwnsForFile, "MIT License Copyright (C) 2020-2021 QuasarApp."); signDiffNumOwnFile.signAfterMerge = genSign(lstOwnsForFile, "MIT License Copyright (C) 2020-2021 QuasarApp."); return {equalSign, signDiffLic, signDiffOwn, signEqualOwn, signMissingInFile, signMissOwnInFile, signDiffNumOwnConf}; } void SignerTest::testMergeSign() const { QList dfd = lstSing(); for (auto itemSign: lstSing()) { CopyrighFixer::Signer resSign; CopyrighFixer::Signature mergeSignUF = resSign.mergeSign(itemSign.signFormConf, itemSign.signFormFile); QVERIFY(mergeSignUF == itemSign.signAfterMerge); } } void SignerTest::testCheckSign() const { qWarning() << "The SignerTest class is not implemented"; QVERIFY(true); } void SignerTest::testSigner() { testMergeSign(); testCheckSign(); }