From 69abefa06f6404fa8307f84c050384e3d5d33231 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Tue, 19 Feb 2019 14:41:59 -0800 Subject: [PATCH] [Design] Harden template package installer and fix name (#7624) Harden template package installer and fix name --- .../test/Helpers/TemplatePackageInstaller.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs b/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs index 54915f3d8a..dcac20aee9 100644 --- a/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs +++ b/src/ProjectTemplates/test/Helpers/TemplatePackageInstaller.cs @@ -5,6 +5,7 @@ using System; using System.IO; using System.Linq; using Microsoft.Extensions.CommandLineUtils; +using Xunit; using Xunit.Abstractions; namespace Templates.Test.Helpers @@ -95,21 +96,21 @@ namespace Templates.Test.Helpers } VerifyCannotFindTemplate(output, "web"); - VerifyCannotFindTemplate(output, "razor"); + VerifyCannotFindTemplate(output, "webapp"); + VerifyCannotFindTemplate(output, "mvc"); VerifyCannotFindTemplate(output, "react"); VerifyCannotFindTemplate(output, "reactredux"); VerifyCannotFindTemplate(output, "angular"); var builtPackages = MondoHelpers.GetNupkgFiles(); - foreach (var packagePath in builtPackages) + var templatePackages = builtPackages.Where(b => _templatePackages.Any(t => Path.GetFileName(b).StartsWith(t, StringComparison.OrdinalIgnoreCase))); + Assert.Equal(4, templatePackages.Count()); + foreach (var packagePath in templatePackages) { - if (_templatePackages.Any(name => Path.GetFileName(packagePath).StartsWith(name, StringComparison.OrdinalIgnoreCase))) - { - output.WriteLine($"Installing templates package {packagePath}..."); - RunDotNetNew(output, $"--install \"{packagePath}\"", assertSuccess: true); - } + output.WriteLine($"Installing templates package {packagePath}..."); + RunDotNetNew(output, $"--install \"{packagePath}\"", assertSuccess: true); } - VerifyCanFindTemplate(output, "razor"); + VerifyCanFindTemplate(output, "webapp"); VerifyCanFindTemplate(output, "web"); VerifyCanFindTemplate(output, "react"); } @@ -117,7 +118,7 @@ namespace Templates.Test.Helpers private static void VerifyCanFindTemplate(ITestOutputHelper output, string templateName) { var proc = RunDotNetNew(output, $"", assertSuccess: false); - if (!proc.Output.Contains($" {templateName}")) + if (!proc.Output.Contains($" {templateName} ")) { throw new InvalidOperationException($"Couldn't find {templateName} as an option in {proc.Output}."); }