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>();
        }
示例#2
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 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>();
        }
示例#4
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>();
        }
示例#5
0
 private void buttonFinish_Click(object sender, EventArgs e)
 {
     if (ContentChecker.CheckGroupBoxedChecked(tabControl1))
     {
         try
         {
             TestCounter.TotalSum = 0;
             TestCounter.CountCheckBoxOkay();
             TestCounter.CountAge(Convert.ToInt32(numericUpDownAge.Value));
             TestCounter.CountChildren(Convert.ToInt32(numericUpDownChildren.Value));
             TestCounter.CountSalary(Convert.ToInt32(numericUpDownSalary.Value));
             TestCounter.CheckIndex();
             TestCounter.CheckPhoneCode();
             TestResultSetter.InitializeSetter(TestCounter.TotalSum, comboBoxCreditType.SelectedItem.ToString(), scoringProject.Logic.Client.getInstance().ID);
             this.Close();
             ClientPage cl = new ClientPage();
             cl.Visible = true;
         }
         catch (Exception ex)
         {
             MessageBox.Show("Проверьте введенные значения!", "Ошибка при выполнени");
         }
     }
     else
     {
         MessageBox.Show("Проверьте, отметили ли вы все значения", "Ошибки при выполнении");
     }
 }
示例#6
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);
        }
 private static void PrepareLicensing()
 {
     TestCounter.SetLicenseData(
         TestConfiguration.Licenses,
         DateTime.ParseExact(MyMvc.ReleaseDate, "yyyy-MM-dd", CultureInfo.InvariantCulture),
         TestAssemblyName);
 }
示例#8
0
        private static void Initialize()
        {
            TestWebServer.EnsureTestAssembly();

            TestFramework.EnsureCorrectVersion(TestWebServer.GetDependencyContext());

            ValidateStartup();

            TestCounter.SetLicenseData(
                ServerTestConfiguration.Global.Licenses,
                DateTime.UtcNow,
                DateTime.ParseExact(TestFramework.ReleaseDate, "yyyy-MM-dd", CultureInfo.InvariantCulture),
                TestWebServer.TestAssemblyName);

            PluginsContainer.LoadPlugins(TestWebServer.GetDependencyContext());

            var serviceCollection = TestWebServer.GetInitialServiceCollection();

            PrepareStartup(serviceCollection);
            PrepareServices(serviceCollection);

            PrepareApplicationAndRouting();

            initialized = true;
        }
        public void DeadInstanceTest()
        {
            var           target = new MessageMediator();
            var           tc     = new TestCounter();
            WeakReference wr     = new WeakReference(tc);

            target.Register(tc);
            tc = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            // If it's still alive, might be debug
            if (wr.IsAlive)
            {
                Assert.Inconclusive("Target still alive - debug mode?");
                tc = (TestCounter)wr.Target;
                if (tc != null)
                {
                    target.Unregister(wr.Target);
                    return;
                }
            }

            bool hadTarget = target.SendMessage("test2", "Test2");

            Assert.IsFalse(hadTarget, "Mediator located dead reference - debug mode?");
        }
示例#10
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();
        }
示例#11
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 TestFizzBuzz()
        {
            var java = PathUtilities.LocateFileFromEnviormentPath("javaw.exe");
            var counterDisplayJar = PathUtilities.GetAdjacentFile("CounterDisplay.jar");

            TestCounter.ResetAndLaunch(java.FirstOrDefault(), counterDisplayJar);// Comment out after 1st run
            TestCounter.Track(Check20);
        }
        public void TestBadRegister()
        {
            var target = new MessageMediator();
            var tc     = new TestCounter();

            target.Register(tc);
            Assert.ThrowsException <ArgumentException>(() => target.RegisterHandler <int>("test", tc.MessageHandler5));
            target.Unregister(tc);
        }
        public virtual void AssemblySetUp(Result result)
        {
            if (result.State == TestState.Success)
            {
                return;
            }

            this.counter.FailureCount += this.assemblyCounter.TotalCount;
            this.assemblyCounter       = null;
        }
 private static void PrepareLicensing()
 {
     if (TestAssembly != null)
     {
         TestCounter.SetLicenseData(
             Configuration().Licenses(),
             DateTime.ParseExact(ReleaseDate, "yyyy-MM-dd", CultureInfo.InvariantCulture),
             TestAssembly.GetName().Name);
     }
 }
        public virtual void AssemblyTearDown(Result result)
        {
            if (result.State == TestState.Success || this.assemblyCounter == null)
            {
                return;
            }

            this.counter.RollbackResults(this.assemblyCounter);
            this.counter.FailureCount += this.assemblyCounter.TotalCount;
            this.assemblyCounter       = null;
        }
示例#17
0
        public void StatusChangedWontFireTwice()
        {
            var changr = new TestChanger();
            var countr = new TestCounter();

            var testC1 = new TestClass(changr, countr);
            var testC2 = new TestClass(changr, countr);

            changr.RaiseStatusChange();

            countr.CallCount.Should().Be(1);
        }
        public void RegisterInstanceTest()
        {
            var target = new MessageMediator();

            TestCounter counter = new TestCounter();

            target.Register(counter);
            bool hadTarget = target.SendMessage("test2", "Test2");

            Assert.AreEqual(true, hadTarget, "Mediator did not return success");
            Assert.AreEqual(1, counter.Count, "Method did not receive message");
        }
示例#19
0
        private void CheckBoxCheckChanged(object sender, EventArgs e)
        {
            CheckBox cb = (CheckBox)sender;

            if (cb.Checked == true)
            {
                TestCounter.AddToCheckedList(cb);
            }
            else
            {
                TestCounter.DeleteFromCheckedList(cb);
            }
        }
        public void TypeTest()
        {
            var target = new MessageMediator();
            var tc     = new TestCounter();

            target.Register(tc);

            bool hadTarget = target.SendMessage("Test2");

            Assert.AreEqual(true, hadTarget, "Mediator did not return success");
            hadTarget = target.SendMessage("test3", "Test2");
            Assert.AreEqual(true, hadTarget, "Mediator did not return success");

            Assert.AreEqual <int>(2, tc.Count);
        }
        public void TestBadRegister()
        {
            var target = new MessageMediator();
            var tc     = new TestCounter();

            target.Register(tc);

            try
            {
                target.RegisterHandler <int>("test", tc.MessageHandler5);
                Assert.Fail("Did not throw exception on invalid register");
            }
            catch (ArgumentException)
            {
            }
        }
        public void TestIntParam2()
        {
            var target = new MessageMediator();
            var tc     = new TestCounter();

            target.Register(tc);

            target.RegisterHandler <int>("test6", tc.MessageHandler6);
            bool hadTarget = target.SendMessage(5);

            Assert.AreEqual(false, hadTarget, "Mediator found unexpected target");

            hadTarget = target.SendMessage("test6", 5);
            Assert.AreEqual(true, hadTarget, "Mediator did not find target");
            Assert.AreEqual <int>(5, tc.Count);
        }
        public void TestIntParam()
        {
            var target = new MessageMediator();
            var tc     = new TestCounter();

            target.Register(tc);

            bool hadTarget = target.SendMessage(5);

            Assert.IsFalse(hadTarget, "Mediator found unexpected target");

            target.RegisterHandler <int>(tc.MessageHandler5);
            hadTarget = target.SendMessage(5);
            Assert.IsTrue(hadTarget, "Mediator did not find target");
            Assert.AreEqual(5, tc.Count);

            target.Unregister(tc);
            target.UnregisterHandler <int>(tc.MessageHandler5);
            Assert.IsFalse(target.SendMessage(5));
        }
        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 IncrementAndValidateShouldThrowExceptionWithInvalidPerpetualLicense()
        {
            Exception caughtException = null;

            Task.Run(async() =>
            {
                var license = "1-IRaNRwlovf7moJnDcQCJW8JDq++p8/1hTNsRnBRLDGkd6HidiJ3OEzpFdwmlDacikCv5oRBisRkJ8edjqx1R21VA+SxCgpGHJE2ftOBpV1OBysguNUSIKJyte2heP3xD4tY1BQNh0vcVhXJDcE3qImhodZmi1aXJ19SK5f4JRA8xOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46UGVycGV0dWFs";

                LicenseValidator.ClearLicenseDetails();
                TestCounter.SetLicenseData(new[] { license }, new DateTime(2016, 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);
        }
        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);
        }
示例#27
0
        public void WithNoLicenseExceptionShouldBeThrown()
        {
            MyApplication
            .StartsFrom <DefaultStartup>()
            .WithTestConfiguration(config =>
            {
                config.AddInMemoryCollection(new[]
                {
                    new KeyValuePair <string, string>("License", null),
                });
            })
            .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 Assert.ThrowsAsync <InvalidLicenseException>(async() => await Task.WhenAll(tasks));
            })
            .ConfigureAwait(false)
            .GetAwaiter()
            .GetResult();
        }
示例#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 IncrementAndValidateShouldNotThrowExceptionWithValidSubscriptionLicense()
        {
            Exception caughtException = null;

            Task.Run(async() =>
            {
                var license = "1-TE6MO5GnjYwR3DcbT8rIXfjk9e0+ZPOb+c27A7pA83aNY4IQNBhgnIf4eUfy0MBvyXYrh9rkLa1hpGnrGu2TMZSoYxeZS07rM7WCqxzd2xXqfzuTAxsO1yNiEo/UwvVZUqz6s3nunKXn1m0b5dbKrsu7hxmWf8P8L2DhCDD09/sxOjIwMTctMTAtMTU6YWRtaW5AbXl0ZXN0ZWRhc3AubmV0Ok15VGVzdGVkLkFzcE5ldENvcmUuTXZjIFRlc3RzOkRldmVsb3BlcjpNeVRlc3RlZC5Bc3BOZXRDb3JlLk12Yy46U3Vic2NyaXB0aW9u";

                LicenseValidator.ClearLicenseDetails();
                TestCounter.SetLicenseData(new[] { license }, new DateTime(2016, 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.Null(caughtException);
        }
        public void IncrementAndValidateShouldThrowExceptionWithNoLicense()
        {
            Exception caughtException = null;

            Task.Run(async() =>
            {
                LicenseValidator.ClearLicenseDetails();
                TestCounter.SetLicenseData(new string[0], 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("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);
        }
示例#31
0
        public OwinMetricsTestData()
        {
            const int timePerRequest = 100;
            const string json = "{ 'id': '1'} ";

            Clock = new TestClock();
            var scheduler = new TestScheduler(Clock);
            TimerMetric = new TimerMetric(SamplingType.SlidingWindow, new MeterMetric(Clock, scheduler), Clock);
            CounterMetric = new TestCounter();
            HistogramMetric = new HistogramMetric();
            MeterMetric = new MeterMetric(Clock, scheduler);

            var server = TestServer.Create(app =>
            {
                var registery = new TestRegistry
                {
                    TimerInstance = TimerMetric,
                    CounterInstance = CounterMetric,
                    HistogramInstance = HistogramMetric,
                    MeterInstance = MeterMetric
                };

                OwinMetricsConfig owin = new OwinMetricsConfig(middleware => app.Use(middleware), registery, Metric.Config.HealthStatus);
                owin.WithRequestMetricsConfig(c => c.RegisterAllMetrics());

                app.Run(context =>
                {
                    Clock.Advance(TimeUnit.Milliseconds, timePerRequest);
                    if (context.Request.Path.ToString() == "/test/action")
                    {
                        return context.Response.WriteAsync("response");
                    }

                    if (context.Request.Path.ToString() == "/test/error")
                    {
                        context.Response.StatusCode = 500;
                        return context.Response.WriteAsync("response");
                    }

                    if (context.Request.Path.ToString() == "/test/size")
                    {
                        return context.Response.WriteAsync("response");
                    }

                    if (context.Request.Path.ToString() == "/test/post")
                    {
                        return context.Response.WriteAsync("response");
                    }

                    context.Response.StatusCode = 404;
                    return context.Response.WriteAsync("not found");
                });

            });

            ExpectedResults = new OwinExpectedMetrics(timePerRequest, 6, 1);

            server.HttpClient.GetAsync("http://local.test/test/error").Result.StatusCode.Should().Be(HttpStatusCode.InternalServerError);
            server.HttpClient.GetAsync("http://local.test/test/action").Result.StatusCode.Should().Be(HttpStatusCode.OK);
            server.HttpClient.GetAsync("http://local.test/test/action").Result.StatusCode.Should().Be(HttpStatusCode.OK);
            server.HttpClient.GetAsync("http://local.test/test/action").Result.StatusCode.Should().Be(HttpStatusCode.OK);
            server.HttpClient.GetAsync("http://local.test/test/action").Result.StatusCode.Should().Be(HttpStatusCode.OK);
            var postContent = new StringContent(json);
            postContent.Headers.Add("Content-Length", json.Length.ToString());
            server.HttpClient.PostAsync("http://local.test/test/post", postContent);
        }