Skip to content

Commit 8159753

Browse files
authored
Add testData parameter to package list and V2 autocomplete (#8211)
Related to #8172
1 parent cafe6a9 commit 8159753

23 files changed

Lines changed: 146 additions & 56 deletions

src/NuGetGallery/Controllers/ApiController.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,11 +1018,16 @@ protected internal virtual Stream ReadPackageFromRequest()
10181018
public virtual async Task<ActionResult> GetPackageIds(
10191019
string partialId,
10201020
bool? includePrerelease,
1021+
bool? testData,
10211022
string semVerLevel = null)
10221023
{
10231024
return new JsonResult
10241025
{
1025-
Data = await _autocompletePackageIdsQuery.Execute(partialId, includePrerelease, semVerLevel),
1026+
Data = await _autocompletePackageIdsQuery.Execute(
1027+
partialId,
1028+
includePrerelease,
1029+
testData,
1030+
semVerLevel),
10261031
JsonRequestBehavior = JsonRequestBehavior.AllowGet
10271032
};
10281033
}
@@ -1032,11 +1037,16 @@ public virtual async Task<ActionResult> GetPackageIds(
10321037
public virtual async Task<ActionResult> GetPackageVersions(
10331038
string id,
10341039
bool? includePrerelease,
1040+
bool? testData,
10351041
string semVerLevel = null)
10361042
{
10371043
return new JsonResult
10381044
{
1039-
Data = await _autocompletePackageVersionsQuery.Execute(id, includePrerelease, semVerLevel),
1045+
Data = await _autocompletePackageVersionsQuery.Execute(
1046+
id,
1047+
includePrerelease,
1048+
testData,
1049+
semVerLevel),
10401050
JsonRequestBehavior = JsonRequestBehavior.AllowGet
10411051
};
10421052
}

src/NuGetGallery/Controllers/PackagesController.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -949,7 +949,8 @@ public virtual async Task<ActionResult> DisplayPackage(string id, string version
949949
packageType: null,
950950
sortOrder: null,
951951
context: SearchFilter.ODataSearchContext,
952-
semVerLevel: SemVerLevelKey.SemVerLevel2);
952+
semVerLevel: SemVerLevelKey.SemVerLevel2,
953+
includeTestData: true);
953954

954955
searchFilter.IncludeAllVersions = true;
955956

@@ -1147,6 +1148,7 @@ public virtual async Task<ActionResult> ListPackages(PackageListSearchViewModel
11471148
var page = searchAndListModel.Page;
11481149
var q = searchAndListModel.Q;
11491150
var includePrerelease = searchAndListModel.Prerel ?? true;
1151+
var includeTestData = searchAndListModel.TestData ?? false;
11501152

11511153
if (page < 1)
11521154
{
@@ -1203,7 +1205,8 @@ public virtual async Task<ActionResult> ListPackages(PackageListSearchViewModel
12031205
packageType: searchAndListModel.PackageType,
12041206
sortOrder: searchAndListModel.SortBy,
12051207
context: SearchFilter.UISearchContext,
1206-
semVerLevel: SemVerLevelKey.SemVerLevel2);
1208+
semVerLevel: SemVerLevelKey.SemVerLevel2,
1209+
includeTestData: includeTestData);
12071210

12081211
results = await searchService.Search(searchFilter);
12091212

@@ -1231,7 +1234,8 @@ public virtual async Task<ActionResult> ListPackages(PackageListSearchViewModel
12311234
packageType: searchAndListModel.PackageType,
12321235
sortOrder: searchAndListModel.SortBy,
12331236
context: SearchFilter.UISearchContext,
1234-
semVerLevel: SemVerLevelKey.SemVerLevel2);
1237+
semVerLevel: SemVerLevelKey.SemVerLevel2,
1238+
includeTestData: includeTestData);
12351239

12361240
results = await searchService.Search(searchFilter);
12371241
}

src/NuGetGallery/Infrastructure/Lucene/ExternalSearchService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
using System;
55
using System.Collections.Generic;
6-
using System.Diagnostics;
76
using System.Linq;
87
using System.Threading.Tasks;
98
using System.Web;
@@ -71,7 +70,8 @@ private async Task<SearchResults> SearchCore(SearchFilter filter, bool raw)
7170
explain: false,
7271
getAllVersions: filter.IncludeAllVersions,
7372
supportedFramework: filter.SupportedFramework,
74-
semVerLevel: filter.SemVerLevel);
73+
semVerLevel: filter.SemVerLevel,
74+
includeTestData: filter.IncludeTestData);
7575

7676
SearchResults results = null;
7777
if (result.IsSuccessStatusCode)

src/NuGetGallery/Infrastructure/Lucene/GallerySearchClient.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public async Task<ServiceResponse<JObject>> GetDiagnostics()
5858
bool explain = false,
5959
bool getAllVersions = false,
6060
string supportedFramework = null,
61-
string semVerLevel = null)
61+
string semVerLevel = null,
62+
bool includeTestData = false)
6263
{
6364
IDictionary<string, string> nameValue = new Dictionary<string, string>();
6465
nameValue.Add("q", query);
@@ -110,6 +111,11 @@ public async Task<ServiceResponse<JObject>> GetDiagnostics()
110111
nameValue.Add("countOnly", "true");
111112
}
112113

114+
if (includeTestData)
115+
{
116+
nameValue.Add("testData", "true");
117+
}
118+
113119
var qs = new FormUrlEncodedContent(nameValue);
114120
var queryString = await qs.ReadAsStringAsync();
115121

src/NuGetGallery/Infrastructure/Lucene/ISearchClient.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public interface ISearchClient
2424
/// <param name="getAllVersions">GetAllVersions</param>
2525
/// <param name="supportedFramework">SupportedFramework</param>
2626
/// <param name="semVerLevel">SemVerLevel</param>
27+
/// <param name="includeTestData">Whether or not to include test data in the results.</param>
2728
/// <returns></returns>
2829
Task<ServiceResponse<SearchModels.SearchResults>> Search(
2930
string query,
@@ -38,7 +39,8 @@ public interface ISearchClient
3839
bool explain,
3940
bool getAllVersions,
4041
string supportedFramework,
41-
string semVerLevel);
42+
string semVerLevel,
43+
bool includeTestData);
4244

4345
/// <summary>
4446
/// Returns the search diag.

src/NuGetGallery/OData/SearchService/SearchAdaptor.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,15 @@ public static class SearchAdaptor
3939
{ GalleryConstants.SearchSortNames.TotalDownloadsDesc, SortOrder.TotalDownloadsDescending },
4040
};
4141

42-
public static SearchFilter GetSearchFilter(string q, int page, bool includePrerelease, string packageType, string sortOrder, string context, string semVerLevel)
42+
public static SearchFilter GetSearchFilter(
43+
string q,
44+
int page,
45+
bool includePrerelease,
46+
string packageType,
47+
string sortOrder,
48+
string context,
49+
string semVerLevel,
50+
bool includeTestData)
4351
{
4452
page = page < 1 ? 1 : page; // pages are 1-based.
4553
packageType = packageType ?? string.Empty;
@@ -52,6 +60,7 @@ public static SearchFilter GetSearchFilter(string q, int page, bool includePrere
5260
IncludePrerelease = includePrerelease,
5361
SemVerLevel = semVerLevel,
5462
PackageType = packageType,
63+
IncludeTestData = includeTestData,
5564
};
5665

5766
if (sortOrder == null || !SortOrders.TryGetValue(sortOrder, out var sortOrderValue))

src/NuGetGallery/Queries/AutocompleteDatabasePackageIdsQuery.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public AutocompleteDatabasePackageIdsQuery(IReadOnlyEntityRepository<Package> pa
2323
public Task<IReadOnlyList<string>> Execute(
2424
string partialId,
2525
bool? includePrerelease = false,
26+
bool? includeTestData = false, // ignored on this implementation
2627
string semVerLevel = null)
2728
{
2829
var query = _packageRepository.GetAll()

src/NuGetGallery/Queries/AutocompleteDatabasePackageVersionsQuery.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public AutocompleteDatabasePackageVersionsQuery(IReadOnlyEntityRepository<Packag
2222
public Task<IReadOnlyList<string>> Execute(
2323
string id,
2424
bool? includePrerelease = false,
25+
bool? includeTestData = false, // ignored on this implementation
2526
string semVerLevel = null)
2627
{
2728
if (string.IsNullOrWhiteSpace(id))

src/NuGetGallery/Queries/AutocompleteServicePackageIdsQuery.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,16 @@ public AutocompleteServicePackageIdsQuery(IAppConfiguration configuration, IResi
2020
public async Task<IReadOnlyList<string>> Execute(
2121
string partialId,
2222
bool? includePrerelease,
23+
bool? includeTestData,
2324
string semVerLevel = null)
2425
{
2526
partialId = partialId ?? string.Empty;
2627

27-
return await RunServiceQuery("take=30&q=" + Uri.EscapeUriString(partialId), includePrerelease, semVerLevel);
28+
return await RunServiceQuery(
29+
"take=30&q=" + Uri.EscapeUriString(partialId),
30+
includePrerelease,
31+
includeTestData,
32+
semVerLevel);
2833
}
2934
}
3035
}

src/NuGetGallery/Queries/AutocompleteServicePackageVersionsQuery.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,19 @@ public AutocompleteServicePackageVersionsQuery(IAppConfiguration configuration,
2020
public async Task<IReadOnlyList<string>> Execute(
2121
string id,
2222
bool? includePrerelease,
23+
bool? includeTestData,
2324
string semVerLevel = null)
2425
{
2526
if (string.IsNullOrWhiteSpace(id))
2627
{
2728
throw new ArgumentNullException(nameof(id));
2829
}
2930

30-
return await RunServiceQuery("id=" + Uri.EscapeUriString(id), includePrerelease, semVerLevel);
31+
return await RunServiceQuery(
32+
"id=" + Uri.EscapeUriString(id),
33+
includePrerelease,
34+
includeTestData,
35+
semVerLevel);
3136
}
3237
}
3338
}

0 commit comments

Comments
 (0)