public async Task Fact_GetDiscogs() { var environment = DiscogsApiEnvironment.CreateDefault(); var client = DiscogsApiClient.Create(environment); var db = client.Database; var searchResults = await db.Search(); Assert.NotNull(searchResults); }
public async Task Fact_GetDiscogsParamter() { int num = 2; var environment = DiscogsApiEnvironment.CreateDefault(); var client = DiscogsApiClient.Create(environment); var db = client.Database; var searchResults = await db.Search(); var rng = new Random(); var result = Enumerable.Range(1, num).Select(n => searchResults.Releases[rng.Next(searchResults.Releases.Count)]).ToList(); Assert.Equal(2, result.Count()); }
public static async Task <T> Get <T>( this DiscogsApiEnvironment environment, string url, CancellationToken cancellationToken = default ) { var httpMessageInvoker = environment.HttpMessageInvoker; var resp = await httpMessageInvoker.SendAsync( new HttpRequestMessage(HttpMethod.Get, url), cancellationToken ).ConfigureAwait(false); var json = await resp.Content.ReadAsStringAsync().ConfigureAwait(false); var error = DeserializeJson <Error>(json); if (resp.StatusCode == HttpStatusCode.InternalServerError) { throw new DiscogsApiServerErrorException(error.Message); } if (resp.StatusCode == HttpStatusCode.NotFound) { throw new DiscorgsApiNotFoundException(error.Message); } if (error.Message != null) { if (error.Message == DiscogsApiQuotaException.ApiErrorMessage) { throw new DiscogsApiQuotaException(); } // TODO: rename the exception throw new DiscogsApiServerErrorException(error.Message); } return(DeserializeJson <T>(json)); }
private static DiscogsApiClient CreateDiscogsApiClient() { var environment = DiscogsApiEnvironment.CreateDefault(); return(DiscogsApiClient.Create(environment)); }