Verify Serialize is getting called with correct params.

This commit is contained in:
Devesh Khandelwal
2016-03-09 11:25:07 +05:30
parent 6e49068c8d
commit 534d54bb7f
+52 -17
View File
@@ -306,22 +306,30 @@ namespace Octokit.Tests.Http
[Fact]
public async Task RunsConfiguredAppWithAppropriateEnv()
{
var body = new object();
var expectedData = SimpleJson.SerializeObject(body);
var serializer = Substitute.For<IJsonSerializer>();
string data = serializer.Serialize(new object());
var httpClient = Substitute.For<IHttpClient>();
serializer.Serialize(body).Returns(expectedData);
IResponse response = new Response();
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var httpClient = Substitute.For<IHttpClient>();
httpClient.Send(Args.Request, Args.CancellationToken)
.Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Patch<string>(new Uri("endpoint", UriKind.Relative), new object());
await connection.Patch<string>(new Uri("endpoint", UriKind.Relative), body);
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&
(string)req.Body == data &&
(string)req.Body == expectedData &&
req.Method == HttpVerb.Patch &&
req.ContentType == "application/x-www-form-urlencoded" &&
req.Endpoint == new Uri("endpoint", UriKind.Relative)), Args.CancellationToken);
@@ -352,18 +360,23 @@ namespace Octokit.Tests.Http
{
var body = new object();
var serializer = Substitute.For<IJsonSerializer>();
var expectedBody = serializer.Serialize(body);
var expectedBody = SimpleJson.SerializeObject(body);
var httpClient = Substitute.For<IHttpClient>();
IResponse response = new Response();
serializer.Serialize(body).Returns(expectedBody);
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Put<string>(new Uri("endpoint", UriKind.Relative), body);
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&
(string)req.Body == expectedBody &&
@@ -377,18 +390,24 @@ namespace Octokit.Tests.Http
{
var body = RequestBody.Empty;
var serializer = Substitute.For<IJsonSerializer>();
var expectedBody = serializer.Serialize(body);
var expectedBody = SimpleJson.SerializeObject(body);
var httpClient = Substitute.For<IHttpClient>();
IResponse response = new Response();
serializer.Serialize(body).Returns(expectedBody);
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Put<string>(new Uri("endpoint", UriKind.Relative), body);
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&
(string)req.Body == expectedBody &&
@@ -401,18 +420,23 @@ namespace Octokit.Tests.Http
{
var body = new object();
var serializer = Substitute.For<IJsonSerializer>();
var expectedBody = serializer.Serialize(body);
var expectedBody = SimpleJson.SerializeObject(body);
var httpClient = Substitute.For<IHttpClient>();
IResponse response = new Response();
serializer.Serialize(body).Returns(expectedBody);
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Put<string>(new Uri("endpoint", UriKind.Relative), body, "two-factor");
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&
(string)req.Body == expectedBody &&
@@ -427,18 +451,23 @@ namespace Octokit.Tests.Http
{
var body = RequestBody.Empty;
var serializer = Substitute.For<IJsonSerializer>();
string expectedBody = serializer.Serialize(body);
var expectedBody = SimpleJson.SerializeObject(body);
var httpClient = Substitute.For<IHttpClient>();
IResponse response = new Response();
serializer.Serialize(body).Returns(expectedBody);
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Put<string>(new Uri("endpoint", UriKind.Relative), body, "two-factor");
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&
(string)req.Body == expectedBody &&
@@ -453,18 +482,24 @@ namespace Octokit.Tests.Http
[Fact]
public async Task SendsProperlyFormattedPostRequest()
{
var body = new object();
var serializer = Substitute.For<IJsonSerializer>();
string data = serializer.Serialize(new object());
var data = SimpleJson.SerializeObject(body);
var httpClient = Substitute.For<IHttpClient>();
IResponse response = new Response();
serializer.Serialize(body).Returns(data);
httpClient.Send(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response));
var connection = new Connection(new ProductHeaderValue("OctokitTests"),
_exampleUri,
Substitute.For<ICredentialStore>(),
httpClient,
Substitute.For<IJsonSerializer>());
serializer);
await connection.Post<string>(new Uri("endpoint", UriKind.Relative), new object(), null, null);
await connection.Post<string>(new Uri("endpoint", UriKind.Relative), body, null, null);
serializer.Received(1).Serialize(body);
httpClient.Received(1).Send(Arg.Is<IRequest>(req =>
req.BaseAddress == _exampleUri &&