public void Check_Runtime_stopAtFirstError_as_true() { string config = @"{ ""specflow"": { ""runtime"": { ""stopAtFirstError"": ""true"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.StopAtFirstError.Should().BeTrue(); }
public void Check_Plugins_NotInConfigFile() { string config = @"{ ""specflow"": { } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.Plugins.Should().BeEmpty(); }
public void Check_StepAssemblies_OneEntry() { string config = @"{ ""stepAssemblies"": [ {""assembly"": ""testEntry""} ] }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.AdditionalStepAssemblies.Count.Should().Be(1); runtimeConfig.AdditionalStepAssemblies.First().Should().Be("testEntry"); }
public void Check_Trace_StepDefinitionSkeletonStyle_RegexAttribute() { string config = @"{ ""specflow"": { ""trace"": { ""stepDefinitionSkeletonStyle"": ""RegexAttribute"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.StepDefinitionSkeletonStyle.Should().Be(StepDefinitionSkeletonStyle.RegexAttribute); }
public void Check_Defaults_Only_Root_Objects() { string configAsJson = @"{ ""bindingCulture"": {}, ""language"": {}, ""generator"": {}, ""runtime"": {}, ""trace"": {} }"; var config = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), configAsJson); AssertDefaultJsonSpecFlowConfiguration(config); }
public void Check_Trace_StepDefinitionSkeletonStyle_MethodNameUnderscores() { string config = @"{ ""specflow"": { ""trace"": { ""stepDefinitionSkeletonStyle"": ""MethodNameUnderscores"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.StepDefinitionSkeletonStyle.Should().Be(StepDefinitionSkeletonStyle.MethodNameUnderscores); }
public void Check_Trace_minTracedDuration() { string config = @"{ ""specflow"": { ""trace"": { ""minTracedDuration"": ""0:0:1.0"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.MinTracedDuration.Should().Be(TimeSpan.FromSeconds(1)); }
public void Trace_Listener_Not_Supported() { string config = @"{ ""specflow"": { ""trace"": { ""listener"": ""TraceListener"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.CustomDependencies.Count.Should().Be(0); }
public void Check_Trace_traceTimings_as_False() { string config = @"{ ""specflow"": { ""trace"": { ""traceTimings"": ""false"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.TraceTimings.Should().BeFalse(); }
public void Check_Trace_traceSuccessfulSteps_as_True() { string config = @"{ ""specflow"": { ""trace"": { ""traceSuccessfulSteps"": ""true"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.TraceSuccessfulSteps.Should().BeTrue(); }
public void Check_Runtime_missingOrPendingStepsOutcome_as_Inconclusive() { string config = @"{ ""specflow"": { ""runtime"": { ""missingOrPendingStepsOutcome"": ""Inconclusive"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.MissingOrPendingStepsOutcome.Should().Be(MissingOrPendingStepsOutcome.Inconclusive); }
public void CheckUnitTestProvider() { string config = @"{ ""specflow"": { ""unitTestProvider"": { ""name"": ""XUnit"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.UnitTestProvider.Should().Be("XUnit"); }
public void CheckBindingCulture() { string config = @"{ ""specflow"": { ""bindingCulture"": { ""name"": ""de"" } } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.BindingCulture.TwoLetterISOLanguageName.Should().Be("de"); }
public void Check_StepAssemblies_IsEmpty() { string config = @"{ ""specflow"": { ""stepAssemblies"" : [ ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.AdditionalStepAssemblies.Should().BeEmpty(); }
public SpecFlowConfiguration LoadConfiguration(SpecFlowConfiguration specFlowConfiguration) { if (IsJsonConfig) { var jsonConfigurationLoader = new JsonConfigurationLoader(); return(jsonConfigurationLoader.LoadJson(specFlowConfiguration, configFileContent)); } ConfigurationSectionHandler section = GetSection(); var runtimeConfigurationLoader = new AppConfigConfigurationLoader(); return(runtimeConfigurationLoader.LoadAppConfig(specFlowConfiguration, section)); }
public void Check_Generator_NonParallelizableMarkers_EmptyList() { string configAsJson = @"{ ""generator"": { ""addNonParallelizableMarkerForTags"": [ ] } }"; var config = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), configAsJson); config.AddNonParallelizableMarkerForTags.Should().BeEmpty(); }
public void Check_Defaults_For_One_Config_Element() { var traceTimings = true; string configAsJson = $@"{{ ""trace"": {{ ""traceTimings"": {traceTimings} }} }}"; var config = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), configAsJson); config.TraceTimings.Should().Be(traceTimings); config.MinTracedDuration.Should().Be(TimeSpan.Parse(ConfigDefaults.MinTracedDuration)); config.StepDefinitionSkeletonStyle.Should().Be(ConfigDefaults.StepDefinitionSkeletonStyle); config.TraceSuccessfulSteps.Should().Be(ConfigDefaults.TraceSuccessfulSteps); }
public void Check_Generator_NonParallelizableMarkers_SingleTag() { string configAsJson = @"{ ""generator"": { ""addNonParallelizableMarkerForTags"": [ ""tag1"" ] } }"; var config = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), configAsJson); config.AddNonParallelizableMarkerForTags.Should().BeEquivalentTo("tag1"); }
public void Check_CucumberMessages_Sinks_EmptyList() { string config = @"{ ""cucumber-messages"": { ""enabled"": false, ""sinks"": [ ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.CucumberMessagesConfiguration.Sinks.Should().BeEmpty(); }
public void Check_CucumberMessages_Sinks_ListOneEntry() { string config = @"{ ""cucumber-messages"": { ""enabled"": false, ""sinks"": [ { ""type"": ""file"", ""path"": ""C:\temp\testrun.cm"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.CucumberMessagesConfiguration.Sinks.Count.Should().Be(1); }
public void Check_Plugins_Parameters() { string config = @"{ ""specflow"": { ""plugins"": [ { ""name"": ""testEntry"", ""parameters"":""pluginParameter"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.Plugins.Count.Should().Be(1); runtimeConfig.Plugins.First().Parameters.Should().Be("pluginParameter"); }
public void Check_Plugins_PluginType_GeneratorAndRuntime() { string config = @"{ ""specflow"": { ""plugins"": [ { ""name"": ""testEntry"", ""type"":""GeneratorAndRuntime"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.Plugins.Count.Should().Be(1); runtimeConfig.Plugins.First().Type.Should().Be(PluginType.GeneratorAndRuntime); }
public void Check_Plugins_TwoSameNameEntry() { string config = @"{ ""specflow"": { ""plugins"": [ { ""name"": ""testEntry"" }, { ""name"": ""testEntry"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.Plugins.Count.Should().Be(1); runtimeConfig.Plugins[0].Name.Should().Be("testEntry"); }
public void Check_StepAssemblies_TwoEntry() { string config = @"{ ""specflow"": { ""stepAssemblies"": [ { ""assembly"": ""testEntry1"" }, { ""assembly"": ""testEntry2"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); runtimeConfig.AdditionalStepAssemblies.Count.Should().Be(2); runtimeConfig.AdditionalStepAssemblies[0].Should().Be("testEntry1"); runtimeConfig.AdditionalStepAssemblies[1].Should().Be("testEntry2"); }
public void Check_CucumberMessages_Sinks_DataOfEntry() { string config = @"{ ""cucumber-messages"": { ""enabled"": false, ""sinks"": [ { ""type"": ""file"", ""path"": ""C:\\temp\\testrun.cm"" } ] } }"; var runtimeConfig = new JsonConfigurationLoader().LoadJson(ConfigurationLoader.GetDefault(), config); var cucumberMessagesSink = runtimeConfig.CucumberMessagesConfiguration.Sinks.First(); cucumberMessagesSink.Type.Should().Be("file"); cucumberMessagesSink.Path.Should().Be(@"C:\temp\testrun.cm"); }
public SpecFlowConfiguration Load(SpecFlowConfiguration specFlowConfiguration) { if (_configFilePath == null) { return(LoadDefaultConfiguration(specFlowConfiguration)); } var extension = Path.GetExtension(_configFilePath); var configFileContent = File.ReadAllText(_configFilePath); switch (extension.ToLowerInvariant()) { case ".config": { var configDocument = new XmlDocument(); configDocument.LoadXml(configFileContent); var specFlowNode = configDocument.SelectSingleNode("/configuration/specFlow"); if (specFlowNode == null) { return(LoadDefaultConfiguration(specFlowConfiguration)); } var configSection = ConfigurationSectionHandler.CreateFromXml(specFlowNode); var loader = new AppConfigConfigurationLoader(); return(loader.LoadAppConfig(specFlowConfiguration, configSection)); } case ".json": { if (_jsonSpecFlow2Mode) { configFileContent = ConvertToJsonSpecFlow2Style(configFileContent); } var loader = new JsonConfigurationLoader(); return(loader.LoadJson(specFlowConfiguration, configFileContent)); } } throw new ConfigurationErrorsException($"Invalid config type: {_configFilePath}"); }
public void CanLoadConfigFromString(string configString) { var configurationLoader = new JsonConfigurationLoader(); configurationLoader.LoadJson(ConfigurationLoader.GetDefault(), configString); }
public ConfigurationLoader(ISpecFlowJsonLocator specFlowJsonLocator) { _specFlowJsonLocator = specFlowJsonLocator; _jsonConfigurationLoader = new JsonConfigurationLoader(); _appConfigConfigurationLoader = new AppConfigConfigurationLoader(); }
public ConfigurationLoader() { _jsonConfigurationLoader = new JsonConfigurationLoader(); _appConfigConfigurationLoader = new AppConfigConfigurationLoader(); }