public IActionResult GetDatasources(string username) { if (string.IsNullOrWhiteSpace(username)) { return(BadRequest(Resources.ErrorEmptyUsername)); } List <string> datasources = DatasourceProvider.GetUserDatasources(username); return(Ok(datasources)); }
public void Process_DatasourceProvidersAreNull_SourcesAndTemplateAreNotSet([Frozen] DatasourceProvider provider, GetDatasourceLocationAndTemplateFromSite processor, DbItem renderingItem, Db db, string settingName) { var setting = settingName.Replace("-", string.Empty); renderingItem.Add(new DbField("Datasource Location") { { "en", $"site:{setting}" } }); db.Add(renderingItem); var rendering = db.GetItem(renderingItem.ID); var args = new GetRenderingDatasourceArgs(rendering); processor.Process(args); args.DatasourceRoots.Count.Should().Be(0); args.Prototype.Should().BeNull(); }
public void GetDatasources_LocationSetByRelativePath_ShouldReturnSourcesFromSettingItem([Frozen] ISiteSettingsProvider siteSettingsProvider, [Greedy] DatasourceProvider provider, string name, string contextItemName, Db db, string settingItemName, Item item, string sourceRootName) { var contextItemId = ID.NewID; var contextDbItem = new DbItem(contextItemName.Replace("-", String.Empty), contextItemId); var rootName = sourceRootName.Replace("-", string.Empty); var sourceRoot = new DbItem(rootName); contextDbItem.Add(sourceRoot); db.Add(contextDbItem); var settingId = ID.NewID; var settingDbItem = new DbItem(settingItemName.Replace("-", String.Empty), settingId, Templates.DatasourceConfiguration.ID) { new DbField(Templates.DatasourceConfiguration.Fields.DatasourceLocation) { { "en", $"./{rootName}" } } }; var contextItem = db.GetItem(contextItemId); db.Add(settingDbItem); var sourceRootItem = db.GetItem(sourceRoot.ID); var settingItem = db.GetItem(settingId); siteSettingsProvider.GetSetting(Arg.Any <Item>(), Arg.Any <string>(), Arg.Any <string>()).Returns(settingItem); var sources = provider.GetDatasourceLocations(contextItem, name); sources.Should().NotBeNull(); sources.Should().Contain(sourceRootItem); }
public void GetDatasources_LocationSetByQuery_ShouldReturnSourcesFromSettingItem([Frozen] ISiteSettingsProvider siteSettingsProvider, [Greedy] DatasourceProvider provider, string name, Item contextItem, Db db, string settingItemName, Item item, string sourceRootName) { var sourceRoot = new DbItem(sourceRootName.Replace("-", string.Empty)); var settingId = ID.NewID; db.Add(sourceRoot); var sourceRootItem = db.GetItem(sourceRoot.ID); db.Add(new DbItem(settingItemName, settingId, Templates.DatasourceConfiguration.ID) { new DbField(Templates.DatasourceConfiguration.Fields.DatasourceLocation) { { "en", $"query:{sourceRootItem.Paths.Path}" } } }); var settingItem = db.GetItem(settingId); siteSettingsProvider.GetSetting(Arg.Any <Item>(), Arg.Any <string>(), Arg.Any <string>()).Returns(settingItem); var sources = provider.GetDatasourceLocations(item, name); sources.Should().NotBeNull(); sources.Should().Contain(sourceRootItem); }
public void GetDatasourceTemplate_ShouldReturnNull(ISiteSettingsProvider siteSettingsProvider, DatasourceProvider provider, string settingName, Item contextItem) { // var provider = new ItemDatasourceProvider(settingsProvider); //var template = provider.GetDatasourceTemplate(settingName, contextItem); }
public void GetDatasourceTemplate_ShouldReturnTemplateFromSettingItem([Frozen] ISiteSettingsProvider siteSettingsProvider, [Greedy] DatasourceProvider provider, string name, Item contextItem, Db db, string settingItemName, Item item, DbItem sourceTemplate) { var settingId = ID.NewID; db.Add(new DbItem(settingItemName, settingId) { new DbField(Templates.DatasourceConfiguration.Fields.DatasourceTemplate) { { "en", sourceTemplate.ID.ToString() } } }); db.Add(sourceTemplate); var sourceRootItem = db.GetItem(sourceTemplate.ID); var settingItem = db.GetItem(settingId); siteSettingsProvider.GetSetting(Arg.Any <Item>(), Arg.Any <string>(), Arg.Any <string>()).Returns(settingItem); var sources = provider.GetDatasourceTemplate(item, name); sources.Should().NotBeNull(); sources.ID.ShouldBeEquivalentTo(sourceRootItem.ID); }