コード例 #1
0
        public void GetTable_Returns_Correct_Table()
        {
            var projectList = new List<ProjectDescriptor>();
            var project = new ProjectDescriptor();
            const string projectName = "abcdef";
            project.Name = projectName;
            const string path = "c:\\dac.dacpac";
            project.DacPath = path;

            projectList.Add(project);

            var enumerator = new Mock<ProjectEnumerator>();
            enumerator.Setup(p => p.EnumerateProjects()).Returns(projectList);

            var tables = new List<ITable>();
            tables.Add(new Table() { SchemaName = "one", Name = "table" });
            tables.Add(new Table() { SchemaName = "one", Name = "table2" });
            tables.Add(new Table() { SchemaName = "two", Name = "table" });

            var parser = new Mock<DacParser>();
            parser.Setup(p => p.PreDeployScript).Returns(() => null);
            parser.Setup(p => p.PostDeployScript).Returns(() => null);
            parser.Setup(p => p.GetTableDefinitions()).Returns(tables);

            var parserBuilder = new Mock<DacParserBuilder>();
            parserBuilder.Setup(p => p.Build(path)).Returns(parser.Object);

            var solution = new SolutionParser(enumerator.Object, parserBuilder.Object, new DummyStatus());

            var table = solution.GetTable("abcdef", "one", "table2");
            Assert.AreEqual("one", table.SchemaName);
            Assert.AreEqual("table2", table.Name);
        }
コード例 #2
0
        public void Finds_Can_Add_Tables_After_Initial_Load()
        {
            var projectList = new List<ProjectDescriptor>();
            var project = new ProjectDescriptor();
            const string projectName = "abcdef";
            project.Name = projectName;
            const string path = "c:\\dac.dacpac";
            project.DacPath = path;

            projectList.Add(project);

            var enumerator = new Mock<ProjectEnumerator>();
            enumerator.Setup(p => p.EnumerateProjects()).Returns(projectList);

            var tables = new List<ITable>();
            tables.Add(new Table(){Name = "oooh", SchemaName = "dbo"});

            var parser = new Mock<DacParser>();
            parser.Setup(p => p.PreDeployScript).Returns(() => null);
            parser.Setup(p => p.PostDeployScript).Returns(() => null);
            parser.Setup(p => p.GetTableDefinitions()).Returns(tables);

            var parserBuilder = new Mock<DacParserBuilder>();
            parserBuilder.Setup(p => p.Build(path)).Returns(parser.Object);

            var solution = new SolutionParser(enumerator.Object, parserBuilder.Object, new DummyStatus());
            var schema = solution.GetProject("abcdef").GetSchema("dbo");
            Assert.AreEqual(1, schema.GetTables().Count);

            solution.AddTable("abcdef", "dbo", "erm", new Table() { Name = "erm", SchemaName = "dbo" });
            Assert.AreEqual(2, schema.GetTables().Count);
            var table = solution.GetTable("abcdef", "dbo", "erm");
            Assert.IsNotNull(table);
        }
コード例 #3
0
        public void Finds_All_Projects()
        {
            var projectList = new List<ProjectDescriptor>();
            var project = new ProjectDescriptor();
            const string projectName = "abcdef";
            project.Name = projectName;
            const string path = "c:\\dac.dacpac";
            project.DacPath = path;

            projectList.Add(project);

            var enumerator = new Mock<ProjectEnumerator>();
            enumerator.Setup(p => p.EnumerateProjects()).Returns(projectList);

            var tables = new List<ITable>();
            tables.Add(new Table());

            var parser = new Mock<DacParser>();
            parser.Setup(p => p.PreDeployScript).Returns(() => null);
            parser.Setup(p => p.PostDeployScript).Returns(() => null);
            parser.Setup(p => p.GetTableDefinitions()).Returns(tables);

            var parserBuilder = new Mock<DacParserBuilder>();
            parserBuilder.Setup(p => p.Build(path)).Returns(parser.Object);

            var solution = new SolutionParser(enumerator.Object, parserBuilder.Object, new DummyStatus());
            var actualProject = solution.GetProject(projectName);
            Assert.AreEqual(projectName, actualProject.GetName());
            Assert.AreEqual(1, solution.GetProjects().Count);
        }