From 50bf0709fb328a584741b97f9f41a4db659934e4 Mon Sep 17 00:00:00 2001 From: Jacob Ferm Date: Tue, 16 Nov 2021 20:32:56 -0600 Subject: [PATCH 1/3] Issues and NuGet updates --- .../AppiumUnitTests/AppiumUnitTests.csproj | 2 +- .../BaseAppiumTest/BaseAppiumTest.csproj | 110 ++++++++-------- .../BaseCompositeTest.csproj | 2 +- .../BaseDatabaseTest/BaseDatabaseTest.csproj | 122 +++++++++--------- Framework/BaseEmailTest/BaseEmailTest.csproj | 112 ++++++++-------- Framework/BaseMongoTest/BaseMongoTest.csproj | 122 +++++++++--------- .../BaseSeleniumTest/BaseSeleniumTest.csproj | 116 +++++++++-------- Framework/BaseTest/BaseTest.csproj | 108 ++++++++-------- Framework/BaseTest/IManagerStore.cs | 11 +- .../{IBaseTestObject.cs => ITestObject.cs} | 0 Framework/BaseTest/ManagerStore.cs | 20 ++- .../BaseTestUnitTests.csproj | 2 +- .../BaseWebServiceTest.csproj | 116 +++++++++-------- .../CompositeUnitTests.csproj | 2 +- .../CompositeUnitTests/DriverManagerTests.cs | 32 ++++- .../DatabaseUnitTests.csproj | 2 +- .../EmailUnitTests/EmailUnitTests.csproj | 2 +- .../MongoDBUnitTests/MongoDBUnitTests.csproj | 2 +- .../SeleniumUnitTests.csproj | 1 - .../SpecFlowExtension.csproj | 4 +- .../SpecFlowExtensionNUnitTests.csproj | 6 +- .../SpecFlowExtensionUnitTests.csproj | 6 +- Framework/Utilities/Utilities.csproj | 2 +- .../UtilitiesUnitTests.csproj | 2 +- .../WebServiceUnitTests.csproj | 2 +- 25 files changed, 502 insertions(+), 404 deletions(-) rename Framework/BaseTest/{IBaseTestObject.cs => ITestObject.cs} (100%) diff --git a/Framework/AppiumUnitTests/AppiumUnitTests.csproj b/Framework/AppiumUnitTests/AppiumUnitTests.csproj index b29047c49..43f571f34 100644 --- a/Framework/AppiumUnitTests/AppiumUnitTests.csproj +++ b/Framework/AppiumUnitTests/AppiumUnitTests.csproj @@ -18,7 +18,7 @@ - + diff --git a/Framework/BaseAppiumTest/BaseAppiumTest.csproj b/Framework/BaseAppiumTest/BaseAppiumTest.csproj index 4784d9eb1..6f364089d 100644 --- a/Framework/BaseAppiumTest/BaseAppiumTest.csproj +++ b/Framework/BaseAppiumTest/BaseAppiumTest.csproj @@ -1,60 +1,66 @@  - - 7.0.0 - alpha.1 - + + 7.0.0 + alpha.1 + - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Appium - Magenic.Maqs.Appium - Magenic.Maqs.BaseAppiumTest - Magenic.Maqs.BaseAppiumTest - MAQS.ico - true - true - Magenic - Magenic - Appium extension for Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test selenium appium automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Appium + Magenic.Maqs.Appium + Magenic.Maqs.BaseAppiumTest + Magenic.Maqs.BaseAppiumTest + MAQS.ico + true + true + Magenic + Magenic + Appium extension for Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test selenium appium automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + - - full - true - false - + + latest + true + latest + - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + full + true + false + - - - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + - - - - + + + + + + + + \ No newline at end of file diff --git a/Framework/BaseCompositeTest/BaseCompositeTest.csproj b/Framework/BaseCompositeTest/BaseCompositeTest.csproj index 99755fa60..dcc1458d2 100644 --- a/Framework/BaseCompositeTest/BaseCompositeTest.csproj +++ b/Framework/BaseCompositeTest/BaseCompositeTest.csproj @@ -45,7 +45,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Framework/BaseDatabaseTest/BaseDatabaseTest.csproj b/Framework/BaseDatabaseTest/BaseDatabaseTest.csproj index 9e2333efa..6b3a35525 100644 --- a/Framework/BaseDatabaseTest/BaseDatabaseTest.csproj +++ b/Framework/BaseDatabaseTest/BaseDatabaseTest.csproj @@ -1,62 +1,68 @@  - - 7.0.0 - alpha.1 - - - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Database - Magenic.Maqs.BaseDatabaseTest - Magenic.Maqs.BaseDatabaseTest - MAQS.ico - true - true - Magenic - Database extension for Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test SQL database automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - - - - full - true - false - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - + + 7.0.0 + alpha.1 + + + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Database + Magenic.Maqs.BaseDatabaseTest + Magenic.Maqs.BaseDatabaseTest + MAQS.ico + true + true + Magenic + Database extension for Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test SQL database automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + + + + latest + true + latest + + + + full + true + false + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + diff --git a/Framework/BaseEmailTest/BaseEmailTest.csproj b/Framework/BaseEmailTest/BaseEmailTest.csproj index 511a19892..caad2fef2 100644 --- a/Framework/BaseEmailTest/BaseEmailTest.csproj +++ b/Framework/BaseEmailTest/BaseEmailTest.csproj @@ -1,57 +1,63 @@  - - 7.0.0 - alpha.1 - - - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Email - Magenic.Maqs.BaseEmailTest - Magenic.Maqs.BaseEmailTest - MAQS.ico - true - true - Magenic - Email extension for Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test email automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - - - - full - true - false - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - + + 7.0.0 + alpha.1 + + + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Email + Magenic.Maqs.BaseEmailTest + Magenic.Maqs.BaseEmailTest + MAQS.ico + true + true + Magenic + Email extension for Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test email automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + + + + latest + true + latest + + + + full + true + false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/Framework/BaseMongoTest/BaseMongoTest.csproj b/Framework/BaseMongoTest/BaseMongoTest.csproj index b3c9ac24b..8dd497e39 100644 --- a/Framework/BaseMongoTest/BaseMongoTest.csproj +++ b/Framework/BaseMongoTest/BaseMongoTest.csproj @@ -1,62 +1,68 @@  - - 7.0.0 - alpha.1 - - - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Mongo - Magenic.Maqs.Mongo - Magenic.Maqs.BaseMongoTest - Magenic.Maqs.BaseMongoTest - MAQS.ico - true - true - Magenic - Magenic - Mongo extension for Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test mongo database automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - - - - full - true - false - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - + + 7.0.0 + alpha.1 + + + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Mongo + Magenic.Maqs.Mongo + Magenic.Maqs.BaseMongoTest + Magenic.Maqs.BaseMongoTest + MAQS.ico + true + true + Magenic + Magenic + Mongo extension for Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test mongo database automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + + + + latest + true + latest + + + + full + true + false + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + diff --git a/Framework/BaseSeleniumTest/BaseSeleniumTest.csproj b/Framework/BaseSeleniumTest/BaseSeleniumTest.csproj index 7474bdb3a..c8351a22e 100644 --- a/Framework/BaseSeleniumTest/BaseSeleniumTest.csproj +++ b/Framework/BaseSeleniumTest/BaseSeleniumTest.csproj @@ -1,63 +1,69 @@  - - 7.0.0 - alpha.1 - + + 7.0.0 + alpha.1 + - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Selenium - Magenic.Maqs.Selenium - Magenic.Maqs.BaseSeleniumTest - Magenic.Maqs.BaseSeleniumTest - MAQS.ico - true - true - Magenic - Magenic - Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test selenium appium automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Selenium + Magenic.Maqs.Selenium + Magenic.Maqs.BaseSeleniumTest + Magenic.Maqs.BaseSeleniumTest + MAQS.ico + true + true + Magenic + Magenic + Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test selenium appium automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + - - full - true - false - + + latest + true + latest + - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + full + true + false + - - - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + - - - + + + + + + + diff --git a/Framework/BaseTest/BaseTest.csproj b/Framework/BaseTest/BaseTest.csproj index b65979734..3d385864d 100644 --- a/Framework/BaseTest/BaseTest.csproj +++ b/Framework/BaseTest/BaseTest.csproj @@ -1,59 +1,65 @@  - - 7.0.0 - alpha.1 - + + 7.0.0 + alpha.1 + - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.Base - Magenic.Maqs.Base - Magenic.Maqs.BaseTest - Magenic.Maqs.BaseTest - MAQS.ico - true - true - Magenic - Magenic - Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test selenium appium automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.Base + Magenic.Maqs.Base + Magenic.Maqs.BaseTest + Magenic.Maqs.BaseTest + MAQS.ico + true + true + Magenic + Magenic + Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test selenium appium automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + - - full - true - false - + + latest + true + latest + - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + full + true + false + - - - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + - - - + + + + + + + diff --git a/Framework/BaseTest/IManagerStore.cs b/Framework/BaseTest/IManagerStore.cs index b08cd961a..27ae2cba5 100644 --- a/Framework/BaseTest/IManagerStore.cs +++ b/Framework/BaseTest/IManagerStore.cs @@ -40,7 +40,7 @@ public interface IManagerStore : IDisposable void AddOrOverride(string key, IDriverManager manager); /// - /// Cleanup after all drivers and clear out all managers + /// Cleanup after all drivers and clear out all managers /// void Clear(); @@ -113,5 +113,14 @@ public interface IManagerStore : IDisposable /// Type of unkeyed manager /// True if the manager was removed bool Remove() where T : IDriverManager; + + /// + /// Gets the value associated with the specified key + /// + /// Driver type + /// Key name + /// Driver to return + /// True if it finds the driver based on key + bool TryGetDriver(string key, out T driver); } } \ No newline at end of file diff --git a/Framework/BaseTest/IBaseTestObject.cs b/Framework/BaseTest/ITestObject.cs similarity index 100% rename from Framework/BaseTest/IBaseTestObject.cs rename to Framework/BaseTest/ITestObject.cs diff --git a/Framework/BaseTest/ManagerStore.cs b/Framework/BaseTest/ManagerStore.cs index b26e822a9..9b9016cfb 100644 --- a/Framework/BaseTest/ManagerStore.cs +++ b/Framework/BaseTest/ManagerStore.cs @@ -10,7 +10,7 @@ namespace Magenic.Maqs.BaseTest { /// - /// Driver manager dictionary + /// Driver manager dictionary /// public class ManagerStore : IManagerStore { @@ -182,6 +182,24 @@ public bool Contains() where T : IDriverManager return this.Contains(typeof(T).FullName); } + /// + /// Gets the value associated with the specified key + /// + /// Driver type + /// Key name + /// Driver to return + /// True if it finds the driver based on key + public bool TryGetDriver(string key, out T driver) + { + if (Contains(key)) + { + driver = GetDriver(key); + return true; + } + driver = default; + return false; + } + /// /// Cleanup the driver /// diff --git a/Framework/BaseTestUnitTests/BaseTestUnitTests.csproj b/Framework/BaseTestUnitTests/BaseTestUnitTests.csproj index b49842cca..3d604658a 100644 --- a/Framework/BaseTestUnitTests/BaseTestUnitTests.csproj +++ b/Framework/BaseTestUnitTests/BaseTestUnitTests.csproj @@ -18,7 +18,7 @@ - + diff --git a/Framework/BaseWebServiceTest/BaseWebServiceTest.csproj b/Framework/BaseWebServiceTest/BaseWebServiceTest.csproj index c582a1eea..6e8a44afe 100644 --- a/Framework/BaseWebServiceTest/BaseWebServiceTest.csproj +++ b/Framework/BaseWebServiceTest/BaseWebServiceTest.csproj @@ -1,59 +1,65 @@  - - 7.0.0 - alpha.1 - - - - net471;netstandard2.0;netstandard2.1 - Magenic.Maqs.WebService - Magenic.Maqs.Base - Magenic.Maqs.BaseWebServiceTest - Magenic.Maqs.BaseWebServiceTest - MAQS.ico - true - true - Magenic - Magenic - Web Service extension for Magenic's automation quick start framework - Copyright © Magenic $([System.DateTime]::Now.Year) - MIT - MAQS.jpg - https://github.com/Magenic/MAQS - test Web service http client automation NUnit MSTest TestFramework - true - https://github.com/Magenic/MAQS - git - - Release Notes can be found at https://github.com/Magenic/MAQS/releases - - true - true - snupkg - true - - - - full - true - false - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - + + 7.0.0 + alpha.1 + + + + net471;netstandard2.0;netstandard2.1 + Magenic.Maqs.WebService + Magenic.Maqs.Base + Magenic.Maqs.BaseWebServiceTest + Magenic.Maqs.BaseWebServiceTest + MAQS.ico + true + true + Magenic + Magenic + Web Service extension for Magenic's automation quick start framework + Copyright © Magenic $([System.DateTime]::Now.Year) + MIT + MAQS.jpg + https://github.com/Magenic/MAQS + test Web service http client automation NUnit MSTest TestFramework + true + https://github.com/Magenic/MAQS + git + + Release Notes can be found at https://github.com/Magenic/MAQS/releases + + true + true + snupkg + true + + + + latest + true + latest + + + + full + true + false + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/Framework/CompositeUnitTests/CompositeUnitTests.csproj b/Framework/CompositeUnitTests/CompositeUnitTests.csproj index fd415fad8..c3ee38684 100644 --- a/Framework/CompositeUnitTests/CompositeUnitTests.csproj +++ b/Framework/CompositeUnitTests/CompositeUnitTests.csproj @@ -19,7 +19,7 @@ - + diff --git a/Framework/CompositeUnitTests/DriverManagerTests.cs b/Framework/CompositeUnitTests/DriverManagerTests.cs index 1e3a3264a..7d86c7896 100644 --- a/Framework/CompositeUnitTests/DriverManagerTests.cs +++ b/Framework/CompositeUnitTests/DriverManagerTests.cs @@ -212,7 +212,37 @@ public void ManagerDispose() } /// - /// Get a manager store + /// Tries to get a specific driver based on name + /// + [TestMethod] + [TestCategory(TestCategories.Framework)] + public void TryGetDriver() + { + IManagerStore managerStore = new ManagerStore(); + DriverManager managerToKeep = GetManager(); + managerStore.Add("TestDriver", managerToKeep); + var result = managerStore.TryGetDriver("TestDriver", out var driver); + Assert.IsTrue(result, "Could not find driver"); + Assert.IsNotNull(driver, "Driver was null"); + } + + /// + /// Tries to get a driver that is expected not to exist + /// + [TestMethod] + [TestCategory(TestCategories.Framework)] + public void TryGetDriverNotFOund() + { + IManagerStore managerStore = new ManagerStore(); + DriverManager managerToKeep = GetManager(); + managerStore.Add("TestDriver", managerToKeep); + var result = managerStore.TryGetDriver("NotFound", out var driver); + Assert.IsFalse(result, "Should not find driver"); + Assert.IsNull(driver, "Driver was not null"); + } + + /// + /// Get a manager store /// /// The manager dictionary private static IManagerStore GetManagerStore() diff --git a/Framework/DatabaseUnitTests/DatabaseUnitTests.csproj b/Framework/DatabaseUnitTests/DatabaseUnitTests.csproj index 90a877639..5f93d9271 100644 --- a/Framework/DatabaseUnitTests/DatabaseUnitTests.csproj +++ b/Framework/DatabaseUnitTests/DatabaseUnitTests.csproj @@ -19,7 +19,7 @@ - + diff --git a/Framework/EmailUnitTests/EmailUnitTests.csproj b/Framework/EmailUnitTests/EmailUnitTests.csproj index 05ef1a5d4..8582d64ec 100644 --- a/Framework/EmailUnitTests/EmailUnitTests.csproj +++ b/Framework/EmailUnitTests/EmailUnitTests.csproj @@ -28,7 +28,7 @@ - + diff --git a/Framework/MongoDBUnitTests/MongoDBUnitTests.csproj b/Framework/MongoDBUnitTests/MongoDBUnitTests.csproj index 58799fdc0..07b24da48 100644 --- a/Framework/MongoDBUnitTests/MongoDBUnitTests.csproj +++ b/Framework/MongoDBUnitTests/MongoDBUnitTests.csproj @@ -18,7 +18,7 @@ - + diff --git a/Framework/SeleniumUnitTests/SeleniumUnitTests.csproj b/Framework/SeleniumUnitTests/SeleniumUnitTests.csproj index 178694a94..182855f50 100644 --- a/Framework/SeleniumUnitTests/SeleniumUnitTests.csproj +++ b/Framework/SeleniumUnitTests/SeleniumUnitTests.csproj @@ -19,7 +19,6 @@ - diff --git a/Framework/SpecFlowExtension/SpecFlowExtension.csproj b/Framework/SpecFlowExtension/SpecFlowExtension.csproj index cf3c9d0f1..ba931e325 100644 --- a/Framework/SpecFlowExtension/SpecFlowExtension.csproj +++ b/Framework/SpecFlowExtension/SpecFlowExtension.csproj @@ -44,13 +44,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Framework/SpecFlowExtensionNUnitTests/SpecFlowExtensionNUnitTests.csproj b/Framework/SpecFlowExtensionNUnitTests/SpecFlowExtensionNUnitTests.csproj index c532b57d3..d9eac8aff 100644 --- a/Framework/SpecFlowExtensionNUnitTests/SpecFlowExtensionNUnitTests.csproj +++ b/Framework/SpecFlowExtensionNUnitTests/SpecFlowExtensionNUnitTests.csproj @@ -21,9 +21,9 @@ - - - + + + diff --git a/Framework/SpecFlowExtensionUnitTests/SpecFlowExtensionUnitTests.csproj b/Framework/SpecFlowExtensionUnitTests/SpecFlowExtensionUnitTests.csproj index 36e410c0a..57cbd62a6 100644 --- a/Framework/SpecFlowExtensionUnitTests/SpecFlowExtensionUnitTests.csproj +++ b/Framework/SpecFlowExtensionUnitTests/SpecFlowExtensionUnitTests.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/Framework/Utilities/Utilities.csproj b/Framework/Utilities/Utilities.csproj index d46808626..e79aeba9e 100644 --- a/Framework/Utilities/Utilities.csproj +++ b/Framework/Utilities/Utilities.csproj @@ -45,7 +45,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Framework/UtilitiesUnitTests/UtilitiesUnitTests.csproj b/Framework/UtilitiesUnitTests/UtilitiesUnitTests.csproj index 09c54a8ab..e5b34f5db 100644 --- a/Framework/UtilitiesUnitTests/UtilitiesUnitTests.csproj +++ b/Framework/UtilitiesUnitTests/UtilitiesUnitTests.csproj @@ -19,7 +19,7 @@ - + diff --git a/Framework/WebServiceUnitTests/WebServiceUnitTests.csproj b/Framework/WebServiceUnitTests/WebServiceUnitTests.csproj index 8c27dd327..598a2d027 100644 --- a/Framework/WebServiceUnitTests/WebServiceUnitTests.csproj +++ b/Framework/WebServiceUnitTests/WebServiceUnitTests.csproj @@ -19,7 +19,7 @@ - + From d19d160bac774361dd945feda3d258824d50d45b Mon Sep 17 00:00:00 2001 From: Jacob Ferm Date: Wed, 17 Nov 2021 20:42:08 -0600 Subject: [PATCH 2/3] Adding TryGetManager --- Framework/BaseTest/IManagerStore.cs | 2 ++ Framework/BaseTest/ManagerStore.cs | 18 +++++++++++ .../CompositeUnitTests/DriverManagerTests.cs | 32 ++++++++++++++++++- 3 files changed, 51 insertions(+), 1 deletion(-) diff --git a/Framework/BaseTest/IManagerStore.cs b/Framework/BaseTest/IManagerStore.cs index 27ae2cba5..47fd5bf3f 100644 --- a/Framework/BaseTest/IManagerStore.cs +++ b/Framework/BaseTest/IManagerStore.cs @@ -122,5 +122,7 @@ public interface IManagerStore : IDisposable /// Driver to return /// True if it finds the driver based on key bool TryGetDriver(string key, out T driver); + + bool TryGetManager(string key, out T driver) where T : IDriverManager; } } \ No newline at end of file diff --git a/Framework/BaseTest/ManagerStore.cs b/Framework/BaseTest/ManagerStore.cs index 9b9016cfb..bfc3b3305 100644 --- a/Framework/BaseTest/ManagerStore.cs +++ b/Framework/BaseTest/ManagerStore.cs @@ -200,6 +200,24 @@ public bool TryGetDriver(string key, out T driver) return false; } + /// + /// Gets the value associated with the specified key + /// + /// Driver type + /// Key name + /// Driver to return + /// True if it finds the driver based on key + public bool TryGetManager(string key, out T driver) where T : IDriverManager + { + if (Contains(key)) + { + driver = GetManager(key); + return true; + } + driver = default; + return false; + } + /// /// Cleanup the driver /// diff --git a/Framework/CompositeUnitTests/DriverManagerTests.cs b/Framework/CompositeUnitTests/DriverManagerTests.cs index 7d86c7896..2546255c5 100644 --- a/Framework/CompositeUnitTests/DriverManagerTests.cs +++ b/Framework/CompositeUnitTests/DriverManagerTests.cs @@ -231,7 +231,7 @@ public void TryGetDriver() /// [TestMethod] [TestCategory(TestCategories.Framework)] - public void TryGetDriverNotFOund() + public void TryGetDriverNotFound() { IManagerStore managerStore = new ManagerStore(); DriverManager managerToKeep = GetManager(); @@ -241,6 +241,36 @@ public void TryGetDriverNotFOund() Assert.IsNull(driver, "Driver was not null"); } + /// + /// Tries to get a specific driver manager based on name + /// + [TestMethod] + [TestCategory(TestCategories.Framework)] + public void TryGetManager() + { + IManagerStore managerStore = new ManagerStore(); + DriverManager managerToKeep = GetManager(); + managerStore.Add("TestDriver", managerToKeep); + var result = managerStore.TryGetManager("TestDriver", out var driverManager); + Assert.IsTrue(result, "Could not find driver"); + Assert.IsNotNull(driverManager, "Driver was null"); + } + + /// + /// Tries to get a driver manager that is expected not to exist + /// + [TestMethod] + [TestCategory(TestCategories.Framework)] + public void TryGetManagerNotFound() + { + IManagerStore managerStore = new ManagerStore(); + DriverManager managerToKeep = GetManager(); + managerStore.Add("TestDriver", managerToKeep); + var result = managerStore.TryGetManager("NotFound", out var driverManager); + Assert.IsFalse(result, "Should not find driver"); + Assert.IsNull(driverManager, "Driver was not null"); + } + /// /// Get a manager store /// From 1214737d27264c967418874a131ef426855be216 Mon Sep 17 00:00:00 2001 From: Troy Walsh Date: Thu, 18 Nov 2021 10:47:18 -0600 Subject: [PATCH 3/3] Add missing comment --- Framework/BaseTest/IManagerStore.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Framework/BaseTest/IManagerStore.cs b/Framework/BaseTest/IManagerStore.cs index 47fd5bf3f..62ad0f40f 100644 --- a/Framework/BaseTest/IManagerStore.cs +++ b/Framework/BaseTest/IManagerStore.cs @@ -123,6 +123,13 @@ public interface IManagerStore : IDisposable /// True if it finds the driver based on key bool TryGetDriver(string key, out T driver); + /// + /// Gets the value associated with the specified key + /// + /// Driver type + /// Key name + /// Driver to return + /// True if it finds the driver based on key bool TryGetManager(string key, out T driver) where T : IDriverManager; } -} \ No newline at end of file +}