public async Task RunsConfiguredAppWithAppropriateEnv() { string data = SimpleJson.SerializeObject(new object()); var httpClient = Substitute.For<IHttpClient>(); IResponse<string> response = new ApiResponse<string>(); httpClient.Send<string>(Args.Request).Returns(Task.FromResult(response)); var connection = new Connection(new ProductHeaderValue("OctokitTests"), ExampleUri, Substitute.For<ICredentialStore>(), httpClient, Substitute.For<IJsonSerializer>()); await connection.PatchAsync<string>(new Uri("endpoint", UriKind.Relative), new object()); httpClient.Received(1).Send<string>(Arg.Is<IRequest>(req => req.BaseAddress == ExampleUri && (string)req.Body == data && req.Method == HttpVerb.Patch && req.ContentType == "application/x-www-form-urlencoded" && req.Endpoint == new Uri("endpoint", UriKind.Relative))); }
public async Task RunsConfiguredAppWithAcceptsOverride() { string data = SimpleJson.SerializeObject(new object()); var httpClient = Substitute.For<IHttpClient>(); IResponse<string> response = new ApiResponse<string>(); httpClient.Send<string>(Args.Request, Args.CancellationToken).Returns(Task.FromResult(response)); var connection = new Connection(new ProductHeaderValue("OctokitTests"), ExampleUri, Substitute.For<ICredentialStore>(), httpClient, Substitute.For<IJsonSerializer>()); await connection.PatchAsync<string>(new Uri("endpoint", UriKind.Relative), new object(), "custom/accepts"); httpClient.Received(1).Send<string>(Arg.Is<IRequest>(req => req.Headers["Accept"] == "custom/accepts"), Args.CancellationToken); }