diff options
Diffstat (limited to 'src/main.test/Tests/BindingTests/HelperPerformance.cs')
-rw-r--r-- | src/main.test/Tests/BindingTests/HelperPerformance.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/main.test/Tests/BindingTests/HelperPerformance.cs b/src/main.test/Tests/BindingTests/HelperPerformance.cs new file mode 100644 index 0000000..613c942 --- /dev/null +++ b/src/main.test/Tests/BindingTests/HelperPerformance.cs @@ -0,0 +1,57 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using PKISharp.WACS.Clients.IIS; +using PKISharp.WACS.DomainObjects; +using PKISharp.WACS.Services; +using PKISharp.WACS.UnitTests.Mock.Clients; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; + +namespace PKISharp.WACS.UnitTests.Tests.BindingTests +{ + [TestClass] + public class HelperPerformance + { + private readonly ILogService log; + public HelperPerformance() => log = new Mock.Services.LogService(false); + + [TestMethod] + public void Speed() + { + var iis = new MockIISClient(log, 10); + var siteList = new List<MockSite>(); + for (var i = 0; i < 5000; i++) + { + var bindingList = new List<MockBinding>(); + for (var j = 0; j < 10; j++) + { + var randomBindingOptions = new BindingOptions(); + var randomId = ShortGuid.NewGuid().ToString(); + randomBindingOptions = randomBindingOptions.WithHost(randomId.ToLower()); + bindingList.Add(new MockBinding(randomBindingOptions)); + }; + siteList.Add(new MockSite() + { + Id = i, + Bindings = bindingList + }); + } + iis.MockSites = siteList.ToArray(); + var helper = new IISHelper(log, iis); + var timer = new Stopwatch(); + timer.Start(); + helper.GetSites(false); + timer.Stop(); + Assert.IsTrue(timer.ElapsedMilliseconds < 1000); + + timer.Reset(); + timer.Start(); + helper.GetBindings(); + timer.Stop(); + Assert.IsTrue(timer.ElapsedMilliseconds < 1000); + } + + + } +} |