diff --git a/README.md b/README.md index bee03e1..ffc62e3 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,16 @@ A full build, test, and pack run can be started using the `build.ps1` PowerShell Running `build.ps1 -Target Test` will run unit tests for the project. +### Test License files + +The test license files are stored in the `test/Rhino.Licensing.Tests/LicenseFiles` directory, and automatically embedded in the Tests project. +This allows us to test the generator and validator separately. +If new license types or signing algorithms are added, new license files will need to be made. + +To generate new license files, run the following PowerShell: `$env:GENERATE_TEST_LICENSES = Resolve-Path .\test\Rhino.Licensing.Tests\LicenseFiles\ ; ./build.ps1 -Target Test`. +You will then need to commit the changed files to the repository. + + ## Acknowledgements Rhino Licensing is making use of the excellent log4net logging framework. diff --git a/test/Rhino.Licensing.Tests/BaseLicenseTest.cs b/test/Rhino.Licensing.Tests/BaseLicenseTest.cs index 72dff62..a9acf7b 100644 --- a/test/Rhino.Licensing.Tests/BaseLicenseTest.cs +++ b/test/Rhino.Licensing.Tests/BaseLicenseTest.cs @@ -1,27 +1,70 @@ +using System; +using System.Collections.Generic; using System.IO; +using System.Linq; namespace Rhino.Licensing.Tests { public class BaseLicenseTest { - public readonly static string public_and_private; - public readonly static string public_only; + protected static readonly Dictionary Resources = new Dictionary(); + protected static readonly string PublicAndPrivateKey; + protected static readonly string PublicOnlyKey; + protected static readonly Guid TestGuid = new Guid("0c6b2abc-5ba1-4f1c-af11-8c3a01147124"); + protected static readonly DateTime Expiration = DateTime.MaxValue; + protected static readonly string CustomerName = "Oren Eini"; static BaseLicenseTest() { - public_and_private = new StreamReader(typeof (Can_generate_and_validate_key) - .Assembly - .GetManifestResourceStream( - "Rhino.Licensing.Tests.public_and_private.xml")) - .ReadToEnd(); + foreach (var resourceName in typeof(BaseLicenseTest).Assembly.GetManifestResourceNames().Where(name => name.EndsWith(".xml"))) + { + var resourceNameSplit = resourceName.Split('.'); + var resourceNameLength = resourceNameSplit.Length; + Resources.Add($"{resourceNameSplit[resourceNameLength - 3]}.{resourceNameSplit[resourceNameLength - 2]}", ReadResourceFile(resourceName)); + } - public_only = new StreamReader(typeof (Can_generate_and_validate_key) - .Assembly - .GetManifestResourceStream("Rhino.Licensing.Tests.public_only.xml")) - .ReadToEnd(); + PublicAndPrivateKey = Resources["SigningKeys.PublicAndPrivate"]; + PublicOnlyKey = Resources["SigningKeys.PublicOnly"]; + } + + private static string ReadResourceFile (string resourceName) + { + var stream = typeof(LicenseGeneratorTests) + .Assembly + .GetManifestResourceStream(resourceName); + if (stream == null) + { + throw new Exception($"Something really bad happened. We couldn't load {resourceName}"); + } + return new StreamReader(stream).ReadToEnd(); + } + + protected static string WriteLicenseFile(string resourceName) + { + var path = $"{Path.GetTempPath()}\\{resourceName}.xml"; + File.WriteAllText(path, Resources[resourceName]); + return path; } + public static IEnumerable GetAllLicenseTypes() + { + foreach (var licenseType in Enum.GetValues(typeof(LicenseType))) + { + yield return new object[] { licenseType }; + } + } + + public static IEnumerable GetAllLicenseTypesWithSigningAlgorithms() + { + foreach (var licenseType in Enum.GetValues(typeof(LicenseType))) + { + foreach (var signingAlgorithm in Enum.GetValues(typeof(SigningAlgorithm))) + { + yield return new object[] { licenseType, signingAlgorithm }; + } + } + } } } \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/Can_check_trial_date.cs b/test/Rhino.Licensing.Tests/Can_check_trial_date.cs deleted file mode 100644 index 8a0e2d2..0000000 --- a/test/Rhino.Licensing.Tests/Can_check_trial_date.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.IO; -using Xunit; - -namespace Rhino.Licensing.Tests -{ - public class Can_check_trial_date : BaseLicenseTest - { - [Fact] - public void Will_tell_that_we_are_in_invalid_state() - { - var validator = new LicenseValidator(public_only, Path.GetTempFileName()); - Assert.Throws(() => validator.AssertValidLicense()); - } - - - [Fact] - public void Will_fail_if_file_is_not_there() - { - var validator = new LicenseValidator(public_only, "not_there"); - Assert.Throws(() => validator.AssertValidLicense()); - } - } -} \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/Can_generate_and_validate_key.cs b/test/Rhino.Licensing.Tests/Can_generate_and_validate_key.cs deleted file mode 100644 index ea69791..0000000 --- a/test/Rhino.Licensing.Tests/Can_generate_and_validate_key.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using Xunit; - -namespace Rhino.Licensing.Tests -{ - public class Can_generate_and_validate_key : BaseLicenseTest - { - [Fact] - public void Gen_and_validate() - { - var guid = Guid.NewGuid(); - var generator = new LicenseGenerator(public_and_private); - var expiration = DateTime.Now.AddDays(30); - var key = generator.Generate("Oren Eini", guid, expiration, LicenseType.Trial); - - var path = Path.GetTempFileName(); - File.WriteAllText(path, key); - - var validator = new LicenseValidator(public_only, path); - validator.AssertValidLicense(); - - Assert.Equal(guid, validator.UserId); - Assert.Equal(expiration, validator.ExpirationDate); - Assert.Equal("Oren Eini", validator.Name); - Assert.Equal(LicenseType.Trial, validator.LicenseType); - } - - [Fact] - public void Gen_and_validate_with_attributes() - { - var guid = Guid.NewGuid(); - var generator = new LicenseGenerator(public_and_private); - var expiration = DateTime.Now.AddDays(30); - var key = generator.Generate("Oren Eini", guid, expiration, - new Dictionary - { - {"prof", "llb"}, - {"reporting", "on"} - }, LicenseType.Trial); - - var path = Path.GetTempFileName(); - File.WriteAllText(path, key); - - var validator = new LicenseValidator(public_only, path); - validator.AssertValidLicense(); - - Assert.Equal("llb", validator.LicenseAttributes["prof"]); - Assert.Equal("on", validator.LicenseAttributes["reporting"]); - Assert.Equal(guid, validator.UserId); - Assert.Equal(expiration, validator.ExpirationDate); - Assert.Equal("Oren Eini", validator.Name); - Assert.Equal(LicenseType.Trial, validator.LicenseType); - } - - [Fact] - public void Throws_date_exception_when_license_is_expired() - { - var guid = Guid.NewGuid(); - var generator = new LicenseGenerator(public_and_private); - var expiration = DateTime.Now.AddDays(-1); - var key = generator.Generate("Oren Eini", guid, expiration, - new Dictionary - { - {"prof", "llb"}, - {"reporting", "on"} - }, LicenseType.Trial); - - var path = Path.GetTempFileName(); - File.WriteAllText(path, key); - - var validator = new LicenseValidator(public_only, path); - Assert.Throws(() => validator.AssertValidLicense()); - } - - [Fact] - public void Cannot_validate_hacked_license() - { - const string hackedLicense = - @" - - Oren Eini - - - - - - - - - - KxG48zaXJ0gEOpuCc4NPYTh7U7c= - - - KfNKJRDwPeJ2Olw+sbe1RLLrzQzMAf/Kwcs34LkRMR/bRYTvm+RX1KMr0/+bNxtg0NCqMjMgPqrZfx3V416GMhlwMIFzFSRzF8Z/khKHXM2Hbur3ibeyMoj5GGTx5sUKJy0v5eVaLvE9pDc5pafVaUynk/5NDgCQR6wBbKtzLJamaX+zigS8uXGvDxcMAGSeY97wtATdXBawrWbfQgeJ72h0FHshaepqS5roNXgr/5oV4ma/KWTrwTZVBo76ThkgB4HzsZGqjAo9vZa5eUHQwrJfNEEwoHnu4Ld8PfKErwTbr6Q8GK8CSxldP5HJ0BALuj1bETlDum6/vcZZXGEtsQ== - -"; - - var path = Path.GetTempFileName(); - File.WriteAllText(path, hackedLicense); - - var validator = new LicenseValidator(public_only, path); - Assert.Throws(() => validator.AssertValidLicense()); - } - } -} diff --git a/test/Rhino.Licensing.Tests/GenerateTestLicenses.cs b/test/Rhino.Licensing.Tests/GenerateTestLicenses.cs new file mode 100644 index 0000000..7ad5763 --- /dev/null +++ b/test/Rhino.Licensing.Tests/GenerateTestLicenses.cs @@ -0,0 +1,31 @@ +using System; +using System.IO; +using Xunit; + +namespace Rhino.Licensing.Tests +{ + public class GenerateTestLicenses : BaseLicenseTest + { + private static readonly LicenseGenerator Generator = new LicenseGenerator(PublicAndPrivateKey); + + [GenerateTestLicensesTheory] + [MemberData(nameof(GetAllLicenseTypesWithSigningAlgorithms))] + public void GeneratesTestLicenses(LicenseType licenseType, SigningAlgorithm signingAlgorithm) + { + var path = Environment.GetEnvironmentVariable("GENERATE_TEST_LICENSES"); + + // Never expiring, specifically signed licenses + var key = Generator.Generate(CustomerName, TestGuid, Expiration, licenseType, signingAlgorithm); + File.WriteAllText($"{path}\\{licenseType}-{signingAlgorithm}.xml", key); + + // Never expiring, default (SHA1) signed licenses + key = Generator.Generate(CustomerName, TestGuid, Expiration, licenseType); + File.WriteAllText($"{path}\\{licenseType}.xml", key); + + // Expired, specifically signed licenses + key = Generator.Generate(CustomerName, TestGuid, DateTime.Parse("12-12-2013 16:47:34 -0600"), licenseType, signingAlgorithm); + File.WriteAllText($"{path}\\{licenseType}-{signingAlgorithm}-Expired.xml", key); + + } + } +} \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/GenerateTestLicensesFact.cs b/test/Rhino.Licensing.Tests/GenerateTestLicensesFact.cs new file mode 100644 index 0000000..396a271 --- /dev/null +++ b/test/Rhino.Licensing.Tests/GenerateTestLicensesFact.cs @@ -0,0 +1,17 @@ +using System; +using Xunit; + +namespace Rhino.Licensing.Tests +{ + public sealed class GenerateTestLicensesTheory : TheoryAttribute + { + public GenerateTestLicensesTheory() + { + if (!ShouldGenerateTestLicenses) { + Skip = "Ignore generating test licenses when we don't want them"; + } + } + + private static bool ShouldGenerateTestLicenses { get => !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("GENERATE_TEST_LICENSES")); } + } +} diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1-Expired.xml new file mode 100644 index 0000000..03c19d8 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 16rcAhiW0SdSMiVLgNWYHYxpV0o= + + + ZCljzRSiQ6KGKluFTVs9LLcXRS+mvQvGZ/hbR+jti6drdt1SVjns573gZux6qTj9shnJV24t/Ige+olM1cBhZiSOLncCnfglArxDyHNezZZOLeIgivoYeJWovWzh32HhdKPlDqP7m7jA16+8SOnxpoJKqcLciQ2MKIiox383RitN5fvxjFCFeQruI0RdmP38qqT20ICIuP++VRZ9oUm8uKoVAHLeKGUwTI8Ppmk+N9oVvmsx96u27G2ezYph+ApVv6iY8fC+QL+fxdB0MjMg09So6EncuJRr6mYCZWnQ/X6p+l/ZwOILTtYbm4q7EDkGDeSd+J/EILnVCK5s7/U4wQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1.xml new file mode 100644 index 0000000..35d74b3 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + ouD910sKwSiCqigj5PzzCP6TbHk= + + + Cty9SJRyPjYB5ttwJ5m7akpuB7cnZQ/iM2JUF20H6U+eK7DEWq/1bpTKiaJxCb6G6jHjOX0zl3QGIe3aWli50x8kpIpeoYgqYNAyap3PYRLhyBJggwpy/mmC9g36SsdL/CVclXeOEeWYbwpigi1lOpfAXu02X0551C0szprJYejDZf1MM9IzKF9xh2wEndQKA9yw7A0jW3np9+MWXif4Vgi5HHU4JuT3C3a+K7LZn0HG2um0TjDDzshtdNnkfjC2Y6xbCnh8nD0Am9E/Bm8PW5wl95NRWYLLQ2ZorhGg9owwsoFhtlZE87IX2pedzmJ0Met7QyyLwUMibVRgK4lJKg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256-Expired.xml new file mode 100644 index 0000000..0e749dc --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + v08BgE8eWNm+/IIytJ80FE12pn/cBwOUqb1xLAglaK0= + + + UuOOt0Yt5iOttbeGv4s2/EnCqrmKVxko6zy6HHbrcbZxBF5CzBX8C8pk6Www+NJ1uJfrj87JnMNM3cRHbN7EeejBSVecX6UTxcFlE/EMq2gHd31BASuYR3vzx8oywvyAnF/EHV8o3NiRTMYI/p33rcMZQtUkr0B3jTjgugSQqIe/MrBbZrDK9Y+1Af/z+KSurx1RuDHCzRd7SQzlliCsciDOLEMaR1esgMIMAxO0KsGeCZov/MmYcqjzVi4k0fVe6nHUhbq5HAdhy3OPIOvyXfzaS8Zxq5xglZxaH52jqyM0UUHay/qHBtlzbfX9BFV8JY2LFQatt1hlLaSdtkgjlw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256.xml new file mode 100644 index 0000000..f21da67 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Fi/Q0+qXe06ES4uyP4sJtPdM7ZguahkwDggjdZ9tncc= + + + AEQOx5glJZiElwlF2K15AYyfGvg/Q3orN3Lo1HWWUky/v2oD0jmC4yUbvVKT4RI5f+QHXH8qFPbrkRfqYaG8/VHsZl3Pmvi+PeFEOaNUmWOa/YGRNWdYrdWO4KqRxxiIdnVlwPJ3nt0YXnYQFSFkuVnXuKmly4flkNlZNwQIIUpFWa1gbNAAjvMFC1n0j8BwtHrI88TfS/6HcBvLY628hygH94ldrX34FVJ7cT/NmwdY7rgkG25iE1rIWz+M9d9RxJ/LO6YS0+vmRL1UKu2SrJj/TpQ+Vc0GWLG7XGlsUPgjtZnCb00V8S7G1Wca8KbFMrCDvZb1rvQfy25AdCSLiw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384-Expired.xml new file mode 100644 index 0000000..325ff91 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 3hUeesbbvMJdV5U5ikMFinSFnY7S54OeC+w+qeo4xHc/WtjDKWj+0Uifo50ALT5Q + + + noClQysdW3qOWkCrwlysUI2iyGM0m2vN8BvVzEAmdCwB2zaZvwYWjfwsMR0tTdP3b/VnzHg74gQDXCa1VhrMA23qC8eoH8ZMcRj6+aJUMvUjR5eu662CC7fnFX8LHzyCCr1vjgn1zTa/c2pc3bd4w34H+YYqcZTZXT8/ccHUrrKqHIdPS5LeqYqBmbZKxmm+zxLdpcGqnIEXFBrKPQbDSkhfdeFJ2yLDL/qXsZM/PMMVebTEMzUDnNxC4SJNJCxYNSXrdiL6hS9Rg+GgU0ixdcuSMlv4FrCf06GTn//F+hC4i+ewGHC17F5eMtCM9KFvQP/Zx28uxhJuStYVuWJvHw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384.xml new file mode 100644 index 0000000..0d41f8c --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Bd6sFh07Q5Ksa5j0kZg61V2m+Elab7WzOIGicchQBBZF4Sj2yqiI5v9gvx5DW9ak + + + mSiRGjeSdYLF4RGZshNZyPbvyQcZELbWZqNm6YicWEmaPzk90nPu/gfCkobL607yS3xci4DHCA64FfOc5joiI+TWpe/w4F6thEdPZ29GpEZmzdVZ7rdW3qpEqPMot7kL915jKW74XJ3umFO5Z7kvXAo2tl+usBV7Yg70IJZyFfGV2Mwb0ocrDv4124kSmrLfccL8W//JU5lBjmAbpRbPJEPePkRwHMwBF66qGiKwKdMF/nCx2m50Ho7r3yu/ADJZA4ljaL80cEFwrtmAAxBnP6q7rIoi0z5/cHy6E8zb7xrMteJG2976Uqa+kQzQ8pQ5XrXpMgO+uQN2HCNY980ozA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512-Expired.xml new file mode 100644 index 0000000..80973ae --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 4DX8dsopjskRjLkUOpUeJ6BCd7wjaV08DL4Mws6bbuCVp/ZGvD/P2hweZ4/WyxkfHlzpL6VojahpTtpE8wOsEg== + + + Jwy08z80kah6fI3ZTQXhFEVCXR6XQ8dwRA0FiBBjJ7MH20GxzDm4fTpJ6GFMsUngT8I6Ys3u3r1BqzSL7aEbqoydr+32iB+6rbtF014ewUA5PtwRcnElC6L06gmJDwpZcaSb/uk3YOA5ZkITbczM6wB4vLRDZlXkh8wweiAoHOpi5EGTCGWhE9FTXyG2+wgOMM2RhFboqp0UX7bSrynxtI7LaKIG7HJrIReTDYIY555sXLfMHnB4u9bFEnmU2kYkNFwsZVdIh8/hqWGyj7M4k5toRQkepvoS5tMlN73GgTDwEnyOCwTQKoCaAf0KZwDGhxVwddL8zORnN+3XL1AgUA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512.xml new file mode 100644 index 0000000..2f971e7 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 7jkr4BuExzCdYl+rH43ggwMc1VfTrOedkjZDneythejQZhsVFtOhdNqPNs/xaVecyJOrFtvPHwiuY7cP/RnRMg== + + + AAGmWhEmJTpBxCFl/frgAfKMoZ5GSvTC5J3A9VE3yAL3uVBHTvePOBaaSP/dKil38toWIz7ZvoY+u3vYvJueuEI+HlRoxULq6+Qa0/l+UhWqxXNacZhnOscipEtN784yjczC0wqwSR/GFmnHhaqCy1D3ZAJsdmbOmYgeSosxJTw5EO8PmYKBfQ6nj54uNPUJczCja1cQ9NyqJUU2L5N6ywsVKC/seUwhUfB9V9IPaeckh+K8rgsz9mwiqIaOkzBE2pZBqaJgVu4jP03RsGCRsUXa8nmBR80JZ/XpoaaCxID7q3TayH0r46w5qev3hkAwc+lD925wVHJa2vgNBWH9Wg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-WithAttributes.xml new file mode 100644 index 0000000..082b61c --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 11dmfkNQS9fkI9+dwM36RUxrB9c= + + + aaSsBd/gEqd6o8bmR9W5359MWpHPLJ0C4+wEBRy4NFb5tdPPtbj8Qj+kjlysUAQdOIjdu5Yt4iHFSiQW992CAk5vd8ddDTKAv2VKL5M/pXF1qaf8RIhojRrYd5L2m3sRTENRbo1o3cUbQ9UUPwMr1d0rnf0brEhcnr3s+NJGwbhcBeHiYr8/D71/weoLUANPsmLdSiQeZFeNc0r8VtZdMfCv2Db7M0vAWsbpRreVVtIpER+RwqsvnNioUj8eGYK24Zcsqj6HbZaiRkAQRcDdc0yF3j/8RTGrDp/el18taeOm3U/EwfRr/yjxP3ICorME3ta3C4O0BEF8Q0MVS0Fx1w== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Architect.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Architect.xml new file mode 100644 index 0000000..35d74b3 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Architect.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + ouD910sKwSiCqigj5PzzCP6TbHk= + + + Cty9SJRyPjYB5ttwJ5m7akpuB7cnZQ/iM2JUF20H6U+eK7DEWq/1bpTKiaJxCb6G6jHjOX0zl3QGIe3aWli50x8kpIpeoYgqYNAyap3PYRLhyBJggwpy/mmC9g36SsdL/CVclXeOEeWYbwpigi1lOpfAXu02X0551C0szprJYejDZf1MM9IzKF9xh2wEndQKA9yw7A0jW3np9+MWXif4Vgi5HHU4JuT3C3a+K7LZn0HG2um0TjDDzshtdNnkfjC2Y6xbCnh8nD0Am9E/Bm8PW5wl95NRWYLLQ2ZorhGg9owwsoFhtlZE87IX2pedzmJ0Met7QyyLwUMibVRgK4lJKg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1-Expired.xml new file mode 100644 index 0000000..093242a --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + uilza2BvwrZyAyEBE3Q1vJN24jk= + + + g02Az2wKJf7eHzlsUeYxjGTvnQbdpPQ+Ubb5tiX+XHiK8p6Qqx9BSlw16DjWiFqEC98uKkqbELroPwEKW8cnicjNPKhRR3QQDQLoSvNzpPfpiPQLfuVKHX09rLgXc/iiWtaD7Yr78+1inMspZRX+yAKDfksIP6jU8qx+7qb/7BdHxCFLOqSTkyt93g0thHlRpQo4d9HYzLBR7gWWeQoLWX2FSOxN5iWQTv8Pd1LDpT6EMj2QE/yrM2Zp7w8ZZL4pd5ny7g1IKHlgTHl+RV1d7jiAQwyobFho+MzOu/GrTiax+KIxB06i3bg6u8bv/nge8CIdacbdnkAdxOrzENFi1w== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1.xml new file mode 100644 index 0000000..6d0b44d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + p6nyqzg16gdvamogyU1t87uJguI= + + + YTRrUYMYZlQuK5/ZxmnKixZowBZ87sXiFfHPLwn/GhtNj97hOQZAjRqulsCPFCzVv7g7liEJIJ0Q+ALMOOj8gXF7fnoc0buP55b3gFIwUy6KqQNxe4legBbkAJQuJq3BRIuqfphEKlJtPy6I9lBbY9vqVw3tkpSTE/o7D0M/ko2unyrPm83kRAUG04HeNsJ9+YFoSaL5UU40VuItrjh6uFohh11xORFWQgbUcP8mSF5Ilx2jfuwmpn6ser8H8Z9tvAulKw9oVzAWyf/+lkWy/B7NTdxvWKCo6rJRpxWnFIi+VAGn4NMcPbshawh+7ugdKxFKG18AE5Gmnmmn/odQ1A== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256-Expired.xml new file mode 100644 index 0000000..405a19d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + rDS8dgj5o0I+IQ6Yoi9EvNUjYd7P43IOBic0N/wN6BM= + + + GBu5Sj6BEGuq+TQq9b30MtonRKxOJIh08pn21OzmuJLNzNwD09h9iMQFZ59JXBNQ8LPlpt37mQXJbWUkM6yeEBT/x3K91ydTjvLcwz1vpJdqvoi/wYvR5ZjAS4zbwqItflh30KXzcVb0li3alYxnONX+6g0b2+zuAHS7rzDNoQKH4mNFvP+Rsjd2+ywAyos63yGI6U1X9yIghU00jd59Dy2vojj1CecVhKuBVKp2KbkGYoMnRCTZO754s0mBapzwsBGXEfy5D7lFdYAJlpgwekF12CE70RlaciiUzTpEg3FUWqB614c2uWWoXAwUumk6+CjVTM9GGxmIsFckaIfTkA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256.xml new file mode 100644 index 0000000..89c104a --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + aInU0JkQW/o/CkAykHb31ngX/WGgt6y7Bo4A4fQAn6g= + + + OX/Wg3n65Zmn/0DdqgGfMXyix09jI1s86vXo8+XVv1aIvtnReSFEDaNUovHENbwzFqPlweiecoRjhx/Hm3Fzlm/kJqX+nRM2Fg/4OBBiBcD7A1aW6P3S1i6MQrWcyAIg01jqGg1jEnBEb9iHbxXA/xPQ9ymtr9+Yd9ecrNxiNTs+nHL7TQAmR+5wsgreP8zbio6kRi6ZPTtbN2rwVDE5Ff1g6MxmdHnkhZD9JL6iz120rhVATv4ndVN+lGHg8iC7TFOQPhHzQTiwm0Tk85nFpDDxgnse6pNDmcSfH92tzRRInEkfLAb/k6ErkaGTAGqNs2vXKKy96eoUoP0FBY3cOA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384-Expired.xml new file mode 100644 index 0000000..38e77fc --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + PPFvEoFDmniJzJ1zJNOzK3lwmOpaMqHj6oq6mR6Y2xfrNiot6YdzqdMkWTBM/zf4 + + + XxrBRuYhKXGhO8AC0daFAAJDByqHtsHnUfLRmMsODF0NDRWakq/3bBdH/RKo/rW0IFwp7YcDU5QUoCoNeRiFvJSd/FPWGa0zp5jYDCtYQigDejYO/wNfhRJuMZr3RW0TTeTKRKI135DjYTqVAfIsi85L5u2VyAs8zd/kjzwSuBlvmBZ3nkUAzhUSXkgG6si8FLwLAe2vTCZuuMYKmq+aJwAWTruEL7zxkt3menrnxjgrgX0lOVM5FuMPlc5lNJ/XrtzrHzN0QHg7YovTimBSgXHYck12j5aTiWuLWZFVx74fidEurSZQWPffJ+slAbOu2vM1Nd2hbz1B69E/K7GfAQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384.xml new file mode 100644 index 0000000..67c748d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + uST85AlwZ3rhQE2YvlOeksjz8LLCBNctxZ87WlZ3uUfI5cwfOg2mWFlcH+9PygVz + + + gsOD3NKDaGTkZo0PaT8waWPMKpnx2ZCDeET6o01/P+d0Sgg21rwZmC9CR0AA+difQQv7p2AnHPPKMWMkyADXKIjmISjUYuiAAJUPuX2F7zdbpC9S4OtxtLMorCqvT6XztuaeCq7cJ7quwMa7M9TeVwjBi8tVeFbbKzZm1r5mUJURVIv8X1yxt4dqLJ1TJ0SHzwFYlFQ1eXmIuBa9bslQLLDG9b24u3oygxkBTER4lF4hkss/wQrcxgPjFGjjgqk0XgPKFUqe1iuwKJP12Vgaf/dV2OHEG7XaIhclXSO/ta0qDbLiypqfHAP+tXRXSf0xl3RzY+qFT+HRV5RP0CuKGA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512-Expired.xml new file mode 100644 index 0000000..311d75a --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 4PVq29/DAw6856fAnQfcyfQX1rne9u+FFVoCHI45br4HOaayM+42aqowIpB6gsb12wyeahJdQ58fQEwCUb/kQA== + + + k/SsVZaffNfZ5NAEniZWzlnR4y6NFkJGkSCwb57glAM+lCBYziW/m+Pb4wZu1qjuBFQr3Jysj2aO2ntyw54Zcrt8tY7iUKZJ0I5rJFwzVppkkfpuyXVy18MKLq1c9lzn4HQEoUTn0zYjdHhURhpGOYh33YWwOUDJl6+4DnhepzJMq9ast/H+G5iOt6J9iT1hM3LWDZFsjUaHCzdGillIFNBynkkXhGji0r0/t1WjYrm4uErVDQQ16VZ1NwQamEvhopcOXvrrJy/Xbz25aUtdF1r67qMXA+MdgNV9iFhHKJ6Ss67JB1zKbLCxVQS8kbX58x3wBBpJP5KtbKd9BlRNXQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512.xml new file mode 100644 index 0000000..aadfb4b --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + dm9mX6mswjADk6gT9PREZlpOuKsJucN88UPstqwUxtOwhFPNDHvTlQ/3+3OVvXUPVeuSJWZAOt0gdqrWZjPFng== + + + R63LV6JilZelHAufN06JICBN+Mfb1L/P1iFWub7vxt2n872fM2mGgT+Bba1YtT5UgVv4QpnhFbmHsy95nc8O9O803fAdf34Jxej4bMha0b9N4yPYmLC/J+mWOWaExvOhfaS64fINvF1ewX3Y8s/YQ8xEy8K2PGR8dYkzRN2FqCsV+DWMaf35j2qFDH0G7IZNrU55yP/w6wfxRJL9+10vnnrqiPLSWzdw8m6Nh7Y7kHqMDhZDpXGNfrfVisdaUOG01Dd3pL+nc436SeV+aN7ygjzgJ4mGtdblu16rPriebKuTi1YFaCFlEVYOJB5XJnQBVWlJ0n76NWoI5fUJfp8lCw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business-WithAttributes.xml new file mode 100644 index 0000000..d1886e7 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + qeO4LCZiMvxkAUb/8GXkT0K3RhA= + + + guzfHt+EktDgStsDSih8k03yNXxHMY76/OSbXO2WWOjaEb7YZ+1B2IRxCXb+p7u2vwyNvUcrJ2/1pujLxhXjk/qW8tPovwQqVKAycXGwbVembp3aPVTlA5oO5d/R2dOZMo8261YmpLE8me/K7wAHLVDfdTGHfaHp4KvKURh8PM+uVj5hvmgCuxhCnaVTJTic0k/goPHk4aRA5XOt810CphIU48gTCNoIF8KKIuubIQ6Z0pwtu6dkGQwktnkt8cwReKEOk577VlkqvCIO6Z/Yc3gW/4owTM1VYdXO0Ujw+DtmwHoN1WrgTVLz4rhpWcR7U2SJF4vIXl8w3t9yze/Gag== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Business.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Business.xml new file mode 100644 index 0000000..6d0b44d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Business.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + p6nyqzg16gdvamogyU1t87uJguI= + + + YTRrUYMYZlQuK5/ZxmnKixZowBZ87sXiFfHPLwn/GhtNj97hOQZAjRqulsCPFCzVv7g7liEJIJ0Q+ALMOOj8gXF7fnoc0buP55b3gFIwUy6KqQNxe4legBbkAJQuJq3BRIuqfphEKlJtPy6I9lBbY9vqVw3tkpSTE/o7D0M/ko2unyrPm83kRAUG04HeNsJ9+YFoSaL5UU40VuItrjh6uFohh11xORFWQgbUcP8mSF5Ilx2jfuwmpn6ser8H8Z9tvAulKw9oVzAWyf/+lkWy/B7NTdxvWKCo6rJRpxWnFIi+VAGn4NMcPbshawh+7ugdKxFKG18AE5Gmnmmn/odQ1A== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1-Expired.xml new file mode 100644 index 0000000..41d8302 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Jjm4+DnMATEjIi6fTZyJ2+TTytk= + + + LylgH0ambxKWodbu6LYpEkg2qSZI4XNM2sawA5yx4s8ll9omRkUj3MJiCjVKAHDvXNnhVvNKl/wkcey/tUaK3NC+YE3WGjFK7iTHwSdrlzWXJma8dWOkdV/UzYZJ1s96fnPGxUUGusAKsThkqpRlZU/sSCTIylZmUBBxerl5Fa37iXJJIGsABvUDaVb3BlyVlK+5iirVYoSpbYeeH7n/hgJv/FEUC2nBvzUYUX1J6IIXLw8Hq2ifi8PXbaScDraeN1Tv0gtAlaSGfuWuMn2Qu3Nv/m65en+sNRIevt2eqDeTlzympSC6YlrYs7aRCPPxYyeOkxTxRCx0n0m3AGg3+g== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1.xml new file mode 100644 index 0000000..564dda9 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 400Z+sv2cEkXlqj8vZKgkd+JYKw= + + + an+YrMknzP4MHj/OAj28cYCgkWQ+lfY8+g0XUa72P2AeJboIw0oaC3aJY/Cw+P9297czmB+8kG2yMvxH0cF8v8q41hU2PQJCk+/77mdisnb2PXOkWN2j8SCifJ9IVTc3wi/zPqFFWXgaT7INLYnnaocr9sT+xWptXID2VpCRkrNDII/zlaewiaisepUgWqnU964ooz+h/rkiEhpnnlChDOPf8+zJOzeOXR4vWmoFL9Bz2kSW2JKjXrxZIsv/hRXzdQpA7kAohl9hIl6HfBeEnIBsBkJoanD1XwtjjADMBKJridmgkAZ9AiEjF36HpMLwO5wqFICWFtO8sWnyg3ky/g== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256-Expired.xml new file mode 100644 index 0000000..fcb83b6 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 1FLFadsvRQrJnESpw89YMV3M+EMYX0bgOgtEp5bjbJA= + + + LiUg0ebNdxZnvBlprt9n/9yE98zIHaAaN0/EtFz7sJVv+Rsn1GwziHL2SHH2RtDQGhmaUTpTvjzdkwtl9n7MxvTQL0fBWHnP9YS8ORn91YmvK+kHSISIh9q8+gY3F6h6kQrr7IWbieCjb1g3RZ0gRWF6PsYvJLCxBVzCdAiDgVnQ0JTXmzkt/qJmZ/WHEhBqc2oXmsgKqr6H+sjksQeyGPTP6eqWACyVSoAZak6IQXVxWat31N9wt5oDntHdOmhjEyNT8y/1GUc+MuE7KmJmVqyiHxbJm2GtpxsgvQpQJJhvQ9vMxjxkIvGRTspD6UDBR9pwSHERpo2qZbyJwM+7Rg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256.xml new file mode 100644 index 0000000..d4bf976 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + SCEbcHwLC4qLpSYw91dztgWL9tmOj40T1YaLsvDpSAQ= + + + erhf6CpZiA1oXva/1CSNVrW+a/FNm6hS6yweIF9806IzWcqJw0uJZmfgG2GLq20MkVGhWrEoSF1m1nVUXmBPe8SyDuYE8Lt6vuTRl7XgN0D6Xs2wTrVkvEja57EpvvRhTIHfimED0nI6IlIQxaIwJ72Acnbu/pj341m1+lyNBGDnkuuTSBjZjg8SsQKkjsCCMi+wYxYozZzJCoxIcbONzxr1+TGgyxaF7uWKYvIVKlLhIVHvD6QrkuSCPRv8P0GKcCGgxOcIF8g3HK4nj3jMcJSlNSw1nV+XeuBAid/10U2Bwj8OEpBljxVPDoAHbZIgVhaP2KukrBXMUAT8to2mOg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384-Expired.xml new file mode 100644 index 0000000..032efcd --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + PTsEcIk+g05Sc5V4+HN1hSnRN1pHOb/tVd5PvBsAL2yYJraq/fiL9+EZIJmLfkh2 + + + i6HLdfh5LOlLJWtcZa/ZWNYWklt1dRQI6DaXcEcN3NR2pazZ+t1EN3/N/USEbytDZZxp3LgJDjNpMQoHqvpksex34ngRSUELAnvjpWOSqll9YYctP0qXNAl7/5oUOSl6H5qPvONI25rim84i6gZycLmbP96lf+rN8ypnh4/Z+Zyy9/6PSnLkhmRMEQigEV4CWx5xJ1hb3TEIr0LY+B7CKlhpcxmYVr91NZpWkLy4PdntsiYT4n4UqhmbOhOVOlm0XBz9o5mGpv+P5copwkhBDKuX0vxO37H7RG2cenKKQBD/30odEPAidJZaTBA2gTZHQ4OTFivJlBmj9Fp4cWyMdQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384.xml new file mode 100644 index 0000000..049b6ec --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 66npTiUCvY2QX0faHbOmdt9UFbZoaiUn3TAsGpDR1ztg6Li6vaqNVnyDfpnTFSrU + + + T5qaWkfR5Go0YpnyaZP0nKKFBouXLsSwKbz6JcjcIN+lyNAkUh3ZTmX8HSi/cH4g7Gebi/KzHYfu9r3ne8pB6EmmmoMeIaeOCMjIXr5IVZrJQKwhbb7QWa/uACx9q0+LfWk3aYy8UbN5YgeJlRzzujPLgO0XQFHMvkUy6Pedj5zkE2b4TFVYYPnLRaTilpoBxrwxzyrF2Ry3G/ooJGCuLNeqb9o37WSmJ8xNWA4N5lQzBwUXyjFTstie6Y55JCSt6j4xWdFoZrmuv+4KajQdo+QFx0Cq0PdojPpmPi3NoZe/txiBBCUtADtsFqgJ4XXJvSVniqI4sp5459vEwB6/kw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512-Expired.xml new file mode 100644 index 0000000..294f0ef --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + N82aBBzYbz+9C403mj8hyDl2phQMyVeDt0iCh5LuGymlO13V0jq/D9PUidarWvCpkXsxE+i2vJXNDI/YfzhJkg== + + + IT5qHnY1CPgnzzmLicwK0i5Lcmf1zo1tA8QZ/jDHcJ2X+QhZQejckYNCpNTyVbVIxYzyC1tGgXBZWTnBHYTeCWi1jTaPTn7aI3axtyDvsdAGHotUIAe65vk+HgAatL2uf9adUjpD13JyvGZHU5IujBx8y0IrsjgeO12pqhV5FVzTKQ/ehDuO+m1VASyYZkNf12/lwmAvVOoD+ueIAkN5HurBloV8WM+N/t/HnCl6qlFZwCL8z2WKdNgCGXRyjdZbUlXoW9Nfw3BHQtLfapsA977AMw5Rxjunkpua25MpRrVIQxlsjkofGDHHVQ5xArwXMYs065l4YbcY0jMVHIVcuA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512.xml new file mode 100644 index 0000000..ff12705 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Bo60tpNT8AN/93AbzQVmDkcJ1LC/T2DHziZGOeLM31je/LK4G80/t2CJIi6VGVJBiAaDEnXv6rlZzxwkwF/3+Q== + + + O0XxB56RkgL1bzZ4tg4ihGKBiSHXT0kX0IXouN26AP6Za9VkmUHU2gh/u3nWIkbIl+N/U6bSHCKxF2DL3Vfzmm5rAeM/jssEoWQFaLBPCNGhNmWBV/zf3M4PuelYN3jxAdmsSG5xecnlxk364euT0GISmLnQw4eL3tBZQLitgTzP9WqlxYn6cZLkDHxAZbzyXFVLoQ4GDx7yoR0YWjiK+dcOJ/xTwEmTco+JHripRW/H9kPA5bhOrzaixn/qflCInt4P6d+w/SLsKH736TI+V2mh5g5TVgNkn0Eayw8bprxgxGcEyfAlxOrb7KfmseaQaFXR+tHNzEGhzRENEYWRvw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education-WithAttributes.xml new file mode 100644 index 0000000..faa41b0 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + eUul3fR8/Jz4Mcwt+i1pxM0fVwc= + + + Gxg+CDMpuKqEL+WtZaGKtuL4wGVjhu3I1CrprUAvHLJR0cVTa2HM96usrRHv7N9c6cvRC4IBNVUGp2+Ovqf2aWM2Eq0uMNGjXdGihyFsCnJ29/bvDElbuMu1N3Z5VuS8l4onoVKNik71SWiUhDcdQyzJ3XbFuEEos5xjWv10yRCRchbd6lRyJzcrqS/JD0KsvWCyDY5dAAFpC40rf+GeVP8i70XDjzFKA7b2UJZOYhqafTNTK0tTyZHp4r2WeIDhrDnSB0PeXO3FiLqBnJx9bismcD1hP0OvgHCVEkWUAkERA+x0LKfi0DhQ+BcRnT2MejDXze4+MxRvaZHk9sc+yQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Education.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Education.xml new file mode 100644 index 0000000..564dda9 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Education.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 400Z+sv2cEkXlqj8vZKgkd+JYKw= + + + an+YrMknzP4MHj/OAj28cYCgkWQ+lfY8+g0XUa72P2AeJboIw0oaC3aJY/Cw+P9297czmB+8kG2yMvxH0cF8v8q41hU2PQJCk+/77mdisnb2PXOkWN2j8SCifJ9IVTc3wi/zPqFFWXgaT7INLYnnaocr9sT+xWptXID2VpCRkrNDII/zlaewiaisepUgWqnU964ooz+h/rkiEhpnnlChDOPf8+zJOzeOXR4vWmoFL9Bz2kSW2JKjXrxZIsv/hRXzdQpA7kAohl9hIl6HfBeEnIBsBkJoanD1XwtjjADMBKJridmgkAZ9AiEjF36HpMLwO5wqFICWFtO8sWnyg3ky/g== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1-Expired.xml new file mode 100644 index 0000000..ee5654f --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 63358DiVPPqXul3k4I/IRUlsYLs= + + + OsManq7qMo1GAVrgvJbalJywCS4L3EnIGwYbPR6kyYQJTpzATrfpoPFodZpkeWbFfvA53OoDJDLefU17dUP6GXoCSiKrXYJyDcvFVdgaVmiQkKUYeSnr7v7Bk2a1mpKE3HSixBujC1sHBF0m7I7R/jlPO31UMCYP+fV0yDe+vaIvlj5vuRJ4MCAtiUofiGR91XSjwu/CMHkeKWd/2gRVTFED1/qx3j5c+sk+znqhgC8Whjpc4ImxAKuvxGZyou44ge1FuBxBhcW3pBHEZhVuFaX7wDrji3n94GN0LgD239x1qpHAV7HqRhHmsvDd1BwgqVL6Kaam3OTUYI5uWCuRJw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1.xml new file mode 100644 index 0000000..1f5c46b --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + fD4oS1TE8Oa5YpXuLMQnXedPOak= + + + ZtGhHM65cBOjiB0NW0jymGeASy5TbceYz4IRY5FEVo0e5NjalLwGNBND6wS6T2LtWPIDam9YrtxuhI/RYzismfkKaNcEAEniNWTE67mu0+n2/X4jQou6TyZwwLPxr6bzSsQmJopTHRm7XyMj7pKDRNFP6b7F4gZeVfSPrkK1uAoBgtMV7Zq+McnQje8Vy8SpFAG6mgypvMHHKatPxqOX1pqUZYmYVvxlv22Vt7iHPwcxHTPUF9UAGrIkQmWZUmEyGQkRAmD+YzWactLX+QnNEneUTV/tA0NVeVs960/0sYZC+Icu/oMOagt4UP5ttpJhCbYreHKDOVBOaRYw5NUjyw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256-Expired.xml new file mode 100644 index 0000000..892eb8d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + o9l9Y5YwZI4wRyvyUKmNMuz/TVDTll4uwPoK7tX9YgA= + + + bn1jPlH7XIAMNm4TgMI/eYb4eAZqmew0s+tGs7EdchdcsrwyAKiPxQN6SiVaR1ES7sSV/7dmUrqddx5lNKXcJi1Pfbhmw4Iau8aGpel9W5IX7zmDnClNY4Lv8GxQ8eS1/1BAl3pfjMR2l3IveCFAq2UI+DY3coX0/5OEdIlI6373ncyhDuI1CAE79TY490B/fosNKnIS38ZT3MMWO95KAhFJH3dTxRuEYToyHsLIyRiS/5R1Nq4WKWVnyBvNticf4vcF8R6tflJtGO0bxhiut5smX1DUMJuN+/zL81/ZQnddzw203HNDH6jgH2F+AvxbU2nC31hC0kwRebbk8rglSg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256.xml new file mode 100644 index 0000000..94d0ff8 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 8OdAjqdEYxl8wnxIMVoJrdjvPlCjjpSFd626ednyN30= + + + YwM1s0tctRqgU1LOT0pB0n3uFOyaqxG0FkHdjX7PmFNQj6LqAf5LhW3Kg56wyUU5rxkko299HE4Opt0MOudScGdoMEDndQW5fBz68oHdm+HkfYuGRvGSLJCWoHGW14G6Ozpg/Ezk9nvtCnPDQnaPUKYKXsYmlFS/QFVqukRnn5UBwdqUcmPdLGwiBAbDzHBSEj0Q2Tq3e+XM49nOiiMEUtjukiJT4SRfLeaAjpWx2xgwzEE/b8XeNPG036WRDp6l68KycXGAdkgzIjKdVfkezAsrump00bQXm/vYCwY+GUVX86IySKBNJQNeEDC+exXYJmNSXH+OypZUHyTnHzQcWw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384-Expired.xml new file mode 100644 index 0000000..1d9e994 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + XXwWjXUkaZnrOewtARym9GG175A2sDDGAM1LFVME1Z3hmnJSwGgTz09k5logok9d + + + cG87Xv0eaCykg6FFoNjeaKk2yC1XYfd8szWZevWaOzv26pt4yAxhme69qICqd3L7r3p7j6FbyZRmo0QK5xmBRxv8QYQYRC0Q41pwHLZmUL0IUg6bd7VxE7+We88GU/5qeujYsZ4BhWTyUWhObhyZUCUbAJTDo7WZmoftVpmY7XGcKJ0bOuXC5vocirOQFUaIxeij909sBe5MoG6AHP8E4w5HMCDEQ2MoHBRqHe3/cqrZt9AU5DbDaLOuHwkkv6OfqSJP1EpNduNZkePeffKm2PCyYT0Gqshs5RSS7CXx+UFvT1VJVUwKkMh/pytvidxX4f7fZdDKeK3OONZgr9vrBA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384.xml new file mode 100644 index 0000000..e9472b8 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 71k+K2XwOjwsYLaUO4mZCaI3il0TV8/eLlnIMCcsB8+309t1av7YFMt9RlCL5aBS + + + W1vrqMbMDf3tCi7L1SFbNPSmo3rXoCpKSNs+PFD1+3/h2nBjz3Z4VcKhTDUNG30bfz3q6KiK35NONyCEjrnULCtxxLKNpjHoMXEwS4cNKGknR85UcjFb/Gd7KRWYeiChohdOCGlpik5VjsNtTPbTqYBR7oPGhfdJrXh/uXiLGTAnbflTkBVLiZQuiTjp4RJSIESODuLmv9ZS+beNie+PxJG4Im+iRPjoID4k75FqaOI/0DzYOAEGReaOXxiE9lsU76nwxYD0tPQb61rYJr5bKGRo4Dkp2t7ef7YWBH+SAl6MIn89DiQBce39UQsqFuWU1PO3RWz7MDxhnNZByKwvoA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512-Expired.xml new file mode 100644 index 0000000..87fc1ea --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 0KA0cpSNJOYWw9fLPFMyoMIxgpY9lBqW4i3umL//iGW3zSeJjLzL5hvCDGjciopfxcOag/qroESSqZMRU5pitg== + + + j/M7Uob6lI6N/uQYHmGPXIJ1SagPMJP2DkbFVlgDSAzBrpD56THe85qt14MxYfmi1zgVYsOWLs1S03hdCrN0SB4Ddc2EONMNPl4qpF861X6oFSehEGol8xzDB9hFfs5lbDlLYFPtIOKZw5G0qDOSXZbGlMQdg6lzaDwIWJsU/dC+TJ8ou58KT7R8oAcu8ma99SXjSz5hz/xQfrmtDJz3GPrWvckNwXhqFWUC5LalHLWxrOTP9P2hlnYgFrX157cTYhhItSRsDeSl/6tX3Q7Vf+IzopzkCze77CFXoIcNUCzltcF5j9r7miKSk8Cx84iGs8tLB6LvqQ2uICdjqZ7g/Q== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512.xml new file mode 100644 index 0000000..84a8b12 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + wkARLv42NLFFAcl2COh9tYShyzEBH9+uKPX5i0mwmLNvDPjHLga9bd2vs18dgeAyPxkW6j1KnihA21uEMwBPeg== + + + M+MLid5i1sbeLYoqNeqvOdSMwh9djA/qUBmBMovA9WLeWHVrlMH/PFzh0MmLoiRQ7t/vsW0z8iio3uXwz+gWHGWDlndK6XrzAY9ll1nYnSp+n0KggeXYWXP+RPNpVf1XMeNJevAi7B+8wysZMVtCZxu6ISzXMiYDhjyEZCAoN5Vo8IdAHd0lyjbQWwRA1Ywe6MMz4vsMBsTc80Mt10eSx5zqtXl88EUE+XGho6t7WxtHm7JlO1Ge75Na8Zo4MNRg4+Wk2d6YJzSpr2aFozojOGOEOW9OhC3oiyg05yCCiIr4CKm4XgX4bkcOaIj6tMak7lJA1V/2uKRtFXrl//G4tw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-WithAttributes.xml new file mode 100644 index 0000000..261f2a4 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + fzpbZPYHBDxZw/juuRg4drtYPXs= + + + PftI9XlJ9ywh3K7JrZYmuvk2z83+6fOVj/a7ZfQnJUJhFsiQMYThG1dMhAg1W0nUUg12NFdVbclO8xaHn9L0TNFADEdN8OaKrKTOXYl4RLrhURMOAm+Z2cplm832qtO1F3ZrhqxnQq6g+4odPotfn2qQG2/qdafF8T8+2f8oMPg9QzfC6Cy1/9W2mLB2FrvkFfBTIRe7FLRa0x/CvghZqL1LEAoOCwEYXsaC8A0UsaBBF+Ak3N78ebD6DPpeGYEdW/nq3frZ4tcuX79yn1RP9N/aKRTttD2V/qxWagvOICkzW1RY5618DGiDMqqT7jcS7T5bvIaBPBM3OTg61GIshQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise.xml new file mode 100644 index 0000000..1f5c46b --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Enterprise.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + fD4oS1TE8Oa5YpXuLMQnXedPOak= + + + ZtGhHM65cBOjiB0NW0jymGeASy5TbceYz4IRY5FEVo0e5NjalLwGNBND6wS6T2LtWPIDam9YrtxuhI/RYzismfkKaNcEAEniNWTE67mu0+n2/X4jQou6TyZwwLPxr6bzSsQmJopTHRm7XyMj7pKDRNFP6b7F4gZeVfSPrkK1uAoBgtMV7Zq+McnQje8Vy8SpFAG6mgypvMHHKatPxqOX1pqUZYmYVvxlv22Vt7iHPwcxHTPUF9UAGrIkQmWZUmEyGQkRAmD+YzWactLX+QnNEneUTV/tA0NVeVs960/0sYZC+Icu/oMOagt4UP5ttpJhCbYreHKDOVBOaRYw5NUjyw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Invalid.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Invalid.xml new file mode 100644 index 0000000..e6c2766 Binary files /dev/null and b/test/Rhino.Licensing.Tests/LicenseFiles/Invalid.xml differ diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1-Expired.xml new file mode 100644 index 0000000..8922c22 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + jLb8iPojNsNGL3lQ3FWRCBLQfco= + + + BG2e4x/JiQqbMyd8p7a0JCW++JxqQKHEyst8xQ0DYV4qOuRDdY9X0Q7hY0pZ2trCPRS8OdMamQPphf0Z7w6efU1qMBefp2io7M2WjJar5ZrPjxZ4ZYWEwEiIozHgdEuyv/AfAmLwJdz+5Fcg87tyjrEM68rJUOtWga3qb0x6Q1n1SBTt7LcBdE9UGOPeV/wQaON1Pm2bckYODlRWLYODbtRHmobYCWOfdZLzH3cknFiTJ1dFB1edY2I/3nO+DtqVlgEHQEMLyYC+632UQlHHMiOl5r8aEYAQxl0VY7fYbIa7XRvgvT5ZnfNPsGGukWESwqIoYO1+WG1HVqSNOTFdcA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1.xml new file mode 100644 index 0000000..29b0b1d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 5XugSO9iBxEPHH6DOD9Vq87SeIQ= + + + LX5/PAABSlvvviHVrB2Tz187ulgeFo+snko75ENWLOigeBkxBKeE8MD1r749QKkQ8NxE9yTlKoC8EIcDds7G7x+v5l9KXH1lV/cgJsJSFqoaCLyQzxBIFizNegUVYKy67jz+WNyg/NfYphdNNmbGhBH/kguLtZSgRBo0b1b+t9o82AVOlsyHZM9Y+5zJI4VaD4oXGmeTlrBk06b+3e38Du49+VdH7R+uBgoc7MgrogkorzWGD0hls7J/n2FE375QerqKHPQIxMBiohHeu2bHrBuKQBq7R2QyGwggZBp0eD0mqFSJZnhr4wurIIn6aV6RRoUiYjaNoFJvl6v+ZWmqhA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256-Expired.xml new file mode 100644 index 0000000..15e3e58 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + R1nHdM5uTxbF2EEF4DSbzNDr4ZmH5j0ItMKeBiJzBrU= + + + n2KSVQumP0KJFA6HdUj4qWfLSpqrRUih3o0qn1rrLHmOxJgwjDVjp5zmlJ1PptBhJ9wRN/K7vxsmGtVCrOoQfgIjFqGPifHLeOV33L3Avtbva57HLt2YCPj8P6NfvSgDGhVI4tTCVglaIsZ0lQvaNvOUPlInJkukx9ICcvAH8eDWRk1uprgj2qQR3sIFLpRBjzKOayx4skR/ZdilfVUCf6JwpxrZU3jHy/ZTciYT9R+BaFvSJFhKBToDYNB/prehm/wf73B/FqiIcGLcjzbZZpKzXjLzoI1IzDEKajVoPngP8X4/ZrF1cUI+hQYKzM9DKRf0u288L7dSaWDaV6l+Uw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256.xml new file mode 100644 index 0000000..6bbb592 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + yjJioPpaUJ2yyHKNIbuuNbMxMvmYE1avAQoodP8Bddw= + + + GDDEWSEDjvZ+9esX9voKU9m3LEgw58JZrQgr1kEUrtQhsDUFO/nQ/cDJpDkF8YCCA2x4HwYt2L3nHyfnxoQuLXG22Qmvc05DC8PhblkbrXQNHypZYa8R6RKpphmacPSnJdHWg1QU2oup6elHHV1xArJnaJWmLxbknjr+RTDF28/xzZtabHj+NockR4w5sKQ663WqWPhez9d+c7gb60dKzCR+9nwUvMgWrWEINq1cFoEWqEDWdFSfBv1RmY54BGvMeZ7ISiNc9K7P6UmVzTSInUKQmm+Ndx2bR5Iw5stkb74RDXQ9h0MMwdhht8nrvftMDRXL6jP3ntw4sMgRKS4S8w== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384-Expired.xml new file mode 100644 index 0000000..c31660e --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + +V3GYDDvLkdURCrvmrVzepMd0+bIvaOcUP3p0hv2xLjbS/Y4a4+RWuTilTrN/w/m + + + WaRf1pRiKzNT8ybMIuFjOc6itV1/3sW1TV1VOuneY9jJMOUL0DLnk/d+c8+mIFs4GJxLm6T9EFk6DlMUp01NS2i99DVTQR4LHxJe9s2g8OgKhkfPiHEJsCn6nXRCQxfjpYDjSkc6yrH3mQ8cub7/x+2h0/Sfj+7OFIKX674NGO/04gbJ7BCDXXejlz+MnHYtWc7JdsnSy1MVWX/Y/nGOWT+JCUanDFKR97G2qdDkVHsN128lXPTFx9sDMtShnNEtSczAAgLxYKPzYU6DyQz18ssTWZ1MIFcxLyOdn3mMR9tGA+1owq7j62DX+OjoNvkC8W1usqw4XqcxatGqa2LsrA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384.xml new file mode 100644 index 0000000..c425093 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + HwygZjZh0KIhAUPgB+C55ga24Lrt/ibY0qhJbbD0qhhEMJYHXulhtABxosov0dfi + + + l6pmF0D6PkXCG5EnoAv5KDUW/usfOxrRkdgz7t7f0H+EC+cwspVz+YmQwAHWiQdmyqLfoUijSJZV6qJ89Spf/pxhWiI3SsN1zA0HOoOBVFnf35LiGNp7QTJeqnw1nb4psItFEDlYQC9CHDO+8YTK4j8ybiPm9pBSyHaXgqOks6HnW2bxyA1oIEJbT1PPmEp6PcNvTsdEibJBpNkw0kynUX6sNSwGWlTK15UZMKQwU1IWyhcR53kzx1GpPYocOT1qblqnUwvtcaPdaE4h0V/oqI7JhFiPoPSoqA+Arjqo3uSbj1JaVNbMwccRecBOK7j/SsEwb8j1k9ThxRjrc+tF4A== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512-Expired.xml new file mode 100644 index 0000000..f9b20e4 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Z2M9kAvt//0unNmKnC9rM3xK/P8uxizFr//RkJqesqCq/XnuiaxUrFZxFMJC1kxBI0NOCKNmCH55mbRMes9mbg== + + + TD3z8vPeoJpz9/01N+PFwlMUpXSV/f7U0wEgMPKSUbuEPeQCr+53P4CD3dgNbReFOILoWa5BjBFrkqSnWxgTfICYNbfoCTTeqiruIk3Kv6EOJqflrLB2IBOG6ocBg56Vt3JyPYrBC/GYEsGuEMjr0MhinB82snYfU2EMLgdf+81ClJREv0aaqqQ6tUDpLCZg2A2xq5246FmqRt3NIS+2FOcLPMwg6aJJO6Huq6NyIrZ19puz5JIqdbKdufcdblT7zlN4D0J27F6Q8agI/6TEPfRME7N406yZxxlLXrvIbM9YRQHkSHBx7DVtmPq+ze5kysZsFNZCmf7SCX3qa81gEA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512.xml new file mode 100644 index 0000000..31c717b --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + /vpHtXlFckOs8J0fIE3v3edvSo1VHmW1ehRGAZNb/+acjsXJY3PZ6aqqt8g4KMecIE0WtbwDG+ihrA8HKVqPIA== + + + hw2nRhxJKoAWWNjdbjFBTNw3wz5yeTBJor9Bytw6NkDNVzvKKt2PcV9sACkkXMEe4zgP5VN6g6IjDNc7RUoS0TON9otbEDV6dEWR8FQMgyKK6yd40nb/iwr2mZQnS9dOHHP3SXMqCsTFWi3j9rrBegZtMTJTtO/qeWMXaQzGQyBFWVhI5K2Bv0hX8Him9bmePqBdnJBBSHvlNrrFAmowp4NQkv7CI+oxrfTJYmqraYZnffhO+037VHH/T3hhGvD8yxz9+XoSYU9QGLN+dEEWR+wcWCxgj6WaJbP+ZAXiyFFo7+gO8yu7DY5JnxWZDsbRi7xtzANAVP0STKJOua0hMA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-WithAttributes.xml new file mode 100644 index 0000000..b585a93 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 2wP+FnufP1Vv/ZZTIVT2zXMnK7I= + + + kg+9JQZHgA46ckAOY0naTttoPz8/ieZ4g46/HGOvGNm7wDWUcaoyT9RPSJdjl9Tu+KYg5Vi5piyw4vqn1dLcGm7KsCm4hNCbsxxo18Tv7FD9q40iem7QCSftEdwL7uL7r7rSQ5opv10huiOVlPTMaOoLEldmbS6LnLtxd5Yy5wgDNKk8+RQvJoW/FQLfqU2TC8tv1BpC6m5G8ob7SzQzKUEBRTWAJr/7zn7MIVWA3ElXDgahO2Q21ZUuYc9Gq2QD5QKXtasMIwqriVnE4FhgH+4kAVF5WGxQKqRtb7dp459iEG0H4IT3YjcN0tdpWW4ht8nniL8fxxmQ+rCV/WmD7A== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider.xml b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider.xml new file mode 100644 index 0000000..29b0b1d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/ManagedServiceProvider.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 5XugSO9iBxEPHH6DOD9Vq87SeIQ= + + + LX5/PAABSlvvviHVrB2Tz187ulgeFo+snko75ENWLOigeBkxBKeE8MD1r749QKkQ8NxE9yTlKoC8EIcDds7G7x+v5l9KXH1lV/cgJsJSFqoaCLyQzxBIFizNegUVYKy67jz+WNyg/NfYphdNNmbGhBH/kguLtZSgRBo0b1b+t9o82AVOlsyHZM9Y+5zJI4VaD4oXGmeTlrBk06b+3e38Du49+VdH7R+uBgoc7MgrogkorzWGD0hls7J/n2FE375QerqKHPQIxMBiohHeu2bHrBuKQBq7R2QyGwggZBp0eD0mqFSJZnhr4wurIIn6aV6RRoUiYjaNoFJvl6v+ZWmqhA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1-Expired.xml new file mode 100644 index 0000000..562c977 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Gvx8slBLYFIhjknzDmuZeUTLLww= + + + cQZV2RvrjKRjGpRHmGnztaH++gTx/05Q0+6M+X7i1urRh8QGj+J+rUSafo3DRJuZ5sJNqIV6Hh9DZSBrECx87/mpduF0GvdigkKAWRrmgNEa6r+dv3sCDrIinFVglngxz2Xs6hARcZy7SWKQxRRyGQ7CChFpqMOjRucU40+26wPafa3a+7x2t2p6HabTSjLKtXb+JeBnsJIosAq9R+VgBqk5UuvujV3hzLQsKVj4Wb35T7Yi0kn5EDcSbIup/C+woLYp647zDfHfYe+nrL1mVNwUqE/U/5pvBcPs617HeG0HBgIp/FhXqtRcJVEskfwx7miLqsxv7gFcJQKBNVJPIg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1.xml new file mode 100644 index 0000000..97254d5 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + qmkHDsj9vaYGSLmP2MpSIrlIsEw= + + + jTxcDfrmeveJfFPo5mD54rrVwvLRFOWLERrr3duT/gXLLwkEO96f+gw7fiMMpaao28AvjGUycuQTga2HzU0DUCRDEejDABw9/c/GmpMcWn1qY3kBFBbBBQR1VeszPFY+WMW28R5BSSpHpDkVADY/BA0a/WkgV8c8/COnpFFX6LUlX/IxQ0gHR0xC/z9AfsZpkCXg3NRZBujZHOzX1O8aLvpia1Qvvjp8I1HQz2cpZYEq077MZpaS9sXGXZ+picwGfn1RShbCi7JyBeKFEMle6bgsadsBJTAZAiwRTptH2vCoaEeHcguHlHvmd1szGg9i0VPc8WeMOWGEacSQBzMILg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256-Expired.xml new file mode 100644 index 0000000..0449ceb --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + PC8lT3TId7o9XmFobSg6MKmL30Ezezu428rQikWJbHY= + + + aqVZCUDjNS5e7wj9NkPsJdYhcX68tly1yu4T/ilJnj3sJzGEXx59CsVqRkhEe7bjyMkdRFPvsI0mv9CX3MCnSrxRlbhx5m5X1Zf1qHCRNmime/JbzJb7PGo3qD5x6hYcDEzdkAA/zKJJ18DuF6BxoV6zLCq+sx+ByKD1ljM/yN7yLeqW+WS6Qk9+0UtYbugkxjhr9Rmg7nq2ixJ8Ndh4G9/XAtL2odBXfuUE+dbdxHJ86nR+ShLozZ7YZQ2//MKLAcxNXFHVRJvHiOy8DmK7tycwu5z7Nn0VoQxlDBl5uDz8iUU6lrGxZNlfp25RPP1hHGsfIijMZn7ian5bp/DSjA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256.xml new file mode 100644 index 0000000..9d0bc3c --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + xN/2Y29aUw17+edKCLOAYoHA2RECF4rsnfZRVqHkCrc= + + + HtelRPrOyrv151CgKmxxntgMgiArGkEYBETBNCt8bsN7UcxpjTUIK3wGfcc2XuYR8F8RXIgbxXFlm3+vIHK8Jek38v8wb/1m1lVjf5bHCzQQrBVyFgPbZdfX3+ojRaG9XyoA33ib2sSiBDWIaO6j3iQ/5Tdx/YonXAuA0Te20Emm099BoOjfI3GrZla8nCplmjR3R5Lg7Yi4QYF8KEK4IxqN8qd2hyeNKoyVRKLGBJubn+xCf7Jtt5jVSJr1A4x22aqbIhZ/b/DvPV4eCgcaCxde4r3Bv9fVsVA3YRZ6TyEOrH6uhPLsgrvII4XBMwVfAtE/9lNQ6MXF7auqitgHgw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384-Expired.xml new file mode 100644 index 0000000..f12b287 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + euOmiZl5jWCV0pHQKMNBOJ54q/7KMdd9Wd6a3xwmKnLsnKc6nHghaBRqbls0Crl/ + + + IaaAhMNanfDBceN7F/9DF2rxIi+9cH8+x1AyEdGOhOUnga7GgUFjEHXzzkWeHlHMmnmm/k69/SMbB3aq06WxXX829wD5TE/ShDA3B8+4huzuIWuluM5u4wg19rFGTclJxzjA7txJXr5dgXsW9fel6z1EpoSILhYhfJJJowRtasx4wR5z/4o7lpEjOlnerG0oCIBs6B3yjSCzfyobGbSMu7ZA1HJ05foPVBWg7KIfQ6BTnEjm1KrwlqdWsyG3+KAA0qASMIBup7j4+495wsdkOA2N3GNct/QHTOM30VF4CNKA9dvbm4ZI45SC6ZeT5C1Jyxtae6IONaKfrDs4h8+GIg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384.xml new file mode 100644 index 0000000..dbd473e --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + cC36mce7bhLi5D8su0waH36iz7QauupmNgftvVS6aC1g60tHUhR4kD9OaA4tomfj + + + OE27/1rJWfDECltU98PIYFYayMqKXXtO1CNgqmWDN891azuwhU+xJXxUH31sxJh/tpxdlNQ13bdDt4QuxABYyYGU4A65D0YpSFXRW69rw6F10xbD4Q9zpQWVqq1pm1qFzYr1zyde9an3Es8lLufk0O1cxEpQGxUztUVt/MqG9p1sTiY6aQkVrvgagq4QP9b1Ub3zXSU8e/24SBS4k8fTvRcdVRq4OJZLgHlup4X5zNk54ev0e8Nl0L2pr2PzjVEozoYjVb2MTZMF3HiIT1dd/w1dTYCBbzALlyC/64f1kyk8yipdlbTyOTs/bSKWuv4E+PrLFgldUttNdlVtZ/RegQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512-Expired.xml new file mode 100644 index 0000000..cc9d4dd --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + rvdobDQX4mmqYk56CkDz1Wampv22/WaX+h+ZXVFI87t3FWRfQH/qlH5fZy+xOTo5sKnlJmRsjamvh5v9XBKZRw== + + + Qt5GBDaofjvr9NjDLxSH+xzKgmHsdoLX8voWd8QESEcJrSpgUFL5LnnFBorDC121VGC5be1dRdQPaj18fiD99Fata8j6Xll/ed7Ioy4sIC4hC99xwsxZAxTDsHOcHPAVXzNhF0yhUarusZJ8H6OV4uyLWXYG6yYxoSYMogvGkQ1Z5hVDbzXvUbiLoFZnmOMKwiri2IgJ2DfYgfOtrK08iESuy5CF4+/WmRxUtKu7Im4ae5BQv8844bQ2dBRvifhy6yAVVtRk/hc61LIlbHW05GvuYwKcs6YFzfERhN+BkSOxUNNxeX6nh/cRCxhsTFxPMj4ReH2ZaPkPkEXXvxk9ig== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512.xml new file mode 100644 index 0000000..f093ae9 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + xGkRvJ3mxbKIx/nVrcMekYOCJzwQ0oji9xD+n8EggbWih+mf+LvJ/3c6VjxZrHCjv8WxcZ4P9KMKHbOE6cBtSA== + + + npAmmRkD0c7hjT+Hj3GEzO0bTTVQ5TytbiIZ3q31ueUwNKPYh5lQRJKBfd+t9mUo38+5ZUzd4a0VAvApbwWkSAS8h4etP5dfBGxZAkivw41SOGyHP3wvHW7zo/JIKg9QuRhkEBIuW5TIlam/rMHrbBM+lNJQXiATfnB5bHAet+qGib7ziEtUjtGRRTBWDeN2eIVJHTthcPO7c982mhf/J49kpXw9sEQeNJMgc2ziDdmBu2uD5/4gHUIBn286EL+l4pryaJLryvUurgcNVYZ62O1S6diQnngZYxiaHaiImfWgpU+6txZS+9yO+n7JZkXJXzqyIzgNcLSpGm4xDiUeQQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None-WithAttributes.xml new file mode 100644 index 0000000..a5464e6 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + BwD8y7lwYd2r8DPXIxxOHksFnxs= + + + Vidgi88qhN18sZIDr6MwJIjBV+tJnIb2NSsMYrc6vgLQ1bZoxuMZjMa/3oi3rfsR0dymPo7LswiaHiMrvJMnoValU826+KgFL4crC3uGjqXD5js1r/NNBqVFbvnLwGUpD9Afc34lkkX8CFQ3lf3S4DI9y45HFfJVMzBNh6NI5GXOnxo2u/ww1mry95kYo/yrQmyysei8TjCljMzZiG3DMXZAzG5xmaZ+9rNR1KNOw2po59UDnVIhA5/6gKC1baV5NGOVgGn9PU7sUeTK7VWmbAAudu7RoDhUo/c/L0B9/EQFHwVRWsMY3PHJH6lBm25TdrIEZuajeS4F2IlrKbMMeQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/None.xml b/test/Rhino.Licensing.Tests/LicenseFiles/None.xml new file mode 100644 index 0000000..97254d5 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/None.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + qmkHDsj9vaYGSLmP2MpSIrlIsEw= + + + jTxcDfrmeveJfFPo5mD54rrVwvLRFOWLERrr3duT/gXLLwkEO96f+gw7fiMMpaao28AvjGUycuQTga2HzU0DUCRDEejDABw9/c/GmpMcWn1qY3kBFBbBBQR1VeszPFY+WMW28R5BSSpHpDkVADY/BA0a/WkgV8c8/COnpFFX6LUlX/IxQ0gHR0xC/z9AfsZpkCXg3NRZBujZHOzX1O8aLvpia1Qvvjp8I1HQz2cpZYEq077MZpaS9sXGXZ+picwGfn1RShbCi7JyBeKFEMle6bgsadsBJTAZAiwRTptH2vCoaEeHcguHlHvmd1szGg9i0VPc8WeMOWGEacSQBzMILg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1-Expired.xml new file mode 100644 index 0000000..707ad9d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + JlC/SlGwT5VZ1As6902dMQzx9/s= + + + bKyaVXsg94Oqt++0a1VaaP/YLowZMatdcrvmmAtmeokQqPaR3U1PvOAkMe1mZHq44UjuVk4xfNKzMTOKI0cUo4Xkt3godK01EIvo/KBVXaKb94szrGPavx92IemtRG90H9BMChi0ZuU6isj+oTM+uIaQn/K6PRXzC8N6D3J9Zrb+O3cl41yDRvA0uA4CDoHXAeX/hx1CW5HATmkXVojl2n1Pex8oTEuddI3pFGPSeode1KIaFnKVCXfFHxq7vg3316WlOWNad+cluGkhPDdzBbb+ixlGaxf4EqEgsRoAvLvKXSizHPAT2CiWFjjQ6kvvpt7QSgevyqBywiI9Hv1Zlw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1.xml new file mode 100644 index 0000000..2392efc --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + rjJiafW5/1ttwXyc26xlpKrQ47k= + + + ToCVnHYKpxljzbWy4hfc446eTwZCuJD8xLaIDbT3ucXHra6RNKgSJ8ayiBAEw044MTIg80R2aY8iN03HDNbWCXzA87WnVitJAfa2WML3NSqxV1tt57yZufdEBxocnV+1wzA38O5+nvtThOyex5Y5K4hZG/oy7XSVIAj+S5/IZguP6qis4iGw618JxbaIqWSSQTYHJ0ov23wvlqhHCh3O1afm5yBaaZLJFba+ZKgVa3Jl/pcAf2FignSd/UV14kxF7aQs843fMhMlYIBl6RECyCFbi0cfXXTr7ggCaNVvhehIdIBdERH2r6FTjFPO/tT+EBjHZKz6FcRJCf0s9IVo/Q== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256-Expired.xml new file mode 100644 index 0000000..f07d4d3 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 48UKkVabCROglDBuj4chh0bphRH6nvOhl9oApZdtYxQ= + + + lYGR33+K7y1DqsjqIQtMbP4JEneXXFTmkYEitbfGqg4nj2bUQxy76ZMS6vzjC4WKjKM5msDWHrpS1vH8Q+RZGShSdahUp9PSSgSpWxVP8IY7n++6Pr0D0fmjyeQEI1ineCaDpj88gaSu/kZ5gmcjqkXF6QFmv6F38+JkT/ABowKCVksyggD/J5T3ug77IzkjiamDWIlqX3sWVHMNYAKyl+uoKWOoO1rAvLMiAMYNiaPxaRuFcdBdYOCDCF7CvK+7bj4ZCQ6EsWKbM/jx3GU7vOKPF2FJBs5FlP+VS6G7u8odrlCJVwaABs8gut0ELHwO7uVGcWLcp9z+Ml0jGUdvjg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256.xml new file mode 100644 index 0000000..1cbfcde --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + a03xNVbH9i2blYL+v6ugO0kLJwfAXpY7URssdBN9Yys= + + + MADJUvaJplyh8XnVi2/p35hIm80Hvc/1YEmz16OIrE8YJdJB5Z7KviGaz9rSnnP3GU3i455ReZ1NlZh8/E3siU1mAVsMhafiVmxt90BBFwNAnjoiwa8Xl+36noj9jnOpYwuzQTh+kCgBetDkdydUP3cfEZUBvSpOno9yltmvTBMT85zaanToQcdjOZKgbnRLQvyP3dfpKf8ymSHR5eGbOKb9EYp1De7HitQT7ND2vO6Lz5Il9HBegRliPwX8VtTjTphnOW1YzGJuD790mRyEXLP1XTQe5F7qJOIDMpV2H0dKeHmX+oLBzGElqiSnwW0YhgWGSDF8HmlvKNRuUIRhLQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384-Expired.xml new file mode 100644 index 0000000..281bf8a --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + AlowMw03sMslkdNRq+LpvYrKz6eQOEVdhGXLU+Pyvcdedmr93/FeL1Ka0Kxeeh2o + + + jFo2TMRQE5d1I42sSxL12DjNwDgQ8ExnvH6bPUChrSQpggRJNH/CMqzc6ZiiLALAVZXNcxdTe5HfB8S5cuEHHv0LQ4SFJS/roAY13X8sfFKKsgrJdS/6hy3XOLG/ifzxh221Ek8PX85n3WuEYKW/bmhZ0nKojmSnBg8BjyOWContrugDorNcAMW53cP6amVeKQn8f/dFHMHR4Gcjx9lxeyfQt48pHRH5NewrxvJZrSGWrT98Ow1Cz3HiaCZTaND+iLZM0ql1QaBtdyHi5Hby0qhjET9KK58eC7hQI96NypOx7gaGd9CHT7JALYALMFgaK0I75o5cL+xOuXlKR4wcjA== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384.xml new file mode 100644 index 0000000..6bbca28 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + nO/nLBUHsMP9jFY3jqWVVjGs69D23sXKQRFX2qUKCD/SoAetMLM+y+QLkmDVvvU2 + + + bED1wQctm2/bY4jEXi2N7uF07UOTtUP14BZ1JGcRYQHP3QMeMlQsxRr++u9xl6+5nONkR1bp0B73ba9bj5C7FHV2vSsVInUohubPk2wmICxz/6ehEYOV9bM8aTyWDY1SmTbjPyMblHZM63nNDTZAsmVJrBwPpkuLS9M5jixeFa8IxrAv+tKgm7/TiDNxPgHu3btoqOqPPV1upgUq7CUY2J3NnukM/fOeXJqKUcaNnvmzT+Gg9HiPNVaGIOjxpFwJQ95KzmAJ7FDQOYsb+R6gTZCsu7lFRMPmIQPCw1x7kcv9S8g0O5Khj7P6K5RGqttSwpcSj2olhhZhuEV+VWm/7w== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512-Expired.xml new file mode 100644 index 0000000..ad1b07a --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + Wm91+X/B5Cnz3bqkSjG0zawnLpuCiUxYlI0bSVx6GmhWlSp8G6bCpwMcp71O2p1lBSNb1HjRXu7aCG7fO0xNLg== + + + nWbVu7AXIPRpkRVCwTrJ6X9d/GnEKCHsO0oWtcitnNoJYFkkmlZobyvF+a6IBFBomdbBjDx3d0qIOUNHOfdlBAGxrGqEIA+NBHLm1WFeb2Awzf1yWvHfJpWQbW+rVv0zWzX4wkvh6ZCAXD8tEssOE3rbGu5fGREy7HgZUGqKfJwCcZ8Z8KFg3otrpnOqHDEhjrEZisvzSoxAoBpuQ3cu0Z71/Rb2aS4SxtVWz/fy6YezYF4DksNDWpm1AgeaUVWnar2HROJMS9RfLL+cIBokf0nRCD9oIRAxK167+BfhV2LceRf8wEO+XXQMop6cqel3p7S51+Li+E8EGVNItUvVtg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512.xml new file mode 100644 index 0000000..16a6b77 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + X7NdXcKMbWuAUmY7NQfEssmgSHTgzJIPRniO/8J56ao72i24hqFRvNBknlH3tmBcEWBIyBDujjImJ75zRPtHgA== + + + luzBAGjqEiQRjvvHffOG9nd5bLfze2v3yxj0VWR+XzJogsuK0SvNfI3qoW95Hjy2bD0IVesm4s/2ObJoYUgNxNAmaX+DA9Vyv5/X48KlD5a2GQhf+DSaZlqHKKVqCP51ikGAdVG12pFRWAuThFE3/R2yenHKBmvJoLqmi7J7uuINLOL3utfrWtB5HtkeJS+VQYSE4ivCICt/bKwfAza1asLTRh2zuNkaYsvhZCcqi/2vFumnIyl52cCz4jYs7Va8mmAvC02KHjBVDEljrkuld/1UsRz79Bi6dxq0dRrXe9H04D3E+uElpPN3YsvsKs/2iMnUNtVm9YhctNy9H2wc0w== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-WithAttributes.xml new file mode 100644 index 0000000..35da651 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + NcQfWIn3UmveuAeBABGyT9NxX2M= + + + STSNhpn+iBv7bNQSkR9X+o1IidqkyYN1x0d/a94NdGn2B94MC7dAZObNOuBoe7PEwA+FuR/5iHMgRRHLwyPLpFjIDAVgSg5XapelH4QTjIXUO8Wi0JzShHmMjJd0ID0njV4cPtkxfSzFUcDaosxFYy8H/3IcvDaFMcE4hcctM8+oqIwmyvoWtP3X7gyFzBmAEZIx0grzZhFQN8AyGUDwviiOTGY1vUZth+5rMMWeCASKPS4eGCvvbwCxCsNlGNQq5j/oiQyIRdEVKFvV5JisnB08wBGjL7XlqUrjiXpn7s2XytEepc62ZWHt70M0ccRV9u89zXw1m0pglaF/rgD0/A== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Professional.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Professional.xml new file mode 100644 index 0000000..2392efc --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Professional.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + rjJiafW5/1ttwXyc26xlpKrQ47k= + + + ToCVnHYKpxljzbWy4hfc446eTwZCuJD8xLaIDbT3ucXHra6RNKgSJ8ayiBAEw044MTIg80R2aY8iN03HDNbWCXzA87WnVitJAfa2WML3NSqxV1tt57yZufdEBxocnV+1wzA38O5+nvtThOyex5Y5K4hZG/oy7XSVIAj+S5/IZguP6qis4iGw618JxbaIqWSSQTYHJ0ov23wvlqhHCh3O1afm5yBaaZLJFba+ZKgVa3Jl/pcAf2FignSd/UV14kxF7aQs843fMhMlYIBl6RECyCFbi0cfXXTr7ggCaNVvhehIdIBdERH2r6FTjFPO/tT+EBjHZKz6FcRJCf0s9IVo/Q== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1-Expired.xml new file mode 100644 index 0000000..a596355 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + b2Kxqgwm932cL+5UHE26HFfwizo= + + + CK7av+ulc+5otkYMvocr4yqLcGEnVqpUUSn4Gm3Wg4FpOP0PwbEgwu1z87p9uE5e9VunZ6EI1O0sPBj3JRrS/wZfnxu30CFpZ5dNUPSF7Ny6Nku89H5WrpnwBuEiNFNSITB+CcWjlW7Zqaw50bkFvlDqHPljYiNcHITWgHISaOioEKyBiIupTHnBxCRFv51OVNDlTds/Bti/IFMhO6gE72dbWyBE3CqL5n122X3gtGbcjws3jFYZaBug9go0yKR/yrKtoVibJpTPgbtSbBkDZKKzB1+wrXOJmCVWV7xDctv8aTS13Uw9bPT5FGrtHWphm2Ey4N0HdSUNL5ZIC8QWRg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1.xml new file mode 100644 index 0000000..619de3d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA1.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 7G6jC2aX589bGi9ME5jnNyqoJlY= + + + SnzqogUcae2mo2qQWzYEitGhKYwz60pvd55aU8s2RDJS3Lz8ous1LudkPH04dSSnj+ddDn5Qsqye4YKEZGb1tON9N/qE2ZZzWbMOcynk1sWGOhDHMDTkyE+sqlDMTEN9S1hn5UYfnV4Qq5Xkd8BfLySY5gZ77vJdMv/Y/QGnVfU3xR1E0RPfLS+B64MvAcbZiXjlgtKXWZLNgQFu60Kw9LqPQLzTh4FslanTva8+dtZYx+Met3l4zuyg2JOfNzI05bxtkb6kY2eDpTgm8egnhqd5nsZo1KsPOeXdoz5ikFByAOAOxOenUWpA0VrRyQphRpiLSH4Csk+DI8/3j2SQAw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256-Expired.xml new file mode 100644 index 0000000..250e9c2 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + fwEF2ROWqkhhGnj/1fUVlaO4s7cVNZTuhEoQ2g0l37Y= + + + fAIy9YfSSNZEF0BLfhCTRgFWjcbed1mh6JoYcYMPet9LU4f1joH2K0aPxPjDyZ80udD9DfviQoneD4dDb7hxAANiIwF9mFWiQcvFhWR0Sz1BCeaYLWz4U2sN4uKhAE4Op708WtAI41PF+QoTxqyQ2X12T0gulh0BIx8pCCNKXQaljyvYKqwm7BANxKaGu/WjbI/K0xCfnBmMetVtWWk8hShTvzwEefVT9kHo2K2AWq7C+r1smZjD+0CYIJ9oGoGEFZMHaK49+UoMW9Rz8Rp5iKgiL3MsSg++pvcKfgbmHjwQOyi6bDCMC60aeiLNBCJUMF8nQiyenwJySoghKkSmfg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256.xml new file mode 100644 index 0000000..38f2d4c --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA256.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + TLNe3UPesLRYUa/4p+jl9A0ZS7eDcJ39DNl0Z+hxp5U= + + + b0ekb4cosgA9zAnwFeagi+KCNLGKLO+qeEISYh4jxJD/dtPD2OfrQl/rCnIjskT9qkgbtE2AXMvcvgFjVSyQPKW8xR53Lg/6ERj4YNVLT7wLYc1INXNFCuCsLwxB8nBjW8AXmOrnndfzbdF3OxM66Gm6cmiv2G4h3ZkZgGirN6ang/Fu4gZo4iiASPwYf0gq7UwluH5oVWd7ryfWmzkCCvXxKBSqQgMfgtc9wrwCSRU3UaFk/Tn6PHuUVuYhKSREO42bRsZvDQNb/3Lf1RqGb1Nl209zLnZhGeXfxL3S9nPikhpWij+W7MSQnAY8qjpQ4HVeAsAaAZiUZFqhpWwYjg== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384-Expired.xml new file mode 100644 index 0000000..ea3e939 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + TDqZeaY0GgzA4Uq+TifgL2uO04KUgbsiQSMKEWWAr/eNP26w80Nn8Pq6M/rPERjZ + + + iTf3XPKLdOOpH1Cy2nQo8cQlbMqOWJGj449qn46QMyisVn4RdliRdcyR/Tn+fzNtE96KBOOhbe6mmSGOtvS8458qFX+oET+7Kpq54uYyg48CH6hUkYW0fnfHqwQai9vO71f47ZekH5HHowJ43GKdSY6l2hQltTe0UV0XrXJaTUgkjrrwCeeT85SnUjDkmMvvxF9HTHbv0z7fOelMBmpJhvNy1uKmAnkUheuHPYa/8YFkY8QIR2VGJaa6F9vsHZ7IrJmeZy/nY87US8ovN9Yclp+cMD1OanJAvBNjRwENVrYQTXhVgpJ9JK9j+35Y1hfMc3MQFIPLgSBZ2p5GmP6eRw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384.xml new file mode 100644 index 0000000..df5d26c --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA384.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 8K/YHCnDRSAppWjLQgZV1Jfe52oTEoqqTHj3vYKkdObjmdGEdJmkpMbPxN+Sv/zv + + + OshpbkZoy+0wTTaZNtB0ksMmPuuJi+6Q/meApbTRiuuFU831qy4I3p+YehJKTty3sEguvU5cC7kzcJLdgW9PnGb/fnBY2Bqh45oKDoh6jNnyhZOL5vFez2b3XMpw6iihKotyqg8ZdjV5NZXUNEnanh8YXDGc3RJPzkq3lHAjnSF0inuxVk/4nldmSOl/Cju2ddR0d6BqwR6yiS/TkfAHDqM0p0+5jQ+pU/HkkNqE35wPPo8Ip4kAoAcG5zPKo3ETOWmZkx/p1SnCnz2/2SvjZr/HvuTaG1v54w4IdsJk1RmnXc+p2rmGcI5D4QQ1izrdt3OqnCcXvMwpMUHGVIhhFw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512-Expired.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512-Expired.xml new file mode 100644 index 0000000..cbde1ab --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512-Expired.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 8y1g+SZewkHN3/jbmJlqc0A8qJW58ptFyRq2jfT86P8UZtlQgyXjuAHgGJHNQ2pkmQ2bLEVeKUxUcdOiQZkZnw== + + + bwp77Zj6g355V7HuxiKxQzKyZEhLuyPqAfDxZR7TKudib3CBrr1TyXiQBzgNNw3BuJP1XFaeiHtos7KL6bW7+r/55iFEnyAI2XLTsI3zBBKmBgqwfgzu3aO3TGPIGSSPnBMoEpUR7YuXVJcLcaEokw7wiwRCTAS4PKvEaBClaY6UEpbGeLwp3/7Verly6KTQdWpfAfFmTqV8UgQKyaT0wHHaXueaW7bv1hztSLQgO8OuRE4nVvnG8SO1RPruSBpmanoIiAgq0p2GYm/E7qXDqLPr2h3Neu0PQGzBq4QPuZdCZb0rNfOGPL05CCzQMJystQbZvcCgQcg0WKCZ10yrAw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512.xml new file mode 100644 index 0000000..9736909 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-SHA512.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + ExCeBoMs7cdL1SDK1ExuonIboQ4R6mJYP9tO3Oy24z8MhmBA/p7nzU6TUUGQ9HLUknsaZ1CNrel/+3+n0JRKkQ== + + + hGXOtaTeJJIeSXgPQMoBepPwfywqum7JMxZJnHR0G1NP9oLDi/bBSAgPfaNg0tBy3C5YZYkthSv5p1pLiMdQvtWTojY7i5bEm8unqFTl3Qru4tD/g18ojjdYoLIiZkyJcQsGMzxvlogL6aRMTdKYWLv5jC7KSWTXYdPX5R3gNUTFpClMvPs4ehv/aHdA+F+Vn7jZLhpHxIiSrEGU6dMcqofVS60YzxvYP96/qd+HjGLTe0rJtsGF/IabtwQH0nmzK93tmUmMPBRcaaR5s+ZJq4sjIFm3baEXt+nn7SQ73B0MENPEAhdh8bvbfb1pD0gr0SX1sRKLq44TqKQtwonm/g== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial-WithAttributes.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-WithAttributes.xml new file mode 100644 index 0000000..8d6d815 --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial-WithAttributes.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + gYNLeVzov7m3c/C8/dx+xTrJ/OU= + + + jIk9VxDUkz8cmCtSUb7iNMOTxOGLshm8C6UHdnrSV+yi81GytxROaXQs3OftyNWFkXMvbrJjCCAYd7m0EdB6LCWIq5g9mcyobSmMDT2tpYcbXunZ59PvVniJezAFDChOwPARH8Pr4z+G33w36pWcbH8ZH67E6KEvnwpVIvaSywDpXIMc+t02nMyAzemZJ4RPJxWHfNv59beufinTLLRB/juSQnJjNfUmMK6Bk1L6iwLE5AsYM99BZc5YaVAsUGCKAoGnqxEIKMSL+S8TdxE607du8BteFPRJGFUiljTxTXQzk8hhxakJ24c/MyvOjyxupqqQz/XElevC1tQMyKxcnQ== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseFiles/Trial.xml b/test/Rhino.Licensing.Tests/LicenseFiles/Trial.xml new file mode 100644 index 0000000..619de3d --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseFiles/Trial.xml @@ -0,0 +1,18 @@ + + + Oren Eini + + + + + + + + + + 7G6jC2aX589bGi9ME5jnNyqoJlY= + + + SnzqogUcae2mo2qQWzYEitGhKYwz60pvd55aU8s2RDJS3Lz8ous1LudkPH04dSSnj+ddDn5Qsqye4YKEZGb1tON9N/qE2ZZzWbMOcynk1sWGOhDHMDTkyE+sqlDMTEN9S1hn5UYfnV4Qq5Xkd8BfLySY5gZ77vJdMv/Y/QGnVfU3xR1E0RPfLS+B64MvAcbZiXjlgtKXWZLNgQFu60Kw9LqPQLzTh4FslanTva8+dtZYx+Met3l4zuyg2JOfNzI05bxtkb6kY2eDpTgm8egnhqd5nsZo1KsPOeXdoz5ikFByAOAOxOenUWpA0VrRyQphRpiLSH4Csk+DI8/3j2SQAw== + + \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/LicenseGeneratorTests.cs b/test/Rhino.Licensing.Tests/LicenseGeneratorTests.cs new file mode 100644 index 0000000..590024b --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseGeneratorTests.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using System.IO; +using Xunit; + +namespace Rhino.Licensing.Tests +{ + public class LicenseGeneratorTests : BaseLicenseTest + { + private static readonly LicenseGenerator Generator = new LicenseGenerator(PublicAndPrivateKey); + + [Theory] + [MemberData(nameof(GetAllLicenseTypes))] + public void CanGenerateLicenseType(LicenseType licenseType) + { + var key = Generator.Generate(CustomerName, TestGuid, Expiration, licenseType); + + Assert.Equal(Resources[$"LicenseFiles.{licenseType}"], key); + } + + [Theory] + [MemberData(nameof(GetAllLicenseTypes))] + public void CanGenerateLicenseTypeWithAttributes(LicenseType licenseType) + { + var key = Generator.Generate(CustomerName, TestGuid, Expiration, + new Dictionary + { + {"prof", "llb"}, + {"reporting", "on"} + }, licenseType); + + Assert.Equal(Resources[$"LicenseFiles.{licenseType}-WithAttributes"], key); + } + + [Theory] + [MemberData(nameof(GetAllLicenseTypesWithSigningAlgorithms))] + public void CanGenerateLicenseTypeUsingSigningAlgorithm(LicenseType licenseType, SigningAlgorithm signingAlgorithm) + { + var key = Generator.Generate(CustomerName, TestGuid, Expiration, licenseType, signingAlgorithm); + + Assert.Equal(Resources[$"LicenseFiles.{licenseType}-{signingAlgorithm}"], key); + } + } +} diff --git a/test/Rhino.Licensing.Tests/LicenseValidatorTests.cs b/test/Rhino.Licensing.Tests/LicenseValidatorTests.cs new file mode 100644 index 0000000..98e3a8f --- /dev/null +++ b/test/Rhino.Licensing.Tests/LicenseValidatorTests.cs @@ -0,0 +1,71 @@ +using System.IO; +using Xunit; + +namespace Rhino.Licensing.Tests +{ + public class LicenseValidatorTests : BaseLicenseTest + { + [Fact] + public void ThrowsLicenseNotFoundExceptionOnEmptyLicenseFile() + { + var validator = new LicenseValidator(PublicOnlyKey, Path.GetTempFileName()); + Assert.Throws(() => validator.AssertValidLicense()); + } + + + [Fact] + public void ThrowsLicenseFileNotFoundExceptionOnMissingLicenseFile() + { + var validator = new LicenseValidator(PublicOnlyKey, "not_there"); + Assert.Throws(() => validator.AssertValidLicense()); + } + + [Theory] + [MemberData(nameof(GetAllLicenseTypesWithSigningAlgorithms))] + public void ThrowsLicenseExpiredExceptionWhenLicenseExpired(LicenseType licenseType, SigningAlgorithm signingAlgorithm) + { + var validator = new LicenseValidator(PublicOnlyKey, WriteLicenseFile($"LicenseFiles.{licenseType}-{signingAlgorithm}-Expired")); + Assert.Throws(() => validator.AssertValidLicense()); + } + + [Theory] + [MemberData(nameof(GetAllLicenseTypesWithSigningAlgorithms))] + public void CanValidateLicenseUsingSigningAlgorithm(LicenseType licenseType, SigningAlgorithm signingAlgorithm) + { + var validator = new LicenseValidator(PublicOnlyKey, WriteLicenseFile($"LicenseFiles.{licenseType}-{signingAlgorithm}")); + + validator.AssertValidLicense(); + + Assert.Equal(TestGuid, validator.UserId); + Assert.Equal(Expiration, validator.ExpirationDate); + Assert.Equal(CustomerName, validator.Name); + Assert.Equal(licenseType, validator.LicenseType); + } + + [Theory] + [MemberData(nameof(GetAllLicenseTypes))] + public void CanValidateLicenseWithAttributes(LicenseType licenseType) + { + var validator = new LicenseValidator(PublicOnlyKey, WriteLicenseFile($"LicenseFiles.{licenseType}-WithAttributes")); + + validator.AssertValidLicense(); + + Assert.Equal(TestGuid, validator.UserId); + Assert.Equal(Expiration, validator.ExpirationDate); + Assert.Equal(CustomerName, validator.Name); + Assert.Equal(licenseType, validator.LicenseType); + Assert.Equal("llb", validator.LicenseAttributes["prof"]); + Assert.Equal("on", validator.LicenseAttributes["reporting"]); + } + + [Fact] + public void ThrowsLicenseNotFoundExceptionOnInvalidLicense() + { + var path = Path.GetTempFileName(); + File.WriteAllText(path, Resources["LicenseFiles.Invalid"]); + + var validator = new LicenseValidator(PublicOnlyKey, path); + Assert.Throws(() => validator.AssertValidLicense()); + } + } +} \ No newline at end of file diff --git a/test/Rhino.Licensing.Tests/Rhino.Licensing.Tests.csproj b/test/Rhino.Licensing.Tests/Rhino.Licensing.Tests.csproj index 88d380b..4c80bd0 100644 --- a/test/Rhino.Licensing.Tests/Rhino.Licensing.Tests.csproj +++ b/test/Rhino.Licensing.Tests/Rhino.Licensing.Tests.csproj @@ -78,12 +78,12 @@ --> - - + - - + + +