public void SearchWithoutArgs() { var result = TestCommon.RunAICLICommand("search", ""); Assert.AreEqual(Constants.ErrorCode.ERROR_INVALID_CL_ARGUMENTS, result.ExitCode); }
public void BaseTeardown() { TestCommon.TearDownTestSource(); }
// TODO: If/when cert pinning is implemented on the packaged index source, useGroupPolicyForTestSource should be set to default true // to enable testing it by default. Until then, leaving this here... public void ResetTestSource(bool useGroupPolicyForTestSource = false) { TestCommon.SetupTestSource(useGroupPolicyForTestSource); }
private string GetTestImportFile(string importFileName) { return(TestCommon.GetTestDataFile(Path.Combine("ImportFiles", importFileName))); }
private void UninstallTestExe() { ConfigureFeature("uninstall", true); TestCommon.RunAICLICommand("uninstall", Constants.ExeInstallerPackageId); }
public void Setup() { Assert.AreEqual(Constants.ErrorCode.S_OK, TestCommon.RunAICLICommand("source add", $"{ShowTestSourceName} {ShowTestSourceUrl}").ExitCode); }
public void TearDown() { TestCommon.RunAICLICommand("source remove", ShowTestSourceName); TestCommon.WaitForDeploymentFinish(); }
public void SourceCommands() { // Add test source should succeed var result = TestCommon.RunAICLICommand("source add", $"{SourceTestSourceName} {SourceTestSourceUrl}"); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("Done")); // Add source with duplicate name should fail result = TestCommon.RunAICLICommand("source add", $"{SourceTestSourceName} https://microsoft.com"); Assert.AreEqual(Constants.ErrorCode.ERROR_SOURCE_NAME_ALREADY_EXISTS, result.ExitCode); Assert.True(result.StdOut.Contains("A source with the given name already exists and refers to a different location")); // Add source with invalid url should fail result = TestCommon.RunAICLICommand("source add", "AnotherSource https://microsoft.com"); Assert.AreEqual(Constants.ErrorCode.ERROR_NO_RANGES_PROCESSED, result.ExitCode); Assert.True(result.StdOut.Contains("error occurred while executing the command")); // Add source with an HTTP url should fail result = TestCommon.RunAICLICommand("source add", "Insecure http://microsoft.com"); Assert.AreEqual(Constants.ErrorCode.ERROR_SOURCE_NOT_SECURE, result.ExitCode); Assert.True(result.StdOut.Contains("error occurred while executing the command")); // List with no args should list all available sources result = TestCommon.RunAICLICommand("source list", ""); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("https://winget-int.azureedge.net/cache")); // List when source name matches, it shows detailed info result = TestCommon.RunAICLICommand("source list", $"-n {SourceTestSourceName}"); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("SourceTestSource")); Assert.True(result.StdOut.Contains("https://winget-int.azureedge.net/cache")); Assert.True(result.StdOut.Contains("Microsoft.Winget.Source.int")); Assert.True(result.StdOut.Contains("Updated")); // List when source name does not match result = TestCommon.RunAICLICommand("source list", "-n UnknownName"); Assert.AreEqual(Constants.ErrorCode.ERROR_SOURCE_NAME_DOES_NOT_EXIST, result.ExitCode); Assert.True(result.StdOut.Contains("Did not find a source named")); // Update should succeed result = TestCommon.RunAICLICommand("source update", $"-n {SourceTestSourceName}"); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("Done")); // Update with bad name should fail result = TestCommon.RunAICLICommand("source update", "-n UnknownName"); Assert.AreEqual(Constants.ErrorCode.ERROR_SOURCE_NAME_DOES_NOT_EXIST, result.ExitCode); Assert.True(result.StdOut.Contains("Did not find a source named: UnknownName")); // Remove with a bad name should fail result = TestCommon.RunAICLICommand("source remove", "-n UnknownName"); Assert.AreEqual(Constants.ErrorCode.ERROR_SOURCE_NAME_DOES_NOT_EXIST, result.ExitCode); Assert.True(result.StdOut.Contains("Did not find a source named: UnknownName")); // Remove with a good name should succeed result = TestCommon.RunAICLICommand("source remove", $"-n {SourceTestSourceName}"); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("Done")); }
public void Setup() { // Read TestParameters and set runtime variables TestCommon.PackagedContext = TestContext.Parameters.Exists(Constants.PackagedContextParameter) && TestContext.Parameters.Get(Constants.PackagedContextParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.VerboseLogging = TestContext.Parameters.Exists(Constants.VerboseLoggingParameter) && TestContext.Parameters.Get(Constants.VerboseLoggingParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.LooseFileRegistration = TestContext.Parameters.Exists(Constants.LooseFileRegistrationParameter) && TestContext.Parameters.Get(Constants.LooseFileRegistrationParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.InvokeCommandInDesktopPackage = TestContext.Parameters.Exists(Constants.InvokeCommandInDesktopPackageParameter) && TestContext.Parameters.Get(Constants.InvokeCommandInDesktopPackageParameter).Equals("true", StringComparison.OrdinalIgnoreCase); if (TestContext.Parameters.Exists(Constants.AICLIPathParameter)) { TestCommon.AICLIPath = TestContext.Parameters.Get(Constants.AICLIPathParameter); } else { if (TestCommon.PackagedContext) { // For packaged context, default to AppExecutionAlias TestCommon.AICLIPath = "WinGetDev.exe"; } else { TestCommon.AICLIPath = TestCommon.GetTestFile("winget.exe"); } } if (TestContext.Parameters.Exists(Constants.AICLIPackagePathParameter)) { TestCommon.AICLIPackagePath = TestContext.Parameters.Get(Constants.AICLIPackagePathParameter); } else { TestCommon.AICLIPackagePath = TestCommon.GetTestFile("AppInstallerCLIPackage.appxbundle"); } if (TestCommon.LooseFileRegistration && TestCommon.InvokeCommandInDesktopPackage) { TestCommon.AICLIPath = Path.Combine(TestCommon.AICLIPackagePath, TestCommon.AICLIPath); } ShouldDisableDevModeOnExit = EnableDevMode(true); ShouldRevertDefaultFileTypeRiskOnExit = DecreaseFileTypeRisk(".exe;.msi", false); Assert.True(TestCommon.RunCommand("certutil.exe", "-addstore -f \"TRUSTEDPEOPLE\" " + TestCommon.GetTestDataFile(Constants.AppInstallerTestCert)), "Add AppInstallerTestCert"); if (TestCommon.PackagedContext) { if (TestCommon.LooseFileRegistration) { Assert.True(TestCommon.InstallMsixRegister(TestCommon.AICLIPackagePath), "InstallMsixRegister"); } else { Assert.True(TestCommon.InstallMsix(TestCommon.AICLIPackagePath), "InstallMsix"); } } if (TestContext.Parameters.Exists(Constants.StaticFileRootPathParameter)) { TestCommon.StaticFileRootPath = TestContext.Parameters.Get(Constants.StaticFileRootPathParameter); } else { TestCommon.StaticFileRootPath = Path.GetTempPath(); } if (TestContext.Parameters.Exists(Constants.PackageCertificatePathParameter)) { TestCommon.PackageCertificatePath = TestContext.Parameters.Get(Constants.PackageCertificatePathParameter); } ReadTestInstallerPaths(); TestIndexSetup.GenerateTestDirectory(); InitializeWingetSettings(); }
public void BaseTeardown() { TestCommon.RunAICLICommand("source reset", "--force"); }
public void Setup() { // Read TestParameters and set runtime variables TestCommon.PackagedContext = TestContext.Parameters.Exists(Constants.PackagedContextParameter) && TestContext.Parameters.Get(Constants.PackagedContextParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.VerboseLogging = TestContext.Parameters.Exists(Constants.VerboseLoggingParameter) && TestContext.Parameters.Get(Constants.VerboseLoggingParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.LooseFileRegistration = TestContext.Parameters.Exists(Constants.LooseFileRegistrationParameter) && TestContext.Parameters.Get(Constants.LooseFileRegistrationParameter).Equals("true", StringComparison.OrdinalIgnoreCase); TestCommon.InvokeCommandInDesktopPackage = TestContext.Parameters.Exists(Constants.InvokeCommandInDesktopPackageParameter) && TestContext.Parameters.Get(Constants.InvokeCommandInDesktopPackageParameter).Equals("true", StringComparison.OrdinalIgnoreCase); if (TestContext.Parameters.Exists(Constants.AICLIPathParameter)) { TestCommon.AICLIPath = TestContext.Parameters.Get(Constants.AICLIPathParameter); } else { if (TestCommon.PackagedContext) { // For packaged context, default to AppExecutionAlias TestCommon.AICLIPath = "WinGetDev.exe"; } else { TestCommon.AICLIPath = TestCommon.GetTestFile("AppInstallerCli.exe"); } } if (TestContext.Parameters.Exists(Constants.AICLIPackagePathParameter)) { TestCommon.AICLIPackagePath = TestContext.Parameters.Get(Constants.AICLIPackagePathParameter); } else { TestCommon.AICLIPackagePath = TestCommon.GetTestFile("AppInstallerCLIPackage.appxbundle"); } if (TestCommon.LooseFileRegistration && TestCommon.InvokeCommandInDesktopPackage) { TestCommon.AICLIPath = Path.Combine(TestCommon.AICLIPackagePath, TestCommon.AICLIPath); } ShouldDisableDevModeOnExit = EnableDevMode(true); Assert.True(TestCommon.RunCommand("certutil.exe", "-addstore -f \"TRUSTEDPEOPLE\" " + TestCommon.GetTestDataFile(Constants.AppInstallerTestCert)), "Add AppInstallerTestCert"); Assert.True(TestCommon.RunCommand("certutil.exe", "-addstore -f \"ROOT\" " + TestCommon.GetTestDataFile(Constants.IndexPackageRootCert)), "Add IndexPackageRootCert"); if (TestCommon.PackagedContext) { if (TestCommon.LooseFileRegistration) { Assert.True(TestCommon.InstallMsixRegister(TestCommon.AICLIPackagePath), "InstallMsixRegister"); } else { Assert.True(TestCommon.InstallMsix(TestCommon.AICLIPackagePath), "InstallMsix"); } } }
private bool VerifyTestMsixUninstalled() { var result = TestCommon.RunCommandWithResult("powershell", $"Get-AppxPackage {UninstallTestMsixName}"); return(string.IsNullOrWhiteSpace(result.StdOut)); }