public void ThreadsOneConfigurationTest()
        {
            TestUtilities utils = DefaultUtilities();

            utils.ConfigurationOptions.Threads = 1;

            ProcessOutput results = utils.ExecuteTest();

            Assert.IsTrue(!results.HasErrors(), results.ToString());
            Assert.IsTrue(File.Exists(utils.TempOptionsFile));

            // should start execution
            Assert.Zero(results.ExitCode);
        }
        public void ThreadsNullConfigurationTest()
        {
            TestUtilities utils = DefaultUtilities();

            utils.SaveTempOptions();

            string config = File.ReadAllText(utils.TempOptionsFile);

            config = Regex.Replace(config, "\"Threads\".+", "\"Threads\": null,", RegexOptions.IgnoreCase);
            File.WriteAllText(utils.TempOptionsFile, config);

            ProcessOutput results = utils.ExecuteCollectSfData($"-config {utils.TempOptionsFile}");

            Assert.IsTrue(!results.HasErrors(), results.ToString());
            Assert.IsTrue(File.Exists(utils.TempOptionsFile));

            // should start execution
            Assert.Zero(results.ExitCode);
        }
        public void DefaultConfigurationTest()
        {
            TestUtilities utils = DefaultUtilities();
            string        defaultOptionsFile = $"{TestUtilities.WorkingDir}\\collectsfdata.options.json";

            if (!File.Exists(defaultOptionsFile) & File.Exists(DefaultOptionsFile))
            {
                defaultOptionsFile = DefaultOptionsFile;
            }

            Assert.IsTrue(File.Exists(defaultOptionsFile));

            ProcessOutput results = utils.ExecuteCollectSfData(defaultOptionsFile);

            Assert.IsTrue(results.HasErrors(), results.ToString());

            // should not start execution
            Assert.NotZero(results.ExitCode);
        }
        public void AzureMsalUserAuthTest()
        {
            TestUtilities utils = DefaultUtilities();

            utils.ConfigurationOptions.AzureClientId              = null;
            utils.ConfigurationOptions.AzureClientSecret          = null;
            utils.ConfigurationOptions.AzureResourceGroup         = null;
            utils.ConfigurationOptions.AzureResourceGroupLocation = null;
            utils.ConfigurationOptions.AzureSubscriptionId        = null;
            utils.ConfigurationOptions.AzureTenantId              = null;

            ProcessOutput results = utils.ExecuteTest();

            /* known cng error in .net core that test is running as and azure-az modules
             * fix is to use cert thumb as secret but cert may have to be real / from ca
             */
            Assert.IsFalse(results.HasErrors(), results.ToString());

            /*
             *  "StandardError": "13:Validate:exception: validate:exception:System.AggregateException: One or more errors occurred. (Could not load type 'System.Security.Cryptography.SHA256Cng' from assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.)\r\n ---> System.TypeLoadException: Could not load type 'System.Security.Cryptography.SHA256Cng' from assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.\r\n   at Microsoft.Identity.Client.Platforms.net45.NetDesktopCryptographyManager.CreateSha256HashBytes(
             */
        }