public async Task SinglePackageInManifest_RunAsync_CopiesAppToTargetFolder() { using var outputDir = new TempOutputDir(); var manifest = TestManifestBuilder .From("http://localhost:19080") .WithTempDir(outputDir.TempDir) .WithGroup(new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1") }) .Build(); var command = new CopyPackagesLocallyCommand( new CommandContext { Manifest = manifest, Logger = Logger.Object }, InnerCommand.Object); await command.RunAsync(); DirectoryExists(outputDir.TempDir, "App1"); FileExists(outputDir.TempDir, "App1", "ApplicationManifest.xml"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "ServiceManifest.xml"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.dll"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.exe"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.pdb"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg", "Config"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Config", "Settings.xml"); }
public async Task SinglePackage_StartAsync_CopiesApp() { using var outputDir = new TempOutputDir(); var items = new[] { new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1") } }; var logger = new Mock <ILogger>(); var task = new CopyPackagesLocalConcurrentTask(outputDir.TempDir, items, 1, logger.Object); await task.StartAsync(); DirectoryExists(outputDir.TempDir, "App1"); FileExists(outputDir.TempDir, "App1", "ApplicationManifest.xml"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "ServiceManifest.xml"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.dll"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.exe"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Code", "StatusService.pdb"); DirectoryExists(outputDir.TempDir, "App1", "StatusServicePkg", "Config"); FileExists(outputDir.TempDir, "App1", "StatusServicePkg", "Config", "Settings.xml"); }
public async Task SinglePackage_StartAsync_LogsSuccess() { using var outputDir = new TempOutputDir(); var packagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1"); var items = new[] { new DeploymentItem { PackagePath = packagePath } }; var logger = new Mock <ILogger>(); var task = new CopyPackagesLocalConcurrentTask(outputDir.TempDir, items, 1, logger.Object); await task.StartAsync(); logger.Verify(l => l.Log(It.Is <LogMessage>( m => m.Message == "Copy package App1 locally succeeded")), Times.Once); }
public async Task SinglePackage_StartAsync_CreatesTempDir() { using var outputDir = new TempOutputDir(); var items = new[] { new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1") } }; var logger = new Mock <ILogger>(); var task = new CopyPackagesLocalConcurrentTask(outputDir.TempDir, items, 1, logger.Object); await task.StartAsync(); var path = Path.Combine(Environment.CurrentDirectory, outputDir.TempDir); Directory.Exists(path).ShouldBeTrue(); }
public async Task NoErrors_RunAsync_CallsInnerCommandRunAsync() { using var outputDir = new TempOutputDir(); var manifest = TestManifestBuilder .From("http://localhost:19080") .WithTempDir(outputDir.TempDir) .WithGroup(new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1") }) .Build(); var command = new CopyPackagesLocallyCommand( new CommandContext { Manifest = manifest, Logger = Logger.Object }, InnerCommand.Object); await command.RunAsync(); InnerCommand.Verify(c => c.RunAsync(), Times.Once); }
public async Task MultiplePackages_StartAsync_UpdatesPackagePaths() { using var outputDir = new TempOutputDir(); var items = new[] { new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App1") }, new DeploymentItem { PackagePath = Path.Combine(TestInfo.OutputDir, "Support", "Packages", "App2") } }; var logger = new Mock <ILogger>(); var task = new CopyPackagesLocalConcurrentTask(outputDir.TempDir, items, 2, logger.Object); await task.StartAsync(); foreach (var item in items) { item.PackagePath.ShouldStartWith(outputDir.TempDir); } }