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)); }
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 }
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 }
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); }