예제 #1
0
        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);
        }
예제 #2
0
            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;
            }
예제 #3
0
        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);
        }
예제 #4
0
#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);
        }