updated SearchCode to match correct response shape

This commit is contained in:
Brendan Forster
2014-03-05 22:42:10 +11:00
parent 433e9249a9
commit b64527ec92
12 changed files with 63 additions and 25 deletions
@@ -37,6 +37,6 @@ namespace Octokit.Reactive
/// </summary>
/// <param name="search"></param>
/// <returns>List of files</returns>
IObservable<SearchCode> SearchCode(SearchCodeRequest search);
IObservable<SearchCodeResult> SearchCode(SearchCodeRequest search);
}
}
@@ -63,10 +63,10 @@ namespace Octokit.Reactive
/// </summary>
/// <param name="search"></param>
/// <returns>List of files</returns>
public IObservable<SearchCode> SearchCode(SearchCodeRequest search)
public IObservable<SearchCodeResult> SearchCode(SearchCodeRequest search)
{
Ensure.ArgumentNotNull(search, "search");
return _connection.GetAndFlattenAllPages<SearchCode>(ApiUrls.SearchCode(), search.Parameters);
return _client.Search.SearchCode(search).ToObservable();
}
}
}
@@ -32,4 +32,14 @@ public class SearchClientTests
Assert.NotEmpty(repos.Items);
}
[Fact]
public async Task SearchForFunctionInCode()
{
var request = new SearchCodeRequest("addClass");
request.Repo = "jquery/jquery";
var repos = await _gitHubClient.Search.SearchCode(request);
Assert.NotEmpty(repos.Items);
}
}
+19 -19
View File
@@ -1029,7 +1029,7 @@ namespace Octokit.Tests.Clients
var connection = Substitute.For<IApiConnection>();
var client = new SearchClient(connection);
client.SearchCode(new SearchCodeRequest("something"));
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Any<Dictionary<string, string>>());
}
@@ -1050,7 +1050,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something"));
}
@@ -1065,7 +1065,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["sort"] == "indexed"));
}
@@ -1081,7 +1081,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d =>
d["sort"] == "indexed" &&
@@ -1097,7 +1097,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["order"] == "desc"));
}
@@ -1113,7 +1113,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+in:file"));
}
@@ -1128,7 +1128,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+in:file,path"));
}
@@ -1143,7 +1143,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+language:C#"));
}
@@ -1158,7 +1158,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+fork:true"));
}
@@ -1173,7 +1173,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+size:>10"));
}
@@ -1188,7 +1188,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+size:>=10"));
}
@@ -1203,7 +1203,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+size:<10"));
}
@@ -1218,7 +1218,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+size:<=10"));
}
@@ -1233,7 +1233,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+size:10..100"));
}
@@ -1248,7 +1248,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+path:app/public"));
}
@@ -1263,7 +1263,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+extension:cs"));
}
@@ -1278,7 +1278,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+user:alfhenrik"));
}
@@ -1293,7 +1293,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d => d["q"] == "something+repo:octokit.net"));
}
@@ -1310,7 +1310,7 @@ namespace Octokit.Tests.Clients
client.SearchCode(request);
connection.Received().GetAll<SearchCode>(
connection.Received().Get<SearchCodeResult>(
Arg.Is<Uri>(u => u.ToString() == "search/code"),
Arg.Is<Dictionary<string, string>>(d =>
d["q"] == "something+path:tools/FAKE.core+extension:fs+repo:octokit.net"));
+1 -1
View File
@@ -39,6 +39,6 @@ namespace Octokit
/// </summary>
/// <param name="search"></param>
/// <returns>List of files</returns>
Task<IReadOnlyList<SearchCode>> SearchCode(SearchCodeRequest search);
Task<SearchCodeResult> SearchCode(SearchCodeRequest search);
}
}
+2 -2
View File
@@ -61,10 +61,10 @@ namespace Octokit
/// </summary>
/// <param name="search"></param>
/// <returns>List of files</returns>
public Task<IReadOnlyList<SearchCode>> SearchCode(SearchCodeRequest search)
public Task<SearchCodeResult> SearchCode(SearchCodeRequest search)
{
Ensure.ArgumentNotNull(search, "search");
return ApiConnection.GetAll<SearchCode>(ApiUrls.SearchCode(), search.Parameters);
return ApiConnection.Get<SearchCodeResult>(ApiUrls.SearchCode(), search.Parameters);
}
}
}
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
namespace Octokit
{
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class SearchCodeResult
{
public int TotalCount { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public IReadOnlyList<SearchCode> Items { get; set; }
internal string DebuggerDisplay
{
get
{
return String.Format(CultureInfo.InvariantCulture, "TotalCount: {0}", TotalCount);
}
}
}
}
+1
View File
@@ -308,6 +308,7 @@
<Compile Include="Helpers\HttpClientExtensions.cs" />
<Compile Include="Models\Response\SearchRepositoryResult.cs" />
<Compile Include="Models\Response\SearchUsersResult.cs" />
<Compile Include="Models\Response\SearchCodeResult.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>
+1
View File
@@ -319,6 +319,7 @@
<Compile Include="Helpers\HttpClientExtensions.cs" />
<Compile Include="Models\Response\SearchRepositoryResult.cs" />
<Compile Include="Models\Response\SearchUsersResult.cs" />
<Compile Include="Models\Response\SearchCodeResult.cs" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
</Project>
+1
View File
@@ -314,6 +314,7 @@
<Compile Include="Helpers\HttpClientExtensions.cs" />
<Compile Include="Models\Response\SearchRepositoryResult.cs" />
<Compile Include="Models\Response\SearchUsersResult.cs" />
<Compile Include="Models\Response\SearchCodeResult.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
</Project>
+1
View File
@@ -306,6 +306,7 @@
<Compile Include="Http\ProductHeaderValue.cs" />
<Compile Include="Helpers\HttpClientExtensions.cs" />
<Compile Include="Models\Response\SearchUsersResult.cs" />
<Compile Include="Models\Response\SearchCodeResult.cs" />
</ItemGroup>
<ItemGroup>
<CodeAnalysisDictionary Include="..\CustomDictionary.xml">
+1
View File
@@ -140,6 +140,7 @@
<Compile Include="Models\Response\Reference.cs" />
<Compile Include="Models\Response\RepositoryLanguage.cs" />
<Compile Include="Models\Response\RepositoryTag.cs" />
<Compile Include="Models\Response\SearchCodeResult.cs" />
<Compile Include="Models\Response\SearchRepositoryResult.cs" />
<Compile Include="Models\Response\SearchUsersResult.cs" />
<Compile Include="Models\Response\Subscription.cs" />