/// <summary> /// Initializes a new instance of the <see cref="ManagementClient"/> class for managing content of the specified project. /// </summary> /// <param name="ManagementOptions">The settings of the Kontent project.</param> public ManagementClient(ManagementOptions ManagementOptions) { if (ManagementOptions == null) { throw new ArgumentNullException(nameof(ManagementOptions)); } if (string.IsNullOrEmpty(ManagementOptions.ProjectId)) { throw new ArgumentException("Kontent project identifier is not specified.", nameof(ManagementOptions.ProjectId)); } if (!Guid.TryParse(ManagementOptions.ProjectId, out _)) { throw new ArgumentException($"Provided string is not a valid project identifier ({ManagementOptions.ProjectId}). Haven't you accidentally passed the API key instead of the project identifier?", nameof(ManagementOptions.ProjectId)); } if (string.IsNullOrEmpty(ManagementOptions.ApiKey)) { throw new ArgumentException("The API key is not specified.", nameof(ManagementOptions.ApiKey)); } _urlBuilder = new EndpointUrlBuilder(ManagementOptions); _actionInvoker = new ActionInvoker( new ManagementHttpClient(new DefaultResiliencePolicyProvider(ManagementOptions.MaxRetryAttempts), ManagementOptions.EnableResilienceLogic), new MessageCreator(ManagementOptions.ApiKey)); _modelProvider = ManagementOptions.ModelProvider ?? new ModelProvider(); }
public FileSystemFixture() { var managementOptions = new ManagementOptions() { ApiKey = "Dummy_API_key", ProjectId = PROJECT_ID, SubscriptionId = SUBCRIPTION_ID }; _urlBuilder = new EndpointUrlBuilder(managementOptions); _messageCreator = new MessageCreator(managementOptions.ApiKey); }
internal static ContentManagementClient CreateContentManagementClient(ContentManagementOptions options, TestRunType runType, string testName) { if (runType != TestRunType.LiveEndPoint) { var saveToFileSystem = runType == TestRunType.LiveEndPoint_SaveToFileSystem; var httpClient = new FileSystemHttpClientMock(options, saveToFileSystem, testName); var urlBuilder = new EndpointUrlBuilder(options); var actionInvoker = new ActionInvoker(httpClient, new MessageCreator(options.ApiKey)); return(new ContentManagementClient(urlBuilder, actionInvoker)); } return(new ContentManagementClient(options)); }
internal ManagementClient(EndpointUrlBuilder urlBuilder, ActionInvoker actionInvoker, IModelProvider modelProvider = null) { _urlBuilder = urlBuilder ?? throw new ArgumentNullException(nameof(urlBuilder)); _actionInvoker = actionInvoker ?? throw new ArgumentNullException(nameof(actionInvoker)); _modelProvider = modelProvider ?? new ModelProvider(); }
private string GetSubscriptionUrl(string path, params string[] parameters) => EndpointUrlBuilder.GetUrl(BuildSubscriptionUrl(), path, parameters);
private string GetProjectUrl(string path, params string[] parameters) => EndpointUrlBuilder.GetUrl(BuildProjectUrl(), path, parameters);
public EndpointUrlBuilderTests() { _builder = new EndpointUrlBuilder(OPTIONS); }