Example #1
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #12
0
        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?
        }
Example #13
0
        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?
        }
Example #15
0
        [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?
        }