public void ValidateShouldSetValidSubscriptionLicense() { var licenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Developer, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc.", ExpirationType = ExpirationType.Subscription }; var license = "1-TE6MO5GnjYwR3DcbT8rIXfjk9e0+ZPOb+c27A7pA83aNY4IQNBhgnIf4eUfy0MBvyXYrh9rkLa1hpGnrGu2TMZSoYxeZS07rM7WCqxzd2xXqfzuTAxsO1yNiEo/UwvVZUqz6s3nunKXn1m0b5dbKrsu7hxmWf8P8L2DhCDD09/sxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46U3Vic2NyaXB0aW9u"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { license }, new DateTime(2016, 10, 10), new DateTime(2018, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); Assert.NotNull(registeredLicense); Assert.Equal(licenseDetails.Id, registeredLicense.Id); Assert.Equal(licenseDetails.Type, registeredLicense.Type); Assert.Equal(licenseDetails.User, registeredLicense.User); Assert.Equal(licenseDetails.InformationDetails, registeredLicense.InformationDetails); Assert.Equal(licenseDetails.ExpiryDate, registeredLicense.ExpiryDate); Assert.Equal(licenseDetails.NamespacePrefix, registeredLicense.NamespacePrefix); Assert.Equal(licenseDetails.ExpirationType, registeredLicense.ExpirationType); }
public void ValidateShouldSetValidPerpetualLicense() { var licenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Developer, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc.", ExpirationType = ExpirationType.Perpetual }; var license = "1-IRaNRwlovf7moJnDcQCJW8JDq++p8/1hTNsRnBRLDGkd6HidiJ3OEzpFdwmlDacikCv5oRBisRkJ8edjqx1R21VA+SxCgpGHJE2ftOBpV1OBysguNUSIKJyte2heP3xD4tY1BQNh0vcVhXJDcE3qImhodZmi1aXJ19SK5f4JRA8xOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46UGVycGV0dWFs"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new [] { license }, new DateTime(2018, 10, 10), new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); Assert.NotNull(registeredLicense); Assert.Equal(licenseDetails.Id, registeredLicense.Id); Assert.Equal(licenseDetails.Type, registeredLicense.Type); Assert.Equal(licenseDetails.User, registeredLicense.User); Assert.Equal(licenseDetails.InformationDetails, registeredLicense.InformationDetails); Assert.Equal(licenseDetails.ExpiryDate, registeredLicense.ExpiryDate); Assert.Equal(licenseDetails.NamespacePrefix, registeredLicense.NamespacePrefix); Assert.Equal(licenseDetails.ExpirationType, registeredLicense.ExpirationType); }
public void ValidateShouldThrowExceptionWithInvalidSigningData() { Test.AssertException <InvalidLicenseException>( () => { var firstLicense = "1-Lh95BZUyA92DgQ9B8o10CtFX0/Nhykf6upFj8rOIyodNLLc6iMRD3loJVZv00jtkUkdYPHDHAKW4YGqd8ROc3ZXUyrzNmQl67eUQ1BIELx8QfHo2gwPnQgMgdh5tfm+gtNNBvim0dqki2AN6ABwK0Garnd0lU3BAxM2YJ2k/C4oxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu"; var secondLicense = "2-EEY5vqcJgmhaAR5wJbQc54Oev4z77D8+QLrbbeL3637ip6I7f6F3LqAm/hID8Wmtqs0fNXMKLl+bc6CH+J++keE9gOACejO0QXHa2e2xPpuHDPoKCyaJm2quDwLgzS/KcmlZAzc8H4RzL4rFy8nCEXGfgC83EJyf3L0D+8X1/0kyOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu"; var wrongLicense = new List <char> { '1', '-' }; for (int i = 2; i < 130; i++) { wrongLicense.Add(firstLicense[i + 2]); } for (int i = 130; i < secondLicense.Length; i++) { wrongLicense.Add(secondLicense[i]); } LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { new string(wrongLicense.ToArray()) }, new DateTime(2016, 10, 10), string.Empty); }, "License text does not match signature"); Assert.False(LicenseValidator.HasValidLicense); }
public void WithMultipleLicensesNoExceptionShouldBeThrown() { Task.Run(async() => { LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, DateTime.MinValue, "MyTested.AspNetCore.Mvc.Tests"); MyMvc .IsUsingDefaultConfiguration() .WithTestConfiguration(config => { config.AddJsonFile("multilicenseconfig.json"); }); var tasks = new List <Task>(); for (int i = 0; i < 500; i++) { tasks.Add(Task.Run(() => { MyMvc .Controller <MvcController>() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Task.WhenAll(tasks); }) .GetAwaiter() .GetResult(); MyMvc.IsUsingDefaultConfiguration(); }
public void WithNoLicenseExceptionShouldBeThrown() { Task.Run(async() => { LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, DateTime.MinValue, "MyTested.AspNetCore.Mvc.Tests"); var tasks = new List <Task>(); for (int i = 0; i < 500; i++) { tasks.Add(Task.Run(() => { MyMvc .Controller <MvcController>() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Assert.ThrowsAsync <InvalidLicenseException>(async() => await Task.WhenAll(tasks)); }) .GetAwaiter() .GetResult(); }
public void ValidateShouldSetValidLicense() { var licenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Developer, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var license = "1-rXDHzH/rR8IN83Qmtpyf8vsAd4cPfSd/roXjngSxf12fuEY5+nk/evBTOD3xcOQSrEQLte3BcpH/RxIxDaSmZU11zV4jafnJ4N0u+yfNmTvRhVAtGuVCPj1UgYva64QK5fsPbOXBXq1c9+ccfWoWuB7nuRPaJvUlv/dcHQAy3cUxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy4="; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new [] { license }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); Assert.NotNull(registeredLicense); Assert.Equal(licenseDetails.Id, registeredLicense.Id); Assert.Equal(licenseDetails.Type, registeredLicense.Type); Assert.Equal(licenseDetails.User, registeredLicense.User); Assert.Equal(licenseDetails.InformationDetails, registeredLicense.InformationDetails); Assert.Equal(licenseDetails.ExpiryDate, registeredLicense.ExpiryDate); Assert.Equal(licenseDetails.NamespacePrefix, registeredLicense.NamespacePrefix); }
public void ValidateShouldSetValidLicense() { var licenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Full, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var license = "1-mKwoA4cwRkRKioJ70fh6WcL5Ty+K2Kn32oftC2KFqw5kimAMYrTeKwOX25e55GcTMy/cB8Ssa/SJmFFq6OUSXpgc7TsG6vNA7jE8lYbpzQcaIumX9tu0Kr2655zUne0GcPP0 + Y6OqLnRnOiq5keErGSyohcfZmzkRXoHAEEXR68xOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkZ1bGw6TXlUZXN0ZWQuQXNwTmV0Q29yZS5NdmMu"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new [] { license }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); Assert.NotNull(registeredLicense); Assert.Equal(licenseDetails.Id, registeredLicense.Id); Assert.Equal(licenseDetails.Type, registeredLicense.Type); Assert.Equal(licenseDetails.User, registeredLicense.User); Assert.Equal(licenseDetails.InformationDetails, registeredLicense.InformationDetails); Assert.Equal(licenseDetails.ExpiryDate, registeredLicense.ExpiryDate); Assert.Equal(licenseDetails.NamespacePrefix, registeredLicense.NamespacePrefix); }
public void IncrementAndValidateShouldNotThrowExceptionWithValidLicense() { Exception caughtException = null; Task.Run(async() => { var license = "1-0WUoGNBmCpgJ+ktp3BObsUjsaX5XKc4Ed4LoeJBUPgTacqG2wUw9iKAMG4jdDIaiU+AnoTvrXwwLuvfvn57oukhw6HwTqp8hJ2I0vmNZFisQGyD4sjTDlKCBaOXJwXzifCIty2UuGUeo3KNqKoM+5MF1D0i/kEg/LKztnAN312gxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpGdWxsOk15VGVzdGVkLk12Yy4="; LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(new [] { license }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); var tasks = new List <Task>(); for (int i = 0; i < 500; i++) { tasks.Add(Task.Run(() => { TestCounter.IncrementAndValidate(); })); } try { await Task.WhenAll(tasks); } catch (Exception ex) { caughtException = ex; } }) .GetAwaiter() .GetResult(); Assert.Null(caughtException); }
public void IncrementAndValidateShouldThrowExceptionWithNoLicense() { Exception caughtException = null; Task.Run(async() => { LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, new DateTime(2018, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); var tasks = new List <Task>(); for (int i = 0; i < 1000; i++) { tasks.Add(Task.Run(() => { TestCounter.IncrementAndValidate(); })); } try { await Task.WhenAll(tasks); } catch (Exception ex) { caughtException = ex; } }) .GetAwaiter() .GetResult(); Assert.NotNull(caughtException); Assert.IsAssignableFrom <InvalidLicenseException>(caughtException); }
public void WithMultipleLicensesNoExceptionShouldBeThrown() { MyApplication .StartsFrom <DefaultStartup>() .WithConfiguration(config => config .AddJsonFile("multilicenseconfig.json")) .WithTestAssembly(this); LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, DateTime.MinValue, "MyTested.AspNetCore.Mvc.Tests"); Task.Run(async() => { var tasks = new List <Task>(); for (int i = 0; i < 200; i++) { tasks.Add(Task.Run(() => { MyController <MvcController> .Instance() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Task.WhenAll(tasks); }) .ConfigureAwait(false) .GetAwaiter() .GetResult(); MyApplication.StartsFrom <DefaultStartup>(); }
public void WithLicenseNoExceptionShouldBeThrown() { MyApplication .StartsFrom <DefaultStartup>() .WithConfiguration(configuration => configuration .Add("License", "1-3i7E5P3qX5IUWHIAfcXG6DSbOwUBidygp8bnYY/2Rd9zA15SwRWP6QDDp+m/dDTZNBFX2eIHcU/gdcdm83SL695kf3VyvMPw+iyPN6QBh/WnfQwGLqBecrQw+WNPJMz6UgXi2q4e4s/D8/iSjMlwCnzJvC2Yv3zSuADdWObQsygxOjk5OTktMTItMzE6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpGdWxsOk15VGVzdGVkLkFzcE5ldENvcmUuTXZjLg==")) .WithTestAssembly(this); LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, DateTime.MinValue, "MyTested.AspNetCore.Mvc.Tests"); Task.Run(async() => { var tasks = new List <Task>(); for (int i = 0; i < 200; i++) { tasks.Add(Task.Run(() => { MyController <MvcController> .Instance() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Task.WhenAll(tasks); }) .ConfigureAwait(false) .GetAwaiter() .GetResult(); MyApplication.StartsFrom <DefaultStartup>(); }
public void WithLicenseNoExceptionShouldBeThrown() { MyApplication .StartsFrom <DefaultStartup>() .WithConfiguration(configuration => configuration .Add("License", "1-1pKwrILvp8I6UEGplN/RvjVeUW8DX0G5V2UhskQUmOd46C5rO9Nb+FcWf/xqBaYljRtCydmSqvmv37PFvMD7PUrXI0lyDcvRKoCJywthqp0wqrjvfmJOWcsH4AHaPdWZXIAG2NP77A7EwhjbNvzQ6tR6HovSFv2S5qcJWB0Ht/4xOjIwOTktMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46U3Vic2NyaXB0aW9u")) .WithTestAssembly(this); LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, new DateTime(2016, 10, 10), new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Task.Run(async() => { var tasks = new List <Task>(); for (int i = 0; i < 200; i++) { tasks.Add(Task.Run(() => { MyController <MvcController> .Instance() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Task.WhenAll(tasks); }) .ConfigureAwait(false) .GetAwaiter() .GetResult(); MyApplication.StartsFrom <DefaultStartup>(); }
public void NullProjectNamespaceShouldThrowException() { Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { string.Empty }, new DateTime(2016, 10, 10), null); }, "License and project namespace cannot be null or empty"); }
public void NullLicenseCollectionShouldThrowException() { Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(null, new DateTime(2016, 10, 10), string.Empty); }, "No license provided"); }
public void ValidateShouldThrowExceptionWithInvalidSignatureString() { Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { "1-A" }, new DateTime(2016, 10, 10), string.Empty); }, "License text is invalid"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldThrowExceptionWithInternalType() { Test.AssertException <InvalidLicenseException>( () => { var license = "1-03rl5Irwh4ZsynriqaencPeH4C+e4JtKFx6CehuklqJ58/N8OEePi19h332aQ5DrYPS3715dVEbbWDxpkOm0e9wge9W / q01AfXEN2ytSGMPF8wEuLX6ZC0Lo698YKWhxQxtq4k6ls3XiHxwYl7XKD8n / rAntd6xY8lJYp8S3QtMxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkludGVybmFsOk15VGVzdGVkLkFzcE5ldENvcmUuTXZjLg=="; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new [] { license }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); }, "License is for internal use only"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldThrowExceptionWithInvalidNamespace() { Test.AssertException <InvalidLicenseException>( () => { var license = "1-Lh95BZUyA92DgQ9B8o10CtFX0/Nhykf6upFj8rOIyodNLLc6iMRD3loJVZv00jtkUkdYPHDHAKW4YGqd8ROc3ZXUyrzNmQl67eUQ1BIELx8QfHo2gwPnQgMgdh5tfm+gtNNBvim0dqki2AN6ABwK0Garnd0lU3BAxM2YJ2k/C4oxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new [] { license }, new DateTime(2016, 10, 10), "MyTested.WebApi.Tests"); }, "License is not valid for 'MyTested.WebApi.Tests' test project"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldThrowExceptionWithInvalidReleaseDate() { Test.AssertException <InvalidLicenseException>( () => { var license = "1-Lh95BZUyA92DgQ9B8o10CtFX0/Nhykf6upFj8rOIyodNLLc6iMRD3loJVZv00jtkUkdYPHDHAKW4YGqd8ROc3ZXUyrzNmQl67eUQ1BIELx8QfHo2gwPnQgMgdh5tfm+gtNNBvim0dqki2AN6ABwK0Garnd0lU3BAxM2YJ2k/C4oxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { license }, new DateTime(2018, 10, 10), string.Empty); }, "License is not valid for this version of My Tested ASP.NET Core MVC. License expired on 2017-10-15. This version of My Tested ASP.NET Core MVC was released on 2018-10-10"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldThrowExceptionWithInvalidSubscriptionDate() { Test.AssertException <InvalidLicenseException>( () => { var license = "1-TE6MO5GnjYwR3DcbT8rIXfjk9e0+ZPOb+c27A7pA83aNY4IQNBhgnIf4eUfy0MBvyXYrh9rkLa1hpGnrGu2TMZSoYxeZS07rM7WCqxzd2xXqfzuTAxsO1yNiEo/UwvVZUqz6s3nunKXn1m0b5dbKrsu7hxmWf8P8L2DhCDD09/sxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46U3Vic2NyaXB0aW9u"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { license }, new DateTime(2018, 10, 10), new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc."); }, "License subscription expired on 2017-10-15"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldSetValidLicenses() { var firstLicenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Developer, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var secondLicenseDetails = new LicenseDetails { Id = 2, Type = LicenseType.Developer, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var firstLicense = "1-rXDHzH/rR8IN83Qmtpyf8vsAd4cPfSd/roXjngSxf12fuEY5+nk/evBTOD3xcOQSrEQLte3BcpH/RxIxDaSmZU11zV4jafnJ4N0u+yfNmTvRhVAtGuVCPj1UgYva64QK5fsPbOXBXq1c9+ccfWoWuB7nuRPaJvUlv/dcHQAy3cUxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy4="; var secondLicense = "2-3Fok2mhB7/S/wX7fpMi0PlwWUzaxWKbfy+EGlDE16wZJPOystX0e5xG3JYkVLuUT5uNw6+D+WhTJNjuHAXilFR/rr9lkOdei/9AVhnH5OeARQ1Ekr0ZM+sPjy/SwCpBEU48GLdSWH7V1MBK290XZHGa0c51YDZMjbA6IeBVRPlAyOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy4="; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { firstLicense, secondLicense }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredFirstLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); var registeredSecondLicense = LicenseValidator.GetLicenseDetails().LastOrDefault(); Assert.NotNull(registeredFirstLicense); Assert.Equal(firstLicenseDetails.Id, registeredFirstLicense.Id); Assert.Equal(firstLicenseDetails.Type, registeredFirstLicense.Type); Assert.Equal(firstLicenseDetails.User, registeredFirstLicense.User); Assert.Equal(firstLicenseDetails.InformationDetails, registeredFirstLicense.InformationDetails); Assert.Equal(firstLicenseDetails.ExpiryDate, registeredFirstLicense.ExpiryDate); Assert.Equal(firstLicenseDetails.NamespacePrefix, registeredFirstLicense.NamespacePrefix); Assert.NotNull(registeredSecondLicense); Assert.Equal(secondLicenseDetails.Id, registeredSecondLicense.Id); Assert.Equal(secondLicenseDetails.Type, registeredSecondLicense.Type); Assert.Equal(secondLicenseDetails.User, registeredSecondLicense.User); Assert.Equal(secondLicenseDetails.InformationDetails, registeredSecondLicense.InformationDetails); Assert.Equal(secondLicenseDetails.ExpiryDate, registeredSecondLicense.ExpiryDate); Assert.Equal(secondLicenseDetails.NamespacePrefix, registeredSecondLicense.NamespacePrefix); }
public void ValidateShouldSetValidLicenses() { var firstLicenseDetails = new LicenseDetails { Id = 1, Type = LicenseType.Full, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var secondLicenseDetails = new LicenseDetails { Id = 2, Type = LicenseType.Full, User = "******", InformationDetails = "MyTested.AspNetCore.Mvc Tests", ExpiryDate = new DateTime(2017, 10, 15), NamespacePrefix = "MyTested.AspNetCore.Mvc." }; var firstLicense = "1-mKwoA4cwRkRKioJ70fh6WcL5Ty+K2Kn32oftC2KFqw5kimAMYrTeKwOX25e55GcTMy/cB8Ssa/SJmFFq6OUSXpgc7TsG6vNA7jE8lYbpzQcaIumX9tu0Kr2655zUne0GcPP0 + Y6OqLnRnOiq5keErGSyohcfZmzkRXoHAEEXR68xOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkZ1bGw6TXlUZXN0ZWQuQXNwTmV0Q29yZS5NdmMu"; var secondLicense = "2-dO7yyeqUFb2FRmtqqZbB+fYAThKkGftht8Ky7PB0Gi1GxW2ZlROg1a+fZjJnzBxEgBSup0rSxt4n73zKmcTv4SYrR9r0DtnWxX8DN8BLDk9hX1 + whB5UMYiQmf / uxDizUWn9pxdbMRrq9JXfxyRhOS4vxVhGIEPgH03vZsCWLOwyOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkZ1bGw6TXlUZXN0ZWQuQXNwTmV0Q29yZS5NdmMu"; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { firstLicense, secondLicense }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); Assert.True(LicenseValidator.HasValidLicense); var registeredFirstLicense = LicenseValidator.GetLicenseDetails().FirstOrDefault(); var registeredSecondLicense = LicenseValidator.GetLicenseDetails().LastOrDefault(); Assert.NotNull(registeredFirstLicense); Assert.Equal(firstLicenseDetails.Id, registeredFirstLicense.Id); Assert.Equal(firstLicenseDetails.Type, registeredFirstLicense.Type); Assert.Equal(firstLicenseDetails.User, registeredFirstLicense.User); Assert.Equal(firstLicenseDetails.InformationDetails, registeredFirstLicense.InformationDetails); Assert.Equal(firstLicenseDetails.ExpiryDate, registeredFirstLicense.ExpiryDate); Assert.Equal(firstLicenseDetails.NamespacePrefix, registeredFirstLicense.NamespacePrefix); Assert.NotNull(registeredSecondLicense); Assert.Equal(secondLicenseDetails.Id, registeredSecondLicense.Id); Assert.Equal(secondLicenseDetails.Type, registeredSecondLicense.Type); Assert.Equal(secondLicenseDetails.User, registeredSecondLicense.User); Assert.Equal(secondLicenseDetails.InformationDetails, registeredSecondLicense.InformationDetails); Assert.Equal(secondLicenseDetails.ExpiryDate, registeredSecondLicense.ExpiryDate); Assert.Equal(secondLicenseDetails.NamespacePrefix, registeredSecondLicense.NamespacePrefix); }
public void ValidateShouldThrowExceptionIfTwoLicensesAreProvidedAndOneIsInvalid() { Test.AssertException <InvalidLicenseException>( () => { var firstLicense = "1-mKwoA4cwRkRKioJ70fh6WcL5Ty+K2Kn32oftC2KFqw5kimAMYrTeKwOX25e55GcTMy/cB8Ssa/SJmFFq6OUSXpgc7TsG6vNA7jE8lYbpzQcaIumX9tu0Kr2655zUne0GcPP0 + Y6OqLnRnOiq5keErGSyohcfZmzkRXoHAEEXR68xOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkZ1bGw6TXlUZXN0ZWQuQXNwTmV0Q29yZS5NdmMu"; var secondLicense = "1-03rl5Irwh4ZsynriqaencPeH4C+e4JtKFx6CehuklqJ58/N8OEePi19h332aQ5DrYPS3715dVEbbWDxpkOm0e9wge9W / q01AfXEN2ytSGMPF8wEuLX6ZC0Lo698YKWhxQxtq4k6ls3XiHxwYl7XKD8n / rAntd6xY8lJYp8S3QtMxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkludGVybmFsOk15VGVzdGVkLkFzcE5ldENvcmUuTXZjLg=="; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { firstLicense, secondLicense }, new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); }, "License is for internal use only"); Assert.False(LicenseValidator.HasValidLicense); }
public void ValidateShouldThrowExceptionWithInvalidNumberOfLicenseParts() { Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate( new[] { "1-aIqZBgCHicW6QK8wpk+T6a1WDfgvk1+uUEYkwxnFw+Ucla5Pxmyxyn9JJJcczy3iXet0exCvBMrkFE2PqAkwNd1TnZLt+pxmZaEPlUYwzfVCIpdB2rZAaFmrRToQvqrUv4jHHUyWw9/4C1yntfOUUkcYmFYLuNC4rmqocrv1o7AxOjIwMTYtMDEtMDE6OjpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu" }, new DateTime(2016, 10, 10), string.Empty); }, "License details are invalid"); Assert.False(LicenseValidator.HasValidLicense); }
private static void Reset() { initialized = false; startupType = null; startupMethods = null; serviceProvider = null; routingServiceProvider = null; router = null; AdditionalServices = null; AdditionalApplicationConfiguration = null; AdditionalRouting = null; TestServiceProvider.Current = null; TestServiceProvider.ClearServiceLifetimes(); LicenseValidator.ClearLicenseDetails(); PluginsContainer.Reset(); }
public void ValidateShouldThrowExceptionWithInvalidLicenseIdMatch() { Test.AssertException <InvalidLicenseException>( () => { var license = "1-Lh95BZUyA92DgQ9B8o10CtFX0/Nhykf6upFj8rOIyodNLLc6iMRD3loJVZv00jtkUkdYPHDHAKW4YGqd8ROc3ZXUyrzNmQl67eUQ1BIELx8QfHo2gwPnQgMgdh5tfm+gtNNBvim0dqki2AN6ABwK0Garnd0lU3BAxM2YJ2k/C4oxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpJbnRlcm5hbDpNeVRlc3RlZC5NdmMu"; var licenseArray = license.ToArray(); licenseArray[0] = '2'; LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { new string(licenseArray) }, new DateTime(2016, 10, 10), string.Empty); }, "License ID does not match signature license ID"); Assert.False(LicenseValidator.HasValidLicense); }
private static void Reset() { initialiazed = false; configurationBuilder = null; configuration = null; environment = null; startupType = null; serviceProvider = null; routingServiceProvider = null; router = null; AdditionalServices = null; AdditionalApplicationConfiguration = null; AdditionalRouting = null; TestAssembly = null; TestServiceProvider.Current = null; TestServiceProvider.ClearServiceLifetimes(); DefaultRegistrationPlugins.Clear(); ServiceRegistrationPlugins.Clear(); RoutingServiceRegistrationPlugins.Clear(); InitializationPlugins.Clear(); LicenseValidator.ClearLicenseDetails(); }
public void ValidateShouldThrowExceptionWithIncorrectNumberOfParts() { Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { "1-2-3" }, new DateTime(2016, 10, 10), string.Empty); }, "License text is invalid"); Assert.False(LicenseValidator.HasValidLicense); Test.AssertException <InvalidLicenseException>( () => { LicenseValidator.ClearLicenseDetails(); LicenseValidator.Validate(new[] { "1" }, new DateTime(2016, 10, 10), string.Empty); }, "License text is invalid"); Assert.False(LicenseValidator.HasValidLicense); }
public void WithLicenseNoExceptionShouldBeThrown() { Task.Run(async() => { LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(null, DateTime.MinValue, "MyTested.AspNetCore.Mvc.Tests"); MyMvc .IsUsingDefaultConfiguration() .WithTestConfiguration(config => { config.AddInMemoryCollection(new[] { new KeyValuePair <string, string>("License", "1-3i7E5P3qX5IUWHIAfcXG6DSbOwUBidygp8bnYY/2Rd9zA15SwRWP6QDDp+m/dDTZNBFX2eIHcU/gdcdm83SL695kf3VyvMPw+iyPN6QBh/WnfQwGLqBecrQw+WNPJMz6UgXi2q4e4s/D8/iSjMlwCnzJvC2Yv3zSuADdWObQsygxOjk5OTktMTItMzE6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpGdWxsOk15VGVzdGVkLkFzcE5ldENvcmUuTXZjLg=="), }); }); var tasks = new List <Task>(); for (int i = 0; i < 500; i++) { tasks.Add(Task.Run(() => { MyMvc .Controller <MvcController>() .Calling(c => c.OkResultAction()) .ShouldReturn() .Ok(); })); } await Task.WhenAll(tasks); }) .GetAwaiter() .GetResult(); MyMvc.IsUsingDefaultConfiguration(); }
public void IncrementAndValidateShouldThrowExceptionWithInvalidSubscriptionLicense() { Exception caughtException = null; Task.Run(async() => { var license = "1-TE6MO5GnjYwR3DcbT8rIXfjk9e0+ZPOb+c27A7pA83aNY4IQNBhgnIf4eUfy0MBvyXYrh9rkLa1hpGnrGu2TMZSoYxeZS07rM7WCqxzd2xXqfzuTAxsO1yNiEo/UwvVZUqz6s3nunKXn1m0b5dbKrsu7hxmWf8P8L2DhCDD09/sxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46U3Vic2NyaXB0aW9u"; LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(new[] { license }, new DateTime(2018, 10, 10), new DateTime(2016, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); var tasks = new List <Task>(); for (int i = 0; i < 200; i++) { tasks.Add(Task.Run(() => { TestCounter.IncrementAndValidate(); })); } try { await Task.WhenAll(tasks); } catch (Exception ex) { caughtException = ex; } }) .ConfigureAwait(false) .GetAwaiter() .GetResult(); Assert.NotNull(caughtException); Assert.IsAssignableFrom <InvalidLicenseException>(caughtException); Assert.Equal("You have invalid license: 'License subscription expired on 2017-10-15'. The free-quota limit of 100 assertions per test project has been reached. Please visit https://mytestedasp.net/core/mvc#pricing to request a free license or upgrade to a commercial one.", caughtException.Message); }
public void IncrementAndValidateShouldThrowExceptionWithInvalidLegacyLicense() { Exception caughtException = null; Task.Run(async() => { var license = "1-0WUoGNBmCpgJ+ktp3BObsUjsaX5XKc4Ed4LoeJBUPgTacqG2wUw9iKAMG4jdDIaiU+AnoTvrXwwLuvfvn57oukhw6HwTqp8hJ2I0vmNZFisQGyD4sjTDlKCBaOXJwXzifCIty2UuGUeo3KNqKoM+5MF1D0i/kEg/LKztnAN312gxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLk12YyBUZXN0czpGdWxsOk15VGVzdGVkLk12Yy4="; LicenseValidator.ClearLicenseDetails(); TestCounter.SetLicenseData(new[] { license }, new DateTime(2018, 10, 10), new DateTime(2018, 10, 10), "MyTested.AspNetCore.Mvc.Tests"); var tasks = new List <Task>(); for (int i = 0; i < 200; i++) { tasks.Add(Task.Run(() => { TestCounter.IncrementAndValidate(); })); } try { await Task.WhenAll(tasks); } catch (Exception ex) { caughtException = ex; } }) .ConfigureAwait(false) .GetAwaiter() .GetResult(); Assert.NotNull(caughtException); Assert.IsAssignableFrom <InvalidLicenseException>(caughtException); Assert.Equal("You have invalid license: 'License is not valid for this version of My Tested ASP.NET Core MVC. License expired on 2017-10-15. This version of My Tested ASP.NET Core MVC was released on 2018-10-10'. The free-quota limit of 100 assertions per test project has been reached. Please visit https://mytestedasp.net/core/mvc#pricing to request a free license or upgrade to a commercial one.", caughtException.Message); }