From 9dc18f277d158b2d0282b9f04eca9bb90f44f3f9 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Thu, 26 Apr 2018 16:15:05 -0700 Subject: [PATCH] Test "dotnet restore" for all ASP.NET templates with 3 NuGet configs --- AspNetCoreSdkTests.sln | 25 ++++ AspNetCoreSdkTests/AspNetCoreSdkTests.csproj | 30 +++++ AspNetCoreSdkTests/NuGetConfig.cs | 9 ++ .../NuGetConfig/NuGet.DotNetCore.config | 6 + .../NuGetConfig/NuGet.Empty.config | 6 + .../NuGetConfig/NuGet.NuGetOrg.config | 6 + AspNetCoreSdkTests/Template.cs | 14 +++ AspNetCoreSdkTests/TemplateTests.cs | 20 ++++ AspNetCoreSdkTests/TestData.cs | 24 ++++ AspNetCoreSdkTests/Util/AssemblyInfo.cs | 4 + AspNetCoreSdkTests/Util/DotNetContext.cs | 15 +++ AspNetCoreSdkTests/Util/DotNetUtil.cs | 113 ++++++++++++++++++ AspNetCoreSdkTests/Util/IOUtil.cs | 69 +++++++++++ AspNetCoreSdkTests/Util/TempDir.cs | 19 +++ 14 files changed, 360 insertions(+) create mode 100644 AspNetCoreSdkTests.sln create mode 100644 AspNetCoreSdkTests/AspNetCoreSdkTests.csproj create mode 100644 AspNetCoreSdkTests/NuGetConfig.cs create mode 100644 AspNetCoreSdkTests/NuGetConfig/NuGet.DotNetCore.config create mode 100644 AspNetCoreSdkTests/NuGetConfig/NuGet.Empty.config create mode 100644 AspNetCoreSdkTests/NuGetConfig/NuGet.NuGetOrg.config create mode 100644 AspNetCoreSdkTests/Template.cs create mode 100644 AspNetCoreSdkTests/TemplateTests.cs create mode 100644 AspNetCoreSdkTests/TestData.cs create mode 100644 AspNetCoreSdkTests/Util/AssemblyInfo.cs create mode 100644 AspNetCoreSdkTests/Util/DotNetContext.cs create mode 100644 AspNetCoreSdkTests/Util/DotNetUtil.cs create mode 100644 AspNetCoreSdkTests/Util/IOUtil.cs create mode 100644 AspNetCoreSdkTests/Util/TempDir.cs diff --git a/AspNetCoreSdkTests.sln b/AspNetCoreSdkTests.sln new file mode 100644 index 0000000000..09f6e24a82 --- /dev/null +++ b/AspNetCoreSdkTests.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.2037 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspNetCoreSdkTests", "AspNetCoreSdkTests\AspNetCoreSdkTests.csproj", "{982F3170-BE98-4B2F-B36F-4C036BCDB2E6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {982F3170-BE98-4B2F-B36F-4C036BCDB2E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {982F3170-BE98-4B2F-B36F-4C036BCDB2E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {982F3170-BE98-4B2F-B36F-4C036BCDB2E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {982F3170-BE98-4B2F-B36F-4C036BCDB2E6}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3B64DDE7-BAD8-4DB3-A294-669059DA3334} + EndGlobalSection +EndGlobal diff --git a/AspNetCoreSdkTests/AspNetCoreSdkTests.csproj b/AspNetCoreSdkTests/AspNetCoreSdkTests.csproj new file mode 100644 index 0000000000..3028413b33 --- /dev/null +++ b/AspNetCoreSdkTests/AspNetCoreSdkTests.csproj @@ -0,0 +1,30 @@ + + + + netcoreapp2.0 + false + + + + latest + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + diff --git a/AspNetCoreSdkTests/NuGetConfig.cs b/AspNetCoreSdkTests/NuGetConfig.cs new file mode 100644 index 0000000000..8443084754 --- /dev/null +++ b/AspNetCoreSdkTests/NuGetConfig.cs @@ -0,0 +1,9 @@ +namespace AspNetCoreSdkTests +{ + public enum NuGetConfig + { + Empty, + DotNetCore, + NuGetOrg + } +} diff --git a/AspNetCoreSdkTests/NuGetConfig/NuGet.DotNetCore.config b/AspNetCoreSdkTests/NuGetConfig/NuGet.DotNetCore.config new file mode 100644 index 0000000000..fc7c007517 --- /dev/null +++ b/AspNetCoreSdkTests/NuGetConfig/NuGet.DotNetCore.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/AspNetCoreSdkTests/NuGetConfig/NuGet.Empty.config b/AspNetCoreSdkTests/NuGetConfig/NuGet.Empty.config new file mode 100644 index 0000000000..4bb3170917 --- /dev/null +++ b/AspNetCoreSdkTests/NuGetConfig/NuGet.Empty.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/AspNetCoreSdkTests/NuGetConfig/NuGet.NuGetOrg.config b/AspNetCoreSdkTests/NuGetConfig/NuGet.NuGetOrg.config new file mode 100644 index 0000000000..b0743e46f8 --- /dev/null +++ b/AspNetCoreSdkTests/NuGetConfig/NuGet.NuGetOrg.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/AspNetCoreSdkTests/Template.cs b/AspNetCoreSdkTests/Template.cs new file mode 100644 index 0000000000..2d751fb93c --- /dev/null +++ b/AspNetCoreSdkTests/Template.cs @@ -0,0 +1,14 @@ +namespace AspNetCoreSdkTests +{ + public enum Template + { + Web, + Mvc, + Razor, + Angular, + React, + ReactRedux, + RazorClassLib, + WebApi + } +} diff --git a/AspNetCoreSdkTests/TemplateTests.cs b/AspNetCoreSdkTests/TemplateTests.cs new file mode 100644 index 0000000000..c56d0fc453 --- /dev/null +++ b/AspNetCoreSdkTests/TemplateTests.cs @@ -0,0 +1,20 @@ +using AspNetCoreSdkTests.Util; +using NUnit.Framework; + +namespace AspNetCoreSdkTests +{ + [TestFixture] + public class TemplateTests + { + [Test] + [TestCaseSource(typeof(TestData), nameof(TestData.AllTemplates))] + public void Restore(Template template, NuGetConfig nuGetConfig) + { + using (var context = new DotNetContext()) + { + context.New(template, restore: false); + context.Restore(nuGetConfig); + } + } + } +} diff --git a/AspNetCoreSdkTests/TestData.cs b/AspNetCoreSdkTests/TestData.cs new file mode 100644 index 0000000000..66fe9ae817 --- /dev/null +++ b/AspNetCoreSdkTests/TestData.cs @@ -0,0 +1,24 @@ +using NUnit.Framework; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AspNetCoreSdkTests +{ + public static class TestData + { + public static IEnumerable AllTemplates { get; } = + from t in Enum.GetValues(typeof(Template)).Cast