HashCommand.cs (2719B)
1 // ----------------------------------------------------------------------------- 2 // <copyright file="HashCommand.cs" company="Microsoft Corporation"> 3 // Copyright (c) Microsoft Corporation. Licensed under the MIT License. 4 // </copyright> 5 // ----------------------------------------------------------------------------- 6 7 namespace AppInstallerCLIE2ETests 8 { 9 using AppInstallerCLIE2ETests.Helpers; 10 using NUnit.Framework; 11 using NUnit.Framework.Internal; 12 13 /// <summary> 14 /// Test hash command. 15 /// </summary> 16 public class HashCommand : BaseCommand 17 { 18 /// <summary> 19 /// Test hash file. 20 /// </summary> 21 [Test] 22 public void HashFile() 23 { 24 var result = TestCommon.RunAICLICommand("hash", TestCommon.GetTestDataFile("AppInstallerTestMsiInstaller.msi")); 25 Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); 26 Assert.True(result.StdOut.Contains("21d90ee9b3569590c624836ef50bf39791c7184869c227eedc00585e1f39b4de")); 27 } 28 29 /// <summary> 30 /// Test hash msix. 31 /// </summary> 32 [Test] 33 public void HashMSIX() 34 { 35 var result = TestCommon.RunAICLICommand("hash", TestCommon.GetTestDataFile(Constants.TestPackage) + " -m"); 36 Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); 37 Assert.True(result.StdOut.Contains("08917b781939a7796746b5e2349e1f1d83b6c15599b60cd3f62816f15e565fc4")); 38 Assert.True(result.StdOut.Contains("223b318c4b1154a1fb72b1bc23422810faa5ce899a8e774ba2a02834b2058f00")); 39 } 40 41 /// <summary> 42 /// Test hash invalid msix. 43 /// </summary> 44 [Test] 45 public void HashInvalidMSIX() 46 { 47 var result = TestCommon.RunAICLICommand("hash", TestCommon.GetTestDataFile("AppInstallerTestMsiInstaller.msi") + " -m"); 48 Assert.AreEqual(Constants.ErrorCode.OPC_E_ZIP_MISSING_END_OF_CENTRAL_DIRECTORY, result.ExitCode); 49 Assert.True(result.StdOut.Contains("21d90ee9b3569590c624836ef50bf39791c7184869c227eedc00585e1f39b4de")); 50 Assert.True(result.StdOut.Contains("Please verify that the input file is a valid, signed MSIX.")); 51 } 52 53 /// <summary> 54 /// Test hash file not found. 55 /// </summary> 56 [Test] 57 public void HashFileNotFound() 58 { 59 var result = TestCommon.RunAICLICommand("hash", TestCommon.GetTestDataFile("DoesNot.Exist")); 60 Assert.AreEqual(Constants.ErrorCode.ERROR_FILE_NOT_FOUND, result.ExitCode); 61 Assert.True(result.StdOut.Contains("File does not exist")); 62 } 63 } 64 }