public async Task TestLocking() { var envSettings = _helper.CreateEnvironment(); var settingsFile = Path.Combine(_helper.CreateTemporaryFolder(), "settings.json"); using var globalSettings1 = new GlobalSettings(envSettings, settingsFile); using var globalSettings2 = new GlobalSettings(envSettings, settingsFile); var disposable = await globalSettings1.LockAsync(default).ConfigureAwait(false);
private ITemplateEngineHost LoadHostWithLocalizationTemplates(string locale, out ISettingsLoader settingsLoaderOut, out ITemplateInfo localizationTemplate) { var env = _helper.CreateEnvironment(locale); env.SettingsLoader.Components.Register(typeof(TemplatesFactory)); settingsLoaderOut = env.SettingsLoader; IReadOnlyList <ITemplateInfo> localizedTemplates = settingsLoaderOut.GetTemplatesAsync(default).Result;
public async Task RebuildCacheIfNotCurrentScansAll() { var engineEnvironmentSettings = helper.CreateEnvironment(); var nupkgFolder = GetNupkgsFolder(); var nupkgsWildcard = new[] { Path.Combine(nupkgFolder, "*.nupkg") }; FakeFactory.SetNuPkgsAndFolders(nupkgsWildcard); engineEnvironmentSettings.SettingsLoader.Components.Register(typeof(FakeFactory)); await engineEnvironmentSettings.SettingsLoader.GetTemplatesAsync(default).ConfigureAwait(false);
public void CanSkipInvalidEntriesSearchMetadata() { using EnvironmentSettingsHelper environmentSettingsHelper = new EnvironmentSettingsHelper(); string content = File.ReadAllText("NuGetTemplateSearchInfoWithInvalidData.json"); var config = new NuGetSearchCacheConfig("NuGetTemplateSearchInfoWithInvalidData.json"); Assert.True(FileMetadataTemplateSearchCacheReader.TryReadDiscoveryMetadata( environmentSettingsHelper.CreateEnvironment(virtualize: true), content, config, out TemplateDiscoveryMetadata discoveryMetadata)); Assert.Equal(1, discoveryMetadata.TemplateCache.Count); Assert.Equal(1, discoveryMetadata.PackToTemplateMap.Count); Assert.IsType <BlobStorageTemplateInfo>(discoveryMetadata.TemplateCache[0]); Assert.Equal("Microsoft.AzureFunctions.ProjectTemplate.CSharp.3.x", discoveryMetadata.TemplateCache[0].Identity); }
public void CanReadSearchMetadata() { using EnvironmentSettingsHelper environmentSettingsHelper = new EnvironmentSettingsHelper(); string content = File.ReadAllText("NuGetTemplateSearchInfo.json"); var config = new NuGetSearchCacheConfig("NuGetTemplateSearchInfo.json"); Assert.True(FileMetadataTemplateSearchCacheReader.TryReadDiscoveryMetadata( environmentSettingsHelper.CreateEnvironment(virtualize: true), content, config, out TemplateDiscoveryMetadata discoveryMetadata)); Assert.Equal(2, discoveryMetadata.TemplateCache.Count); Assert.Equal(1, discoveryMetadata.PackToTemplateMap.Count); Assert.IsType <BlobStorageTemplateInfo>(discoveryMetadata.TemplateCache[0]); //can read tags Assert.Equal(2, discoveryMetadata.TemplateCache[0].Tags.Count); //can read parameters: 2 tags + 3 cache parameters Assert.Equal(5, discoveryMetadata.TemplateCache[0].Parameters.Count); }