Last active
May 4, 2016 12:58
-
-
Save luisxkimo/db11e84063eebd7f58a710f68fde6d5f to your computer and use it in GitHub Desktop.
Simple Webapi integration test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [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