public void Cleanup_InstallationStatusProviderReturnNoPackages_FailureResultIsReturned() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(new List<NuDeployPackageInfo>()); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act var result = cleanupService.Cleanup(); // Assert Assert.AreEqual(ServiceResultType.Failure, result.Status); }
public void Cleanup_InstallationStatusProviderReturnPackages_AllPackagesAreInstalled_FailureResultIsReturned() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); var packages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.A", true), TestUtilities.GetPackage("Package.B", true), TestUtilities.GetPackage("Package.C", true), }; installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(packages); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act var result = cleanupService.Cleanup(); // Assert Assert.AreEqual(ServiceResultType.Failure, result.Status); }
public void Cleanup_InstallationStatusProviderReturnThreePackages_OneIsInstalled_TwoAreNot_DeleteDirectoryIsCalledForEachLegacyPackage_SuccessResultIsReturned() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); filesystemAccessor.Setup(f => f.DeleteDirectory(It.IsAny<string>())).Returns(true); var installedPackages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.A", true) }; var legacyPackages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.B", false), TestUtilities.GetPackage("Package.C", false), }; var packages = installedPackages.Union(legacyPackages).ToList(); installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(packages); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act var result = cleanupService.Cleanup(); // Assert foreach (var package in installedPackages) { string packageFolder = package.Folder; filesystemAccessor.Verify(f => f.DeleteDirectory(packageFolder), Times.Never()); } foreach (var package in legacyPackages) { string packageFolder = package.Folder; filesystemAccessor.Verify(f => f.DeleteDirectory(packageFolder), Times.Once()); } Assert.AreEqual(ServiceResultType.Success, result.Status); }
public void Constructor_AllParametersAreSet_ObjectIsInstantiated() { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); // Act var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Assert Assert.IsNotNull(cleanupService); }
public void Cleanup_Parameterized_PackageIdIsInvalid_ArgumentExceptionIsThrown(string packageId) { // Arrange var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act cleanupService.Cleanup(packageId); }
public void Cleanup_Parameterized_InstallationStatusProviderReturnThreePackages_OneIsInstalled_TwoAreNot_DeleteFails_FailureResultIsReturned() { // Arrange string packageId = "Package.A"; var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); filesystemAccessor.Setup(f => f.DeleteDirectory(It.IsAny<string>())).Returns(false); var installedPackages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.A", true, 9) }; var legacyPackages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.A", false, 8), TestUtilities.GetPackage("Package.A", false, 7), }; var packages = installedPackages.Union(legacyPackages).ToList(); installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(packages); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act var result = cleanupService.Cleanup(packageId); // Assert Assert.AreEqual(ServiceResultType.Failure, result.Status); }
public void Cleanup_Parameterized_InstallationStatusProviderReturnNoPackagesWhichMatchTheSuppliedName_FailureResultIsReturned() { // Arrange string packageId = "Package.D"; var installationStatusProvider = new Mock<IInstallationStatusProvider>(); var filesystemAccessor = new Mock<IFilesystemAccessor>(); var packages = new List<NuDeployPackageInfo> { TestUtilities.GetPackage("Package.A", true), TestUtilities.GetPackage("Package.B", true), TestUtilities.GetPackage("Package.C", true), }; installationStatusProvider.Setup(i => i.GetPackageInfo()).Returns(packages); var cleanupService = new CleanupService(installationStatusProvider.Object, filesystemAccessor.Object); // Act var result = cleanupService.Cleanup(packageId); // Assert Assert.AreEqual(ServiceResultType.Failure, result.Status); }