private static string GetCommentName(TemplateDescription desc, Authentication authentication, Calls calls, bool hosted) { string authenticationText = GetText(authentication); if (!string.IsNullOrEmpty(authenticationText)) { authenticationText = ", " + authenticationText; } else { authenticationText = ", no auth"; } string callsText; if (calls == Calls.NoDownstreamApi) { callsText = string.Empty; } else { callsText = GetText(calls); } string hostedText = GetText(hosted); string comment = $"{desc.Template}{authenticationText}{hostedText}{callsText}".ToLowerInvariant(); return(comment); }
public static IEnumerable <bool> GetPossibleHosted(TemplateDescription templateDescription, Authentication authentication) { yield return(false); if (templateDescription.Template == "blazorwasm2" && (authentication == Authentication.SingleOrg || authentication == Authentication.B2C)) { yield return(true); } }
public static IEnumerable <Calls> GetPossibleCalls(TemplateDescription templateDescription, Authentication authentication, bool hosted) { yield return(Calls.NoDownstreamApi); if (authentication == Authentication.SingleOrg || authentication == Authentication.B2C && (templateDescription.Template != "blazorwasm2" || hosted)) { if (authentication != Authentication.B2C) { yield return(Calls.CallsGraph); } yield return(Calls.CallsWebApi); } }
private static void GenerateSampleCreation(TemplateDescription desc, Authentication authentication, Calls calls, bool hosted) { Console.WriteLine($"echo \"Test {GetCommentName(desc, authentication, calls, hosted)}\""); string folder = GetFolderName(desc, authentication, calls, hosted); Console.WriteLine($"mkdir {folder}"); Console.WriteLine($"cd {folder}"); Console.WriteLine($"dotnet new {desc.Template} {GetFlags(authentication)} {GetFlags(calls, authentication)} {GetFlags(hosted)}"); if (hosted) { Console.WriteLine($@"dotnet sln ..\..\tests.sln add Shared\{folder}.Shared.csproj"); Console.WriteLine($@"dotnet sln ..\..\tests.sln add Server\{folder}.Server.csproj"); Console.WriteLine($@"dotnet sln ..\..\tests.sln add Client\{folder}.Client.csproj"); } else { Console.WriteLine($@"dotnet sln ..\..\tests.sln add {folder}.csproj"); } Console.WriteLine("cd .."); Console.WriteLine(); }
private static string GetFolderName(TemplateDescription desc, Authentication authentication, Calls calls, bool hosted) { string authenticationText = Enum.GetName(typeof(Authentication), authentication); if (!string.IsNullOrEmpty(authenticationText)) { authenticationText = "-" + authenticationText; } string callsText; if (calls == Calls.NoDownstreamApi) { callsText = string.Empty; } else { callsText = "-" + Enum.GetName(typeof(Calls), calls); } string hostedText = hosted ? "-hosted" : string.Empty; string folder = $"{desc.Template}{authenticationText}{callsText}{hostedText}".ToLowerInvariant(); return(folder); }