Ejemplo n.º 1
0
        public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForProjectPropertiesLoaded()
        {
            // Arrange
            var vsMock           = Mock.Of <IVersionService>();
            var expectedWorkUnit = new FormatTargetVersionUnit(vsMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <FormatTargetVersionUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var targetVersion    = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc)
            {
                CurrentState = StateModelState.SqlProjectPropertiesLoaded
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.AreSame(expectedWorkUnit, workUnit);
            drMock.Verify(m => m.Get <FormatTargetVersionUnit>(), Times.Once);
        }
Ejemplo n.º 2
0
        public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitTriedToCleanArtifactsDirectory()
        {
            // Arrange
            var bsMock           = Mock.Of <IBuildService>();
            var expectedWorkUnit = new CopyBuildResultUnit(bsMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <CopyBuildResultUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var previousVersion  = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc)
            {
                CurrentState = StateModelState.TriedToCleanArtifactsDirectory
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.AreSame(expectedWorkUnit, workUnit);
            drMock.Verify(m => m.Get <CopyBuildResultUnit>(), Times.Once);
        }
Ejemplo n.º 3
0
        public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForTriedToCreateDeploymentFiles()
        {
            // Arrange
            var mpsMock          = Mock.Of <IScriptModifierProviderService>();
            var fsaMock          = Mock.Of <IFileSystemAccess>();
            var loggerMock       = Mock.Of <ILogger>();
            var expectedWorkUnit = new ModifyDeploymentScriptUnit(mpsMock, fsaMock, loggerMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <ModifyDeploymentScriptUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var previousVersion  = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc)
            {
                CurrentState = StateModelState.TriedToCreateDeploymentFiles
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.AreSame(expectedWorkUnit, workUnit);
            drMock.Verify(m => m.Get <ModifyDeploymentScriptUnit>(), Times.Once);
        }
Ejemplo n.º 4
0
        public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForFormattedTargetVersionValidated()
        {
            // Arrange
            var spsMock          = Mock.Of <ISqlProjectService>();
            var expectedWorkUnit = new LoadPathsUnit(spsMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <LoadPathsUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var previousVersion  = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc)
            {
                CurrentState = StateModelState.FormattedTargetVersionValidated
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.AreSame(expectedWorkUnit, workUnit);
            drMock.Verify(m => m.Get <LoadPathsUnit>(), Times.Once);
        }
Ejemplo n.º 5
0
        public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForTriedToCopyBuildResult()
        {
            // Arrange
            var fsaMock          = Mock.Of <IFileSystemAccess>();
            var loggerMock       = Mock.Of <ILogger>();
            var expectedWorkUnit = new CopyDacpacToSharedDacpacRepositoryUnit(fsaMock, loggerMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <CopyDacpacToSharedDacpacRepositoryUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var targetVersion    = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc)
            {
                CurrentState = StateModelState.TriedToCopyBuildResult
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.AreSame(expectedWorkUnit, workUnit);
            drMock.Verify(m => m.Get <CopyDacpacToSharedDacpacRepositoryUnit>(), Times.Once);
        }
Ejemplo n.º 6
0
        public void GetNextWorkUnit_ScriptCreationStateModel_ArgumentNullException_StateModel()
        {
            // Arrange
            var drMock           = new Mock <IDependencyResolver>();
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);

            // Act & Assert
            // ReSharper disable once AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => wuf.GetNextWorkUnit(null as ScriptCreationStateModel));
        }
Ejemplo n.º 7
0
        public void GetNextWorkUnit_ScaffoldingStateModel_ArgumentOutOfRangeException_StateModel(StateModelState state)
        {
            // Arrange
            var drMock           = new Mock <IDependencyResolver>();
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var targetVersion    = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc)
            {
                CurrentState = state
            };

            // Act & Assert
            // ReSharper disable once AssignNullToNotNullAttribute
            Assert.Throws <ArgumentOutOfRangeException>(() => wuf.GetNextWorkUnit(model));
        }
Ejemplo n.º 8
0
        public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForDeletedLatestArtifacts()
        {
            // Arrange
            var drMock           = new Mock <IDependencyResolver>();
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var previousVersion  = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScriptCreationStateModel(project, configuration, previousVersion, false, HandlerFunc)
            {
                CurrentState = StateModelState.DeletedLatestArtifacts
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.IsNull(workUnit);
        }
Ejemplo n.º 9
0
        public void GetNextWorkUnit_ScaffoldingStateModel_CorrectWorkUnitForTriedToCopyDacpacToSharedDacpacRepository()
        {
            // Arrange
            var drMock           = new Mock <IDependencyResolver>();
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var targetVersion    = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScaffoldingStateModel(project, configuration, targetVersion, HandlerFunc)
            {
                CurrentState = StateModelState.TriedToCopyDacpacToSharedDacpacRepository
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            Assert.IsNull(workUnit);
        }
Ejemplo n.º 10
0
        public void GetNextWorkUnit_ScriptCreationStateModel_CorrectWorkUnitForModifiedDeploymentScript(bool createLatest)
        {
            // Arrange
            var fsaMock          = Mock.Of <IFileSystemAccess>();
            var vsaMock          = Mock.Of <IVisualStudioAccess>();
            var loggerMock       = Mock.Of <ILogger>();
            var expectedWorkUnit = new DeleteRefactorLogUnit(fsaMock, vsaMock, loggerMock);
            var drMock           = new Mock <IDependencyResolver>();

            drMock.Setup(m => m.Get <DeleteRefactorLogUnit>()).Returns(expectedWorkUnit);
            IWorkUnitFactory wuf = new WorkUnitFactory(drMock.Object);
            var project          = new SqlProject("a", "b", "c");
            var configuration    = ConfigurationModel.GetDefault();
            var previousVersion  = new Version(1, 0);

            Task HandlerFunc(bool b) => Task.CompletedTask;

            var model = new ScriptCreationStateModel(project, configuration, previousVersion, createLatest, HandlerFunc)
            {
                CurrentState = StateModelState.ModifiedDeploymentScript
            };

            // Act
            var workUnit = wuf.GetNextWorkUnit(model);

            // Assert
            if (createLatest)
            {
                Assert.IsNull(workUnit);
                drMock.Verify(m => m.Get <DeleteRefactorLogUnit>(), Times.Never);
            }
            else
            {
                Assert.AreSame(expectedWorkUnit, workUnit);
                drMock.Verify(m => m.Get <DeleteRefactorLogUnit>(), Times.Once);
            }
        }