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);
}
}