Ejemplo n.º 1
0
        public void ShouldReturnResourcesIds()
        {
            CkanClient client = CkanApiHelper.GetCkanClient();

            var parameters = new ResourceSearchParameters();

            parameters.Description = "city";

            var response = client.SearchResources <string>(parameters);

            Assert.NotEmpty(response.Results);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
 /// <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));
 }