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