Skip to content

Instantly share code, notes, and snippets.

@luisxkimo
Last active May 4, 2016 12:58
Show Gist options
  • Select an option

  • Save luisxkimo/db11e84063eebd7f58a710f68fde6d5f to your computer and use it in GitHub Desktop.

Select an option

Save luisxkimo/db11e84063eebd7f58a710f68fde6d5f to your computer and use it in GitHub Desktop.
Simple Webapi integration test
[TestFixture]
public class MyOwnControllerTest
{
private static HttpClient validHttpClient;
private static MyOwnRequest validRequest;
[OneTimeSetUp]
public void InitializeTestFixture()
{
validHttpClient = new HttpClient { BaseAddress = new Uri(ConfigurationManager.AppSettings["ApiUrl"]) };
var encodedKey = Convert.ToBase64String(Encoding.Default.GetBytes(ConfigurationManager.AppSettings["Key"]));
validHttpClient.DefaultRequestHeaders.Add("Authorization", $"Basic {encodedKey}");
}
[Test]
public async Task Create_ValidRequest_ReturnsCorrectResponse()
{
var response = await validHttpClient.PostAsJsonAsync("scripts", validRequest).ConfigureAwait(false);
response.StatusCode.Should().Be(HttpStatusCode.Created);
response.Headers.Location.Should().NotBeNull();
var result = await response.Content.ReadAsAsync<MyResponse>().ConfigureAwait(false);
result.Should().NotBeNull();
result.Id.Should().NotBe(Guid.Empty);
result.ExternalId.Should().Be(validRequest.ExternalId);
result.ApplicationId.Should().Be(validRequest.ApplicationId);
result.FileName.Should().Be(validRequest.FileName);
result.FilePath.Should().Be(validRequest.FilePath);
result.Language.Should().Be(validRequest.Language);
result.ProjectCode.Should().Be(validRequest.ProjectCode);
result.LinesCount.Should().Be(validRequest.Lines.Count);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment