Ejemplo n.º 1
0
        public EditLinkHelper(string projectId)
        {
            var linkBuilderoptions = new ManagementHelpersOptions()
            {
                ProjectId = projectId
            };

            Builder = new EditLinkBuilder(linkBuilderoptions);
        }
        public void EditLinkBuilder_ProjectIdBadFormat_ThrowsException()
        {
            var badFormatProjectIdOptions = new ManagementHelpersOptions
            {
                ProjectId = "aa-bb-cc"
            };

            Assert.Throws <ArgumentException>(() => new EditLinkBuilder(badFormatProjectIdOptions));
        }
        public void EditLinkBuilder_MissingProjectId_ThrowsException()
        {
            var noProjectIdOptions = new ManagementHelpersOptions
            {
                ProjectId = string.Empty
            };

            Assert.Throws <ArgumentException>(() => new EditLinkBuilder(noProjectIdOptions));
        }
        public void EditLinkBuilder_MissingEditAppEndpoint_ThrowsException()
        {
            var noEditAppEndpointOptions = new ManagementHelpersOptions
            {
                AdminUrl = string.Empty
            };

            Assert.Throws <ArgumentException>(() => new EditLinkBuilder(noEditAppEndpointOptions));
        }
Ejemplo n.º 5
0
        private EditLinkHelper(IConfiguration configuration)
        {
            this.configuration = configuration;
            var projectId          = configuration.GetSection(nameof(DeliveryOptions))[nameof(DeliveryOptions.ProjectId)].ToString() ?? configuration.GetSection(nameof(AppConfiguration)).Get <AppConfiguration>().DefaultProjectId.ToString();
            var linkBuilderOptions = new ManagementHelpersOptions()
            {
                ProjectId = projectId
            };

            Builder = new EditLinkBuilder(linkBuilderOptions);
        }
        public void BuildEditItemUrl_AdminUrlOtherThanDefault_ReturnsCorrectUrl()
        {
            var options = new ManagementHelpersOptions
            {
                AdminUrl  = "https://someOther.url/{0}",
                ProjectId = "34998683-4dd6-441c-b4cb-57493cafcaf0",
            };

            var underTest = new EditLinkBuilder(options);
            var result    = underTest.BuildEditItemUrl(_language, _itemId);

            var expected = "https://someOther.url/goto/edit-item/project/34998683-4dd6-441c-b4cb-57493cafcaf0/variant-codename/some-Language-Codename/item/1cdaa8ef-cb2b-4f82-82e9-45467b2e01b9";

            Assert.Equal(expected, result);
        }
Ejemplo n.º 7
0
    /// <summary>
    /// Initializes a new instance of the <see cref="EditLinkBuilder"/> class for retrieving edit urls.
    /// </summary>
    /// <param name="managementHelpersOptions">The settings of the Kontent project.</param>
    public EditLinkBuilder(ManagementHelpersOptions managementHelpersOptions)
    {
        if (string.IsNullOrEmpty(managementHelpersOptions.AdminUrl))
        {
            throw new ArgumentException("Kontent Edit App endpoint is not specified.", nameof(managementHelpersOptions.AdminUrl));
        }

        if (string.IsNullOrEmpty(managementHelpersOptions.ProjectId))
        {
            throw new ArgumentException("Kontent project identifier is not specified.", nameof(managementHelpersOptions.ProjectId));
        }

        if (!Guid.TryParse(managementHelpersOptions.ProjectId, out _))
        {
            throw new ArgumentException($"Provided string is not a valid project identifier ({managementHelpersOptions.ProjectId}).", nameof(managementHelpersOptions.ProjectId));
        }

        ManagementHelpersOptions = managementHelpersOptions;
    }