public void Execute(string typeName, string[] constructorArguments) { DebugCheck.NotEmpty(typeName); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddOrUpdateConnectionFactoryInConfig( c, new ConnectionFactorySpecification(typeName, constructorArguments)) })); }
public void Execute(string invariantName, string typeName) { DebugCheck.NotEmpty(invariantName); DebugCheck.NotEmpty(typeName); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func <XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddProviderToConfig(c, invariantName, typeName) })); }
public void Execute(string typeName, string[] constructorArguments) { DebugCheck.NotEmpty(typeName); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func <XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddOrUpdateConnectionFactoryInConfig( c, new ConnectionFactorySpecification(typeName, constructorArguments)) })); }
public void Execute(string invariantName, string typeName) { DebugCheck.NotEmpty(invariantName); DebugCheck.NotEmpty(typeName); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddProviderToConfig(c, invariantName, typeName) })); }
public SqlCompactConnectionFactoryConfigurator(Project project) { Contract.Requires(project != null); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConnectionFactoryInConfig( c, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)) })); }
public SqlCompactConnectionFactoryConfigurator(Project project) { DebugCheck.NotNull(project); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( project.ProjectItems, i => processor.ProcessConfigFile( i, new Func <XDocument, bool>[] { c => manipulator.AddOrUpdateConnectionFactoryInConfig( c, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)) })); }
public ConnectionFactoryConfigurator(Project project) { Check.NotNull(project, "project"); using ( var detector = new SqlServerDetector( Registry.LocalMachine, new ServiceControllerProxy(new ServiceController("MSSQL$SQLEXPRESS")))) { var factorySpecification = detector.BuildConnectionFactorySpecification(); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( project.ProjectItems, i => processor.ProcessConfigFile( i, new Func <XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddConnectionFactoryToConfig(c, factorySpecification) })); } }
public void Execute() { using ( var detector = new SqlServerDetector( Registry.LocalMachine, new ServiceControllerProxy(new ServiceController("MSSQL$SQLEXPRESS")))) { var factorySpecification = detector.BuildConnectionFactorySpecification(); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func <XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddConnectionFactoryToConfig(c, factorySpecification) })); } new ReferenceRemover(Project).TryRemoveSystemDataEntity(); }
public void Execute() { using ( var detector = new SqlServerDetector( Registry.LocalMachine, new ServiceControllerProxy(new ServiceController("MSSQL$SQLEXPRESS")))) { var factorySpecification = detector.BuildConnectionFactorySpecification(); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( Project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddConnectionFactoryToConfig(c, factorySpecification) })); } new ReferenceRemover(Project).TryRemoveSystemDataEntity(); }
public ConnectionFactoryConfigurator(Project project) { Check.NotNull(project, "project"); using ( var detector = new SqlServerDetector( Registry.LocalMachine, new ServiceControllerProxy(new ServiceController("MSSQL$SQLEXPRESS")))) { var factorySpecification = detector.BuildConnectionFactorySpecification(); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); new ConfigFileFinder().FindConfigFiles( project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, GetType().Assembly.GetName().Version), c => manipulator.AddConnectionFactoryToConfig(c, factorySpecification) })); } }
public ConnectionFactoryConfigurator(Project project) { Contract.Requires(project != null); using ( var detector = new SqlServerDetector( Registry.LocalMachine, new ServiceControllerProxy(new ServiceController("MSSQL$SQLEXPRESS")))) { var factorySpecification = detector.BuildConnectionFactorySpecification(); var manipulator = new ConfigFileManipulator(); var processor = new ConfigFileProcessor(); var efVersion = new VersionMapper().GetEntityFrameworkVersion(project); new ConfigFileFinder().FindConfigFiles( project.ProjectItems, i => processor.ProcessConfigFile( i, new Func<XDocument, bool>[] { c => manipulator.AddOrUpdateConfigSection(c, efVersion), c => manipulator.AddConnectionFactoryToConfig(c, factorySpecification) })); } }
public void AddProviderToConfig_adds_provider_if_config_exists_but_with_no_provider() { var config = CreateProviderConfigDoc(); var factoryAdded = new ConfigFileManipulator() .AddProviderToConfig(config, "Dave.Matthews.Band", "Crash"); Assert.True(factoryAdded); Assert.Equal("Dave.Matthews.Band", GetProviders(config).Single().Item1); Assert.Equal("Crash", GetProviders(config).Single().Item2); }
public void AddProviderToConfig_does_nothing_if_given_provider_exists_and_is_at_end() { var config = CreateProviderConfigDoc( Tuple.Create("The.Clash", "London.Calling"), Tuple.Create("Dave.Matthews.Band", "Crash")); var factoryAdded = new ConfigFileManipulator() .AddProviderToConfig(config, "Dave.Matthews.Band", "Crash"); Assert.False(factoryAdded); Assert.Equal("The.Clash", GetProviders(config).First().Item1); Assert.Equal("London.Calling", GetProviders(config).First().Item2); Assert.Equal("Dave.Matthews.Band", GetProviders(config).Skip(1).Single().Item1); Assert.Equal("Crash", GetProviders(config).Skip(1).Single().Item2); }
public void AddProviderToConfig_does_nothing_if_only_given_provider_already_exists() { var config = CreateProviderConfigDoc(Tuple.Create("Dave.Matthews.Band", "Crash")); var factoryAdded = new ConfigFileManipulator() .AddProviderToConfig(config, "Dave.Matthews.Band", "Crash"); Assert.False(factoryAdded); Assert.Equal("Dave.Matthews.Band", GetProviders(config).Single().Item1); Assert.Equal("Crash", GetProviders(config).Single().Item2); }
public void AddOrUpdateConfigSection_when_using_NET4_EF_assembly_updates_EF_section_if_configSections_element_is_too_new() { var config = CreateConfigSectionDoc(_net45EntityFrameworkSectionName); var sectionModified = new ConfigFileManipulator().AddOrUpdateConfigSection( config, _net40EntityFrameworkVersion); Assert.True(sectionModified); Assert.Equal(_net40EntityFrameworkSectionName, GetEfSectionName(config)); }
public void AddOrUpdateConfigSection_adds_EF_section_if_configSections_element_has_no_entityFramework_entry() { var config = CreateConfigSectionDoc(assemblyName: null); var sectionModified = new ConfigFileManipulator().AddOrUpdateConfigSection( config, _net45EntityFrameworkVersion); Assert.True(sectionModified); Assert.Equal(_net45EntityFrameworkSectionName, GetEfSectionName(config)); }
public void AddOrUpdateConfigSection_adds_EF_section_if_configuration_element_is_missing() { var config = new XDocument(); var sectionModified = new ConfigFileManipulator().AddOrUpdateConfigSection( config, _net45EntityFrameworkVersion); Assert.True(sectionModified); Assert.Equal(_net45EntityFrameworkSectionName, GetEfSectionName(config)); }
public void AddConnectionFactoryToConfig_adds_factory_with_no_parameters() { var config = new XDocument(); var factoryAdded = new ConfigFileManipulator(). AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification("NewConnectionFactory")); Assert.True(factoryAdded); Assert.Equal("NewConnectionFactory", GetFactoryName(config)); Assert.Null( config.Element(ConfigFileManipulator.ConfigurationElementName) .Element(ConfigFileManipulator.EntityFrameworkElementName) .Element( ConfigFileManipulator.DefaultConnectionFactoryElementName) .Element(ConfigFileManipulator.ParametersElementName)); }
public void AddConnectionFactoryToConfig_adds_factory_if_no_factory_name_already_exists() { var config = CreateConnectionFactoryConfigDoc(null); var factoryAdded = new ConfigFileManipulator(). AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification( "NewConnectionFactory", "NewBaseConnectionString")); Assert.True(factoryAdded); Assert.Equal("NewConnectionFactory", GetFactoryName(config)); Assert.Equal("NewBaseConnectionString", GetArgument(config)); }
public void AddProviderToConfig_moves_entry_to_end_and_updates_provider_type_if_invariant_name_already_exists() { var config = CreateProviderConfigDoc( Tuple.Create("Dave.Matthews.Band", "Crash"), Tuple.Create("The.Clash", "London.Calling")); var factoryAdded = new ConfigFileManipulator() .AddProviderToConfig(config, "Dave.Matthews.Band", "Broken.Things"); Assert.True(factoryAdded); Assert.Equal("The.Clash", GetProviders(config).First().Item1); Assert.Equal("London.Calling", GetProviders(config).First().Item2); Assert.Equal("Dave.Matthews.Band", GetProviders(config).Skip(1).Single().Item1); Assert.Equal("Broken.Things", GetProviders(config).Skip(1).Single().Item2); }
public void AddConnectionFactoryToConfig_does_nothing_if_factory_name_already_exists() { var config = CreateConnectionFactoryConfigDoc("SomeConnectionFactory"); var factoryAdded = new ConfigFileManipulator(). AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification( "NewConnectionFactory", "NewBaseConnectionString")); Assert.False(factoryAdded); Assert.Equal("SomeConnectionFactory", GetFactoryName(config)); }
public void AddOrUpdateConnectionFactoryInConfig_adds_factory_if_no_factory_name_already_exists() { var config = CreateConnectionFactoryConfigDoc(null); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)); Assert.True(factoryAdded); Assert.Equal( ConnectionFactorySpecification.SqlCeConnectionFactoryName, GetFactoryName(config)); Assert.Equal( ConnectionFactorySpecification.SqlCompactProviderName, GetArgument(config)); }
public void AddConnectionFactoryToConfig_adds_factory_if_configuration_element_is_missing() { var config = new XDocument(); var factoryAdded = new ConfigFileManipulator(). AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification( "NewConnectionFactory", "NewBaseConnectionString")); Assert.True(factoryAdded); Assert.Equal("NewConnectionFactory", GetFactoryName(config)); Assert.Equal("NewBaseConnectionString", GetArgument(config)); }
public void Default_connection_factory_is_added_to_real_Visual_Studio_project_and_config_file() { var configFilesFound = new List<string>(); Run_Project_test_if_Visual_Studio_is_running( p => { new ConfigFileFinder().FindConfigFiles( p.ProjectItems, i => { configFilesFound.Add(i.Name); var config = XDocument.Load(i.FileNames[0]); // Checked in app.config for unit tests has no connection factory, so one should be added var modified = new ConfigFileManipulator().AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlConnectionFactoryName, "SomeConnectionString")); Assert.True(modified); Assert.Equal( ConnectionFactorySpecification.SqlConnectionFactoryName, GetFactoryName(config)); Assert.Equal("SomeConnectionString", GetArgument(config)); }); Assert.Equal(1, configFilesFound.Count); Assert.Equal("App.config", configFilesFound.Single()); }); }
public void AddConnectionFactoryToConfig_adds_factory_with_many_parameters() { var config = new XDocument(); var factoryAdded = new ConfigFileManipulator(). AddConnectionFactoryToConfig( config, new ConnectionFactorySpecification( "NewConnectionFactory", "1", "2", "3")); Assert.True(factoryAdded); Assert.Equal("NewConnectionFactory", GetFactoryName(config)); Assert.Equal("1", GetArguments(config).First()); Assert.Equal("2", GetArguments(config).Skip(1).First()); Assert.Equal("3", GetArguments(config).Skip(2).First()); }
public void AddOrUpdateConnectionFactoryInConfig_adds_factory_if_configuration_element_is_missing() { var config = new XDocument(); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)); Assert.True(factoryAdded); Assert.Equal( ConnectionFactorySpecification.SqlCeConnectionFactoryName, GetFactoryName(config)); Assert.Equal( ConnectionFactorySpecification.SqlCompactProviderName, GetArgument(config)); }
public void AddOrUpdateConfigSection_adds_EF_section_if_configSections_element_contains_no_entries() { var config = new XDocument( new XElement( ConfigFileManipulator.ConfigurationElementName, new XElement(ConfigFileManipulator.ConfigSectionsElementName))); var sectionModified = new ConfigFileManipulator().AddOrUpdateConfigSection( config, _net45EntityFrameworkVersion); Assert.True(sectionModified); Assert.Equal(_net45EntityFrameworkSectionName, GetEfSectionName(config)); }
public void AddOrUpdateConnectionFactoryInConfig_sets_factory_to_SQL_Compact_even_if_entry_with_param_already_exists() { var config = CreateConnectionFactoryConfigDoc( ConnectionFactorySpecification.SqlConnectionFactoryName, new[] { "Database=Bob" }); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)); Assert.True(factoryAdded); Assert.Equal( ConnectionFactorySpecification.SqlCeConnectionFactoryName, GetFactoryName(config)); Assert.Equal( ConnectionFactorySpecification.SqlCompactProviderName, GetArgument(config)); }
public void AddOrUpdateConfigSection_when_using_NET4_EF_assembly_does_nothing_if_EF_assembly_name_is_up_to_date() { var config = CreateConfigSectionDoc(_net40EntityFrameworkSectionName, addRequirePermission: true); var sectionModified = new ConfigFileManipulator().AddOrUpdateConfigSection( config, _net40EntityFrameworkVersion); Assert.False(sectionModified); Assert.Equal(_net40EntityFrameworkSectionName, GetEfSectionName(config)); }
public void AddOrUpdateConnectionFactoryInConfig_sets_updates_argument_even_if_everything_else_already_exists() { var config = CreateConnectionFactoryConfigDoc( ConnectionFactorySpecification.SqlConnectionFactoryName, new[] { "Database=Bob" }); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlConnectionFactoryName, "Database=Bobby")); Assert.True(factoryAdded); Assert.Equal(ConnectionFactorySpecification.SqlConnectionFactoryName, GetFactoryName(config)); Assert.Equal("Database=Bobby", GetArgument(config)); }
public void AddOrUpdateConnectionFactoryInConfig_does_nothing_if_correct_SQL_Compact_entry_already_exists() { var config = CreateConnectionFactoryConfigDoc( ConnectionFactorySpecification.SqlCeConnectionFactoryName, new[] { ConnectionFactorySpecification.SqlCompactProviderName }); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlCeConnectionFactoryName, ConnectionFactorySpecification.SqlCompactProviderName)); Assert.False(factoryAdded); Assert.Equal( ConnectionFactorySpecification.SqlCeConnectionFactoryName, GetFactoryName(config)); Assert.Equal( ConnectionFactorySpecification.SqlCompactProviderName, GetArgument(config)); }
public void AddOrUpdateConnectionFactoryInConfig_sets_updates_some_arguments_even_if_everything_else_already_exists() { var config = CreateConnectionFactoryConfigDoc( ConnectionFactorySpecification.SqlConnectionFactoryName, new[] { "Database=Bob", "Dave=Matthews", "Too=Much" }); var factoryAdded = new ConfigFileManipulator() .AddOrUpdateConnectionFactoryInConfig( config, new ConnectionFactorySpecification( ConnectionFactorySpecification.SqlConnectionFactoryName, "Database=Bobby", "Dave=Matthews", "Tripping=Billies")); Assert.True(factoryAdded); Assert.Equal(ConnectionFactorySpecification.SqlConnectionFactoryName, GetFactoryName(config)); Assert.Equal("Database=Bobby", GetArgument(config, 0)); Assert.Equal("Dave=Matthews", GetArgument(config, 1)); Assert.Equal("Tripping=Billies", GetArgument(config, 2)); }