Example #1
0
        public void GetScriptModifiers_ArgumentNullException_Configuration()
        {
            // Arrange
            var smfMock = new Mock <IScriptModifierFactory>();
            IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object);

            // Act & Assert
            // ReSharper disable once AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => service.GetScriptModifiers(null));
        }
Example #2
0
        public void GetScriptModifiers_AllModifiers()
        {
            // Arrange
            var sm1     = Mock.Of <IScriptModifier>();
            var sm2     = Mock.Of <IScriptModifier>();
            var sm3     = Mock.Of <IScriptModifier>();
            var sm4     = Mock.Of <IScriptModifier>();
            var sm5     = Mock.Of <IScriptModifier>();
            var sm6     = Mock.Of <IScriptModifier>();
            var smfMock = new Mock <IScriptModifierFactory>();

            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.CommentOutUnnamedDefaultConstraintDrops)).Returns(sm1);
            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.ReplaceUnnamedDefaultConstraintDrops)).Returns(sm2);
            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.AddCustomHeader)).Returns(sm3);
            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.AddCustomFooter)).Returns(sm4);
            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.TrackDacpacVersion)).Returns(sm5);
            smfMock.Setup(m => m.CreateScriptModifier(ScriptModifier.RemoveSqlCmdStatements)).Returns(sm6);
            IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object);
            var config = new ConfigurationModel
            {
                CommentOutUnnamedDefaultConstraintDrops = true,
                ReplaceUnnamedDefaultConstraintDrops    = true,
                CustomHeader           = "foo",
                CustomFooter           = "bar",
                TrackDacpacVersion     = true,
                RemoveSqlCmdStatements = true
            };

            // Act
            var modifiers = service.GetScriptModifiers(config);

            // Assert
            Assert.IsNotNull(modifiers);
            Assert.AreEqual(6, modifiers.Count);
            smfMock.Verify(m => m.CreateScriptModifier(It.IsAny <ScriptModifier>()), Times.Exactly(6));
            Assert.AreSame(modifiers[ScriptModifier.CommentOutUnnamedDefaultConstraintDrops], sm1);
            Assert.AreSame(modifiers[ScriptModifier.ReplaceUnnamedDefaultConstraintDrops], sm2);
            Assert.AreSame(modifiers[ScriptModifier.AddCustomHeader], sm3);
            Assert.AreSame(modifiers[ScriptModifier.AddCustomFooter], sm4);
            Assert.AreSame(modifiers[ScriptModifier.TrackDacpacVersion], sm5);
            Assert.AreSame(modifiers[ScriptModifier.RemoveSqlCmdStatements], sm6);
        }
Example #3
0
        public void GetScriptModifiers_NoModifiers()
        {
            // Arrange
            var smfMock = new Mock <IScriptModifierFactory>();
            IScriptModifierProviderService service = new ScriptModifierProviderService(smfMock.Object);
            var config = new ConfigurationModel
            {
                CommentOutUnnamedDefaultConstraintDrops = false,
                ReplaceUnnamedDefaultConstraintDrops    = false,
                CustomHeader       = null,
                CustomFooter       = null,
                TrackDacpacVersion = false
            };

            // Act
            var modifiers = service.GetScriptModifiers(config);

            // Assert
            Assert.IsNotNull(modifiers);
            Assert.AreEqual(0, modifiers.Count);
            smfMock.Verify(m => m.CreateScriptModifier(It.IsAny <ScriptModifier>()), Times.Never);
        }