From d2b598e84396f62861bfdb392a8c4f310a0c19a1 Mon Sep 17 00:00:00 2001 From: seraphima Date: Thu, 26 Oct 2023 12:39:20 +0200 Subject: [PATCH] run fz test --- .../RunFancyZonesTest.cs | 33 ++++++++++++ .../UnitTest1.cs | 18 ------- .../Utils/FancyZonesSession.cs | 51 +++++++++++++++++++ 3 files changed, 84 insertions(+), 18 deletions(-) create mode 100644 src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/RunFancyZonesTest.cs delete mode 100644 src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/UnitTest1.cs create mode 100644 src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/Utils/FancyZonesSession.cs diff --git a/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/RunFancyZonesTest.cs b/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/RunFancyZonesTest.cs new file mode 100644 index 0000000000..ecacd07f98 --- /dev/null +++ b/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/RunFancyZonesTest.cs @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.FancyZones.UnitTests.Utils; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace UnitTests_FancyZones_WinAppDriver +{ + [TestClass] + public class RunFancyZonesTest + { + private static FancyZonesSession? _session; + + [ClassInitialize] + public static void ClassInitialize(TestContext testContext) + { + _session = new FancyZonesSession(testContext); + } + + [ClassCleanup] + public static void ClassCleanup() + { + _session?.Dispose(); + } + + [TestMethod] + public void RunFancyZones() + { + Assert.IsNotNull(_session?.FancyZonesProcess); + } + } +} diff --git a/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/UnitTest1.cs b/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/UnitTest1.cs deleted file mode 100644 index a8a2a3daf5..0000000000 --- a/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/UnitTest1.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) Microsoft Corporation -// The Microsoft Corporation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace UnitTests_FancyZones_WinAppDriver -{ - [TestClass] - public class UnitTest1 - { - [TestMethod] - public void TestMethod1() - { - Assert.Fail(); - } - } -} diff --git a/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/Utils/FancyZonesSession.cs b/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/Utils/FancyZonesSession.cs new file mode 100644 index 0000000000..6b7a7665d2 --- /dev/null +++ b/src/modules/fancyzones/UnitTests-FancyZones-WinAppDriver/Utils/FancyZonesSession.cs @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation +// The Microsoft Corporation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Diagnostics; +using System.IO; +using System.Reflection; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Microsoft.FancyZones.UnitTests.Utils +{ + public class FancyZonesSession : IDisposable + { + private const string FancyZonesPath = @"\..\..\..\PowerToys.FancyZones.exe"; + + public Process? FancyZonesProcess { get; } + + public FancyZonesSession(TestContext testContext) + { + try + { + // Launch FancyZones + string? path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + path += FancyZonesPath; + + ProcessStartInfo info = new ProcessStartInfo(path); + FancyZonesProcess = Process.Start(info); + } + catch (Exception ex) + { + testContext.WriteLine(ex.Message); + } + + Assert.IsNotNull(FancyZonesProcess); + } + + public void Dispose() + { + // Close the application + if (FancyZonesProcess != null) + { + FancyZonesProcess.Kill(); + FancyZonesProcess.Close(); + FancyZonesProcess.Dispose(); + } + + GC.SuppressFinalize(this); + } + } +}