public async Task GetAsync() { var apiClient = Substitute.For <IApiConnection>(); var client = new AdminConfigurationClient(apiClient); await client.GetAsync <object>(); await apiClient.Received().ExecuteGetAsync <object>("admin/config"); }
public async Task UpdateAsync() { var apiClient = Substitute.For <IApiConnection>(); var client = new AdminConfigurationClient(apiClient); await client.UpdateAsync(new { test = "test" }); await apiClient.Received().ExecutePutAsync("admin/config", Arg.Any <object>()); }
public async Task UpdateAsync_RequestNull_Throw() { var apiClient = Substitute.For <IApiConnection>(); var client = new AdminConfigurationClient(apiClient); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await client.UpdateAsync <object>(null)); await apiClient.DidNotReceive().ExecutePutAsync("admin/config", Arg.Any <object>()); }
/// <summary> /// API client /// </summary> /// <remarks> /// See the <a href="https://docs.dev.to/api/#section/Authentication/api_key">Authentication</a> for more information /// </remarks> /// <param name="apiUrl">API connection url</param> /// <param name="token">API key</param> public DevToClient(string apiUrl, string token) { var restClient = new RestClient(apiUrl); restClient.AddDefaultHeader("api-key", token); restClient.AddDefaultHeader("User-Agent", "DevToAPI-client-dotnet"); var apiConnection = new ApiConnection(restClient); AdminConfigurations = new AdminConfigurationClient(apiConnection); Articles = new ArticleClient(apiConnection); Comments = new CommentClient(apiConnection); Followers = new FollowerClient(apiConnection); Follows = new FollowClient(apiConnection); Listings = new ListingClient(apiConnection); Organizations = new OrganizationClient(apiConnection); PodcastEpisodes = new PodcastEpisodeClient(apiConnection); ReadingLists = new ReadingListClient(apiConnection); Tags = new TagClient(apiConnection); Users = new UserClient(apiConnection); Videos = new VideoClient(apiConnection); Webhooks = new WebhookClient(apiConnection); ProfileImages = new ProfileImageClient(apiConnection); }