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);
        }
예제 #4
0
        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();
        }
예제 #5
0
        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);
        }
예제 #8
0
        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);
        }
예제 #9
0
        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>();
        }
예제 #12
0
        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);
        }
예제 #24
0
 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);
        }
예제 #28
0
        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);
        }