public async Task Should_get_repository_from_templates() { var templates = await sut.GetTemplatesAsync(); foreach (var template in templates) { var repository = await sut.GetRepositoryUrl(template.Name); Assert.NotNull(repository); } }
private async Task ApplyTemplateAsync(IAppEntity app, string?template) { if (string.IsNullOrWhiteSpace(template)) { return; } var repository = await templatesClient.GetRepositoryUrl(template); if (string.IsNullOrEmpty(repository)) { log.LogWarning(w => w .WriteProperty("message", "Template not found.") .WriteProperty("template", template)); return; } using (var cliLog = new StringLogger(template, log)) { var session = CreateSession(app); var syncService = await CreateSyncServiceAsync(repository, session); var syncOptions = new SyncOptions(); var targets = new ISynchronizer[] { new AppSynchronizer(cliLog), new AssetFoldersSynchronizer(cliLog), new AssetsSynchronizer(cliLog), new RulesSynchronizer(cliLog), new SchemasSynchronizer(cliLog), new WorkflowsSynchronizer(cliLog), }; foreach (var target in targets.OrderBy(x => x.Name)) { await target.ImportAsync(syncService, syncOptions, session); } } }