public void Log_MissingFile() { var context = new UninstallContext(TestContext, false); context.UninstallTargets(); context.Logger.AssertDebugLogged(context.BinDir + @"\targets\SonarQube.Integration.targets does not exist"); }
public void DeleteFileWhenPresent() { var context = new UninstallContext(TestContext, true); context.UninstallTargets(); File.Exists(context.TargetsFilePath).Should().BeFalse(); context.Logger.AssertDebugLogged("Uninstalling target: " + context.TargetsFilePath); }
public void Log_OnIOException() { var context = new UninstallContext(TestContext, true); using (var fs = new FileStream(context.TargetsFilePath, FileMode.Open, FileAccess.Read, FileShare.None)) // Lock file { context.UninstallTargets(); } File.Exists(context.TargetsFilePath).Should().BeTrue(); // Failed to delete context.Logger.AssertDebugLogged("Could not delete " + context.TargetsFilePath); }
public void Log_OnUnauthorizedAccessException() { var context = new UninstallContext(TestContext, true); File.SetAttributes(context.TargetsFilePath, FileAttributes.ReadOnly); // Make readonly to cause UnauthorizedAccessException try { context.UninstallTargets(); } finally { // Restore to prevent UT output from blocking File.SetAttributes(context.TargetsFilePath, FileAttributes.Normal); } File.Exists(context.TargetsFilePath).Should().BeTrue(); // Failed to delete context.Logger.AssertDebugLogged("Could not delete " + context.TargetsFilePath); }