示例#1
0
        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);
        }