/// <summary> /// Gets a CKAN client for the configured repository. /// </summary> /// <returns></returns> public static CkanClient GetClient() { CkanClient client = new CkanClient(SettingsHelper.GetRepositoryHost()); client.Timeout = SettingsHelper.GetRepositoryRequestTimeout(); return(client); }
public void ShouldReturnRevisionIds() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> revisionIds = client.GetRevisionIds(); Console.WriteLine("Revision ids found: {0}", revisionIds.Count); Assert.NotEmpty(revisionIds); }
public void ShouldReturnGroupIds() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> groups = client.GetGroupIds(); Console.WriteLine("Groups found: {0}", groups.Count); Assert.NotEmpty(groups); }
public void ShouldReturnPackageIds() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> packageIds = client.GetPackageIds(); Console.WriteLine("Package ids found: {0}", packageIds.Count); Assert.NotEmpty(packageIds); }
public void ShouldReturnLicenses() { CkanClient client = CkanApiHelper.GetCkanClient(); List <License> licenses = client.GetLicenses(); Console.WriteLine("Licenses found: {0}", licenses.Count); Assert.NotEmpty(licenses); }
public void ShouldReturnRevisionById() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> revisionIds = client.GetRevisionIds(); Revision revision = client.GetRevision(revisionIds[0]); Assert.NotNull(revision); }
public void ShouldReturnTags() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> tags = client.GetTags(); Console.WriteLine("Groups found: {0}", tags.Count); Assert.NotEmpty(tags); }
public void ShouldReturnPackagesWithTag() { CkanClient client = CkanApiHelper.GetCkanClient(); PackageSearchParameters parameters = new PackageSearchParameters(); parameters.Tags.Add("colorado"); PackageSearchResponse <Package> response = client.SearchPackages <Package>(parameters); Assert.NotEmpty(response.Results); }
public void ShouldReturnPackageIdsWithQuery() { CkanClient client = CkanApiHelper.GetCkanClient(); PackageSearchParameters parameters = new PackageSearchParameters(); parameters.Query = "bike"; PackageSearchResponse <string> response = client.SearchPackages <string>(parameters); Assert.NotEmpty(response.Results); }
public void ShouldReturnResourcesIds() { CkanClient client = CkanApiHelper.GetCkanClient(); var parameters = new ResourceSearchParameters(); parameters.Description = "city"; var response = client.SearchResources <string>(parameters); Assert.NotEmpty(response.Results); }
public void ShouldReturnSinglePackagesWithQueryLimit() { CkanClient client = CkanApiHelper.GetCkanClient(); PackageSearchParameters parameters = new PackageSearchParameters(); parameters.Query = "bike"; parameters.Offset = 0; parameters.Limit = 1; PackageSearchResponse <Package> response = client.SearchPackages <Package>(parameters); Assert.True(response.Results.Count == 1); }
public void ShouldReturnPackageByIdAndName() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> packageIds = client.GetPackageIds(); Package package = client.GetPackage(packageIds[0]); Assert.NotNull(package); package = client.GetPackage(package.Name); Assert.NotNull(package); }
public void ShouldReturnGroupByIdAndName() { CkanClient client = CkanApiHelper.GetCkanClient(); List <string> groups = client.GetGroupIds(); Group group = client.GetGroup(groups[0]); Assert.NotNull(group); group = client.GetGroup(group.Name); Assert.NotNull(group); }
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 ShouldReturnPackagesWithGroup() { CkanClient client = CkanApiHelper.GetCkanClient(); PackageSearchParameters parameters = new PackageSearchParameters(); parameters.Groups.Add("arvada"); PackageSearchResponse <Package> response = client.SearchPackages <Package>(parameters); Assert.NotEmpty(response.Results); foreach (var result in response.Results) { Assert.Contains <string>("arvada", result.Groups); } }
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); } }
public ActionResult Clear(string token, string id) { CheckToken(token); CkanClient client = CkanHelper.GetClient(); if (String.IsNullOrEmpty(id)) { client.ClearCache(); } else { client.ClearCache(id); } return(RedirectToAction("Index", new { token = token })); }
// // GET: /Cache/ public ActionResult Index(string token) { CheckToken(token); CkanClient client = CkanHelper.GetClient(); var cachedItems = client.GetCachedRequests(); // Set up the breadcrumbs for this action var breadCrumbs = new BreadCrumbs(); breadCrumbs.Add(new BreadCrumb(SettingsHelper.GetCatalogBreadcrumbsBaseLabel(), "Index", "Home")); breadCrumbs.Add(new BreadCrumb("Admin")); breadCrumbs.Add(new BreadCrumb("Cache")); ViewData["BreadCrumbs"] = breadCrumbs; // Disable analytics on admin pages ViewData["DisableAnalytics"] = true; return(View(cachedItems)); }
/// <summary> /// Gets a trie of package search suggestions a package search. /// If cached, the trie will be returned from the /// cache, otherwise it will be created and cached. /// </summary> /// <param name="client"></param> /// <param name="searchParameters"></param> /// <param name="cacheSettings"></param> /// <returns></returns> public static Trie GetTrie(CkanClient client, PackageSearchParameters searchParameters, CacheSettings cacheSettings) { Trie trie = null; // Get the trie from the cache string key = CkanClient.CacheKeyPrefix + "AutoComplete"; // Get the memorycache MemoryCache cache = MemoryCache.Default; // Get the cached entry if it exists CacheEntry cacheEntry = cache[key] as CacheEntry; if (cacheEntry == null) { // Generate the trie trie = GenerateTrie(client, searchParameters, cacheSettings); cacheEntry = new CacheEntry(); cacheEntry.Data = trie; cacheEntry.Label = "Autocomplete index"; cacheEntry.LastCached = DateTime.Now; cacheEntry.Duration = cacheSettings.Duration; CacheItemPolicy policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTimeOffset.Now.Add(cacheSettings.Duration); // Add the trie to the cache cache.Set(key, cacheEntry, policy); } else { // Get the trie from the cache trie = (Trie)cacheEntry.Data; } return(trie); }
/// <summary> /// Generates a trie of suggestions based on attributes of packages in the catalog /// </summary> /// <param name="client"></param> /// <param name="searchParameters"></param> /// <param name="cacheSettings"></param> /// <returns></returns> private static Trie GenerateTrie(CkanClient client, PackageSearchParameters searchParameters, CacheSettings cacheSettings) { // Create an empty trie Trie trie = new Trie(); // Run the search to get all packages PackageSearchResponse<Package> response = client.SearchPackages<Package>(searchParameters, cacheSettings); // Add the entrys to the trie foreach (var package in response.Results) { // Add the package title trie.Add(package.Title); // Add the package tags (removing hyphens which represent spaces) foreach (var tag in package.Tags) { trie.Add(tag.Replace("-"," ")); } } return trie; }
/// <summary> /// Generates a trie of suggestions based on attributes of packages in the catalog /// </summary> /// <param name="client"></param> /// <param name="searchParameters"></param> /// <param name="cacheSettings"></param> /// <returns></returns> private static Trie GenerateTrie(CkanClient client, PackageSearchParameters searchParameters, CacheSettings cacheSettings) { // Create an empty trie Trie trie = new Trie(); // Run the search to get all packages PackageSearchResponse <Package> response = client.SearchPackages <Package>(searchParameters, cacheSettings); // Add the entrys to the trie foreach (var package in response.Results) { // Add the package title trie.Add(package.Title); // Add the package tags (removing hyphens which represent spaces) foreach (var tag in package.Tags) { trie.Add(tag.Replace("-", " ")); } } return(trie); }
/// <summary> /// Gets a trie of package search suggestions a package search. /// If cached, the trie will be returned from the /// cache, otherwise it will be created and cached. /// </summary> /// <param name="client"></param> /// <param name="searchParameters"></param> /// <param name="cacheSettings"></param> /// <returns></returns> public static Trie GetTrie(CkanClient client, PackageSearchParameters searchParameters, CacheSettings cacheSettings) { Trie trie = null; // Get the trie from the cache string key = CkanClient.CacheKeyPrefix + "AutoComplete"; // Get the memorycache MemoryCache cache = MemoryCache.Default; // Get the cached entry if it exists CacheEntry cacheEntry = cache[key] as CacheEntry; if (cacheEntry == null) { // Generate the trie trie = GenerateTrie(client, searchParameters, cacheSettings); cacheEntry = new CacheEntry(); cacheEntry.Data = trie; cacheEntry.Label = "Autocomplete index"; cacheEntry.LastCached = DateTime.Now; cacheEntry.Duration = cacheSettings.Duration; CacheItemPolicy policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTimeOffset.Now.Add(cacheSettings.Duration); // Add the trie to the cache cache.Set(key, cacheEntry, policy); } else { // Get the trie from the cache trie = (Trie)cacheEntry.Data; } return trie; }
/// <summary> /// Gets a CKAN client for the configured repository. /// </summary> /// <returns></returns> public static CkanClient GetClient() { CkanClient client = new CkanClient(SettingsHelper.GetRepositoryHost()); client.Timeout = SettingsHelper.GetRepositoryRequestTimeout(); return client; }