private static string SetupInvalidTemplateCache(string fileLocation) { var packOne = new TemplatePackageSearchData(new MockTemplatePackageInfo("PackOne", "1.0.0"), new[] { new TemplateSearchData(new MockTemplateInfo("foo", "foo", "foo").WithParameters("Config type", "Main type", "unknown")) }); var cache = new TemplateSearchCache(new[] { packOne }); JObject toSerialize = JObject.FromObject(cache); string targetPath = Path.Combine(fileLocation, "searchCacheV2.json"); File.WriteAllText(targetPath, toSerialize.ToString()); return(targetPath); }
internal InMemoryHostSpecificDataLoader(TemplatePackageSearchData templatePackageSearchData) { Dictionary <string, HostSpecificTemplateData> hostSpecificData = new Dictionary <string, HostSpecificTemplateData>(); foreach (var templateData in templatePackageSearchData.Templates) { if (templateData.AdditionalData.TryGetValue(CliHostSearchCacheData.DataName, out object?hostDataRaw) && hostDataRaw is HostSpecificTemplateData hostData) { hostSpecificData[((ITemplateInfo)templateData).Identity] = hostData; } } _hostSpecificData = hostSpecificData; }
private string GenerateLocalCache() { ITemplatePackageInfo packOneInfo = new MockTemplatePackageInfo("PackOne", "1.0.0"); ITemplatePackageInfo packTwoInfo = new MockTemplatePackageInfo("PackTwo", "1.6.0"); ITemplatePackageInfo packThreeInfo = new MockTemplatePackageInfo("PackThree", "2.1"); ITemplateInfo fooOneTemplate = new MockTemplateInfo("foo1", name: "MockFooTemplateOne", identity: "Mock.Foo.1", groupIdentity: "Mock.Foo", author: "TestAuthor") .WithClassifications("CSharp", "Library") .WithDescription("Mock Foo template one") .WithChoiceParameter("Framework", "netcoreapp3.0", "netcoreapp3.1") .WithTag("language", "C#") .WithTag("type", "project"); ITemplateInfo fooTwoTemplate = new MockTemplateInfo("foo2", name: "MockFooTemplateTwo", identity: "Mock.Foo.2", groupIdentity: "Mock.Foo") .WithClassifications("CSharp", "Console") .WithDescription("Mock Foo template two") .WithChoiceParameter("Framework", "netcoreapp2.0", "netcoreapp2.1", "netcoreapp3.1") .WithTag("language", "C#"); ITemplateInfo barCSharpTemplate = new MockTemplateInfo("barC", name: "MockBarCsharpTemplate", identity: "Mock.Bar.1.Csharp", groupIdentity: "Mock.Bar") .WithClassifications("CSharp") .WithDescription("Mock Bar CSharp template") .WithTag("language", "C#"); ITemplateInfo barFSharpTemplate = new MockTemplateInfo("barF", name: "MockBarFSharpTemplate", identity: "Mock.Bar.1.FSharp", groupIdentity: "Mock.Bar") .WithClassifications("FSharp") .WithDescription("Mock Bar FSharp template") .WithTag("language", "F#"); var fooOneTemplateData = new TemplateSearchData(fooOneTemplate); var fooTwoTemplateData = new TemplateSearchData(fooTwoTemplate); var barCSharpTemplateData = new TemplateSearchData(barCSharpTemplate); var barFSharpTemplateData = new TemplateSearchData(barFSharpTemplate); var packOne = new TemplatePackageSearchData(packOneInfo, new[] { fooOneTemplateData }); var packTwo = new TemplatePackageSearchData(packTwoInfo, new[] { fooTwoTemplateData }); var packThree = new TemplatePackageSearchData(packThreeInfo, new[] { barCSharpTemplateData, barFSharpTemplateData }); var cache = new TemplateSearchCache(new[] { packOne, packTwo, packThree }); string targetPath = Path.Combine(TestUtils.CreateTemporaryFolder(), "searchCacheV2.json"); File.WriteAllText(targetPath, cache.ToJObject().ToString()); return(targetPath); }
#pragma warning restore CS0618 // Type or member is obsolete private static string SetupTemplateCache(string fileLocation, bool includehostData = false) { Dictionary <string, string> frameworkParamSymbolInfo = new Dictionary <string, string>() { { "longName", "framework" }, { "shortName", "f" } }; HostSpecificTemplateData fooTemplateHostData = new MockHostSpecificTemplateData( new Dictionary <string, IReadOnlyDictionary <string, string> >() { { "Framework", frameworkParamSymbolInfo } } ); Dictionary <string, object> additionalData = new Dictionary <string, object>() { { CliHostSearchCacheData.DataName, fooTemplateHostData } }; List <ITemplateInfo> templateCache = new List <ITemplateInfo>(); templateCache.Add(_fooOneTemplate); templateCache.Add(_fooTwoTemplate); templateCache.Add(_barCSharpTemplate); templateCache.Add(_barFSharpTemplate); var fooOneTemplateData = new TemplateSearchData(_fooOneTemplate, includehostData ? additionalData : null); var fooTwoTemplateData = new TemplateSearchData(_fooTwoTemplate, includehostData ? additionalData : null); var barCSharpTemplateData = new TemplateSearchData(_barCSharpTemplate, null); var barFSharpTemplateData = new TemplateSearchData(_barFSharpTemplate, null); var packOne = new TemplatePackageSearchData(_packOneInfo, new[] { fooOneTemplateData }); var packTwo = new TemplatePackageSearchData(_packTwoInfo, new[] { fooTwoTemplateData }); var packThree = new TemplatePackageSearchData(_packThreeInfo, new[] { barCSharpTemplateData, barFSharpTemplateData }); var cache = new TemplateSearchCache(new[] { packOne, packTwo, packThree }); JObject toSerialize = JObject.FromObject(cache); string targetPath = Path.Combine(fileLocation, "searchCacheV2.json"); File.WriteAllText(targetPath, toSerialize.ToString()); return(targetPath); }