public void ShouldReturnResourcesIds() { CkanClient client = CkanApiHelper.GetCkanClient(); var parameters = new ResourceSearchParameters(); parameters.Description = "city"; var response = client.SearchResources <string>(parameters); Assert.NotEmpty(response.Results); }
/// <summary> /// Search for resources in the CKAN repository with caching. /// </summary> /// <param name="parameters">Provides that parameters to use in the search.</param> /// <param name="settings">The cache settings.</param> /// <returns>Search results</returns> public ResourceSearchResponse <T> SearchResources <T>(ResourceSearchParameters parameters, CacheSettings settings) { var request = new RestRequest(); request.Resource = "2/search/resource"; // Apply url parameter if (!String.IsNullOrEmpty(parameters.Url)) { request.AddParameter("url", parameters.Url); } // Apply format parameter if (!String.IsNullOrEmpty(parameters.Format)) { request.AddParameter("format", parameters.Format); } // Apply description parameter if (!String.IsNullOrEmpty(parameters.Description)) { request.AddParameter("description", parameters.Description); } // Apply hash parameter if (!String.IsNullOrEmpty(parameters.Hash)) { request.AddParameter("hash", parameters.Hash); } // Set the offset and limit parameters request.AddParameter("offset", parameters.Offset); request.AddParameter("limit", parameters.Limit); // Apply all_fields parameter if (typeof(T) == typeof(Resource)) { request.AddParameter("all_fields", 1); } // Execute the request ResourceSearchResponse <T> response = Execute <ResourceSearchResponse <T> >(request, settings); // If no results, return an empty results object if (response == null) { response = new ResourceSearchResponse <T>(); } return(response); }
public void ShouldReturnResourcesWithLimitAndOffset() { CkanClient client = CkanApiHelper.GetCkanClient(); var parameters = new ResourceSearchParameters(); parameters.Limit = 1; parameters.Offset = 1; parameters.Description = "city"; var response = client.SearchResources <Resource>(parameters); Assert.True(response.Results.Count == 1); }
public void ShouldReturnResourcesByDescription() { CkanClient client = CkanApiHelper.GetCkanClient(); var parameters = new ResourceSearchParameters(); parameters.Description = "city"; var response = client.SearchResources <Resource>(parameters); Assert.NotEmpty(response.Results); Assert.Contains("city", response.Results[0].Description, StringComparison.InvariantCultureIgnoreCase); }
public void ShouldReturnResourcesByFormat() { CkanClient client = CkanApiHelper.GetCkanClient(); var parameters = new ResourceSearchParameters(); parameters.Format = "kml"; var response = client.SearchResources <Resource>(parameters); Assert.NotEmpty(response.Results); foreach (var result in response.Results) { Assert.Contains("kml", result.Format, StringComparison.InvariantCultureIgnoreCase); } }
/// <summary> /// Search for resources in the CKAN repository. /// </summary> /// <param name="parameters">Provides that parameters to use in the search.</param> /// <returns>Search results</returns> public ResourceSearchResponse <T> SearchResources <T>(ResourceSearchParameters parameters) { return(SearchResources <T>(parameters, null)); }