public void InvalidLogPath_Fail() { PackRulesOptions options = new PackRulesOptions() { CustomRulesPath = Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), LogFilePath = Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"baddir\logdebug.txt"), }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new PackRulesCommand(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } //because these are static and each test is meant to be indpendent null assign the references to create the log WriteOnce.Log = null; Utils.Logger = null; Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError);//test fails even when values match unless this case run individually -mstest bug? }
public void LogErrorLevel_Pass() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -r {0} -f text -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"\badir\myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); if (exitCode == PackRulesResult.ExitCode.CriticalError) { string testLogContent = File.ReadAllText(Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); if (!String.IsNullOrEmpty(testLogContent) && testLogContent.ToLower().Contains("error")) { exitCode = PackRulesResult.ExitCode.Success; } else { exitCode = PackRulesResult.ExitCode.CriticalError; } } } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.Success); }
public void CustomRulesNoOutputFilePath_Fail() { PackRulesOptions options = new PackRulesOptions() { CustomRulesPath = Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new PackRulesCommand(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { //check for specific error if desired } //because these are static and each test is meant to be indpendent null assign the references to create the log WriteOnce.Log = null; Utils.Logger = null; Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void LogDebugLevel_Pass() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -r {0} -f json -o {1} -v debug -l {2}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"output.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); if (exitCode == PackRulesResult.ExitCode.Success) { string testLogContent = File.ReadAllText(Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); if (String.IsNullOrEmpty(testLogContent)) { exitCode = PackRulesResult.ExitCode.CriticalError; } else if (testLogContent.ToLower().Contains("debug")) { exitCode = PackRulesResult.ExitCode.Success; } } } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.Success); }
public void NoConsoleOutput_Pass() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = string.Format(@"packrules -r {0} -f json -x none -o {1} -l {2}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"packedrules.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); File.Delete(Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"packedrules.json")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args, out string testContent); if (exitCode == PackRulesResult.ExitCode.Success) { exitCode = String.IsNullOrEmpty(testContent) ? PackRulesResult.ExitCode.Success : PackRulesResult.ExitCode.Error; } } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.Success); }
public void DefaultRules_Fail() { PackRulesOptions options = new PackRulesOptions() { RepackDefaultRules = true }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new PackRulesCommand(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { //check for specific error if desired } //because these are static and each test is meant to be indpendent null assign the references to create the log WriteOnce.Log = null; Utils.Logger = null; Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void NoConsoleNoFileOutput_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -r {0} -f text -x none -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); } catch (Exception) { } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void NoDefaultNoCustomRules_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -l {0}", Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void InsecureLogPath_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -r {0} -f text -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testSource), @"unzipped\simple\empty.cpp")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void NoConsoleNoFileOutput_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -r {0} -f text -x none -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); } catch (Exception) { } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void NoDefaultNoCustomRules_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -l {0}", Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void InvalidLogPath_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -r {0} -f text -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"\badir\log.txt")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError);//test fails even when values match unless this case run individually -mstest bug? }
private static int RunPackRulesCommand(CLIPackRulesCmdOptions cliOptions) { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; PackRulesCommand command = new PackRulesCommand(new PackRulesOptions() { RepackDefaultRules = cliOptions.RepackDefaultRules, CustomRulesPath = cliOptions.CustomRulesPath, ConsoleVerbosityLevel = cliOptions.ConsoleVerbosityLevel, Log = cliOptions.Log }); PackRulesResult exportTagsResult = command.GetResult(); exitCode = exportTagsResult.ResultCode; ResultsWriter.Write(exportTagsResult, cliOptions); return((int)exitCode); }
public void InvalidLogPath_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -r {0} -f text -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"\badir\log.txt")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError);//test fails even when values match unless this case run individually -mstest bug? }
[Ignore] //overide in command to force json due to unresolved failure in options constr public void PackRulesToTxtFile_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string args = string.Format(@"packrules -r {0} -f text -o {1} -l {2}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"output.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Microsoft.ApplicationInspector.CLI.Program.Main(args.Split(' ')); } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void InsecureLogPath_Fail() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -r {0} -f text -l {1}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testSource), @"unzipped\simple\empty.cpp")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void NoDefaultNoCustomNoEmbeddedRules_Fail() { PackRulesOptions options = new() { }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void PackRulesToJsonFile_Pass() { PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { string appInspectorPath = Helper.GetPath(Helper.AppPath.appInspectorCLI); string args = String.Format(@"packrules -r {0} -f json -o {1} -l {2}", Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"output.json"), Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"log.txt")); exitCode = (PackRulesResult.ExitCode)Helper.RunProcess(appInspectorPath, args); } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.Success); }
public void DefaultRules_Fail() { PackRulesOptions options = new PackRulesOptions() { RepackDefaultRules = true }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new PackRulesCommand(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { //check for specific error if desired } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void InsecureLogPath_Fail() { PackRulesOptions options = new PackRulesOptions() { CustomRulesPath = Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), LogFilePath = Path.Combine(Helper.GetPath(Helper.AppPath.testSource), @"main.cpp") }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new PackRulesCommand(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError); }
public void InvalidLogPath_Fail() { PackRulesOptions options = new() { CustomRulesPath = Path.Combine(Helper.GetPath(Helper.AppPath.testRules), @"myrule.json"), LogFilePath = Path.Combine(Helper.GetPath(Helper.AppPath.testOutput), @"baddir\logdebug.txt"), }; PackRulesResult.ExitCode exitCode = PackRulesResult.ExitCode.CriticalError; try { PackRulesCommand command = new(options); PackRulesResult result = command.GetResult(); exitCode = result.ResultCode; } catch (Exception) { exitCode = PackRulesResult.ExitCode.CriticalError; } Assert.IsTrue(exitCode == PackRulesResult.ExitCode.CriticalError);//test fails even when values match unless this case run individually -mstest bug? }