Beispiel #1
0
        public void CopyBuildResultAsync_ArgumentException_BinaryDirectoryNotSet()
        {
            // Arrange
            var           project         = new SqlProject("a", @"C:\TestProject\TestProject.sqlproj", "c");
            const string  targetDirectory = @"C:\TestProject\_Deployment\1.0.0";
            var           vsaMock         = Mock.Of <IVisualStudioAccess>();
            var           fsaMock         = Mock.Of <IFileSystemAccess>();
            var           loggerMock      = Mock.Of <ILogger>();
            IBuildService service         = new BuildService(vsaMock, fsaMock, loggerMock);

            // Act & Assert
            Assert.Throws <ArgumentException>(() => service.CopyBuildResultAsync(project, targetDirectory));
        }
Beispiel #2
0
        public void CopyBuildResultAsync_ArgumentNullException_Project()
        {
            // Arrange
            var           vsaMock    = Mock.Of <IVisualStudioAccess>();
            var           fsaMock    = Mock.Of <IFileSystemAccess>();
            var           loggerMock = Mock.Of <ILogger>();
            IBuildService service    = new BuildService(vsaMock, fsaMock, loggerMock);

            // Act & Assert
            // ReSharper disable AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => service.CopyBuildResultAsync(null, null));
            // ReSharper restore AssignNullToNotNullAttribute
        }
Beispiel #3
0
        public void CopyBuildResultAsync_ArgumentNullException_TargetDirectory()
        {
            // Arrange
            var           project    = new SqlProject("a", @"C:\TestProject\TestProject.sqlproj", "c");
            var           vsaMock    = Mock.Of <IVisualStudioAccess>();
            var           fsaMock    = Mock.Of <IFileSystemAccess>();
            var           loggerMock = Mock.Of <ILogger>();
            IBuildService service    = new BuildService(vsaMock, fsaMock, loggerMock);

            // Act & Assert
            // ReSharper disable AssignNullToNotNullAttribute
            Assert.Throws <ArgumentNullException>(() => service.CopyBuildResultAsync(project, null));
            // ReSharper restore AssignNullToNotNullAttribute
        }
Beispiel #4
0
        public async Task CopyBuildResultAsync_LogError_CannotEnsureDirectoryExists_Async()
        {
            // Arrange
            var project = new SqlProject("a", @"C:\TestProject\TestProject.sqlproj", "c");

            project.ProjectProperties.BinaryDirectory = @"C:\TestProject\bin\Output";
            const string targetDirectory = @"C:\TestProject\_Deployment\1.0.0";
            var          vsaMock         = Mock.Of <IVisualStudioAccess>();
            var          fsaMock         = new Mock <IFileSystemAccess>();

            fsaMock.Setup(m => m.EnsureDirectoryExists(targetDirectory))
            .Returns("failed to access parent directory");
            var           loggerMock = new Mock <ILogger>();
            IBuildService service    = new BuildService(vsaMock, fsaMock.Object, loggerMock.Object);

            // Act
            var result = await service.CopyBuildResultAsync(project, targetDirectory);

            // Assert
            Assert.IsFalse(result);
            loggerMock.Verify(m => m.LogErrorAsync("Failed to ensure the target directory exists: failed to access parent directory"), Times.Once);
        }