public void TestDefaultArguments() { var dacpacFile = $"Test_{Guid.NewGuid().ToString()}.dacpac"; try { DatabaseHelper.DeployDacpac("Database1", _databaseName); var logger = NullLogger.Instance; var modelFactory = new ModelFactory(logger); var packageFactory = new PackageFactory(logger, modelFactory); var service = new DacpacMergeService(logger, packageFactory, modelFactory); var inputFile = string.Format(TestRunnerHelper.DacpacLocation, "Database3"); File.Copy(inputFile, dacpacFile); service.Merge(dacpacFile, DatabaseHelper.DatabaseSource, _databaseName); using (var package = System.IO.Packaging.Package.Open(dacpacFile, FileMode.Open, FileAccess.Read)) { using (var reader = new StreamReader(package.GetPart(new Uri("/model.xml", UriKind.Relative)).GetStream(FileMode.Open), Encoding.UTF8)) { reader.ReadToEnd().Should().Contain("<Element Type=\"SqlSchema\" Name=\"[SchemaB]\">"); } } } finally { File.Delete(dacpacFile); } }
public void InputSchemasShouldGetObjectsForSpecificSchema() { const string source = "MSSQL"; const string name = "TestDB"; var logger = NullLogger.Instance; var packageFactory = Substitute.For <IPackageFactory>(); var modelFactory = Substitute.For <IModelFactory>(); var model = Substitute.For <IModel>(); modelFactory.Create(source, name).Returns(model); IDacpacMergeService cut = new DacpacMergeService(logger, packageFactory, modelFactory); cut.Merge("input.dacpac", source, name, new [] { "A", "B" }, "User", "output.dacpac"); model.GetObjects(new [] { "A", "B" }, false).Received(1); }