public void DeserializationShouldResultInCorrectConfiguration() { byte[] sourceData = ResourceHelper.ReadBytes("Galen.Ci.EntityFramework.Deployer.Tests.Data.DeserializationShouldResultInCorrectConfiguration_Source.xml"); DeploymentConfiguration actualConfig; var expectedConfig = new DeploymentConfiguration() { MigrationConfigurationInfo = new MigrationConfigurationInfo { Type = "Galen.Enterprise.Data.Migrations.SomeContext.Configuration" }, InitializerConfigurationInfo = new InitializerConfigurationInfo { Type = "Galen.Enterprise.Data.Initializers.SomeContextCreateDatabaseIfNotExists", ServiceAccount = new ServiceAccountInfo() { Name = "SomeWindowsAccountName", Domain = "SomeDomainName", DatabaseUser = "******", AccountType = "Windows" } } }; using (var stream = new MemoryStream(sourceData)) { var sut = new DeploymentConfigurationXmlStore(stream); actualConfig = sut.Load(); } Assert.IsNotNull(actualConfig); Assert.IsNotNull(actualConfig.InitializerConfigurationInfo); Assert.IsNotNull(actualConfig.MigrationConfigurationInfo); Assert.AreEqual(expectedConfig.MigrationConfigurationInfo.Type, actualConfig.MigrationConfigurationInfo.Type); Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.Type, actualConfig.InitializerConfigurationInfo.Type); Assert.IsTrue((actualConfig.InitializerConfigurationInfo.ServiceAccount != null && expectedConfig.InitializerConfigurationInfo.ServiceAccount != null) || (actualConfig.InitializerConfigurationInfo.ServiceAccount == null && expectedConfig.InitializerConfigurationInfo.ServiceAccount == null), "Service account info mismatch"); if (actualConfig.InitializerConfigurationInfo.ServiceAccount != null) { Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.ServiceAccount.Name, actualConfig.InitializerConfigurationInfo.ServiceAccount.Name); Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.ServiceAccount.Domain, actualConfig.InitializerConfigurationInfo.ServiceAccount.Domain); Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.ServiceAccount.DatabaseUser, actualConfig.InitializerConfigurationInfo.ServiceAccount.DatabaseUser); Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.ServiceAccount.AccountType, actualConfig.InitializerConfigurationInfo.ServiceAccount.AccountType); Assert.AreEqual(expectedConfig.InitializerConfigurationInfo.ServiceAccount.DatabaseUserPassword, actualConfig.InitializerConfigurationInfo.ServiceAccount.DatabaseUserPassword); } }
public void SerializationShouldGenerateCorrectXml() { string expectedXml = ResourceHelper.ReadString( "Galen.Ci.EntityFramework.Deployer.Tests.Data.SerializationShouldGenerateCorrectXml_Expected.xml"); string actualXml; var config = new DeploymentConfiguration() { MigrationConfigurationInfo = new MigrationConfigurationInfo { Type = "Galen.Enterprise.Data.Migrations.SomeContext.Configuration" }, InitializerConfigurationInfo = new InitializerConfigurationInfo { Type = "Galen.Enterprise.Data.Initializers.SomeContextCreateDatabaseIfNotExists", ServiceAccount = new ServiceAccountInfo() { Name = "SomeWindowsAccountName", Domain = "SomeDomainName", DatabaseUser = "******", AccountType = "Windows" } } }; using (var memoryStream = new MemoryStream()) { var sut = new DeploymentConfigurationXmlStore(memoryStream); sut.Save(config); memoryStream.Position = 0; using (var sr = new StreamReader(memoryStream)) { actualXml = sr.ReadToEnd(); } } Assert.AreEqual(expectedXml, actualXml); }