public async Task ValidateIpAsync() { // Arrange var id = 1L; var apiResponse = @"{ 'id': 1, 'valid': true, 'validation_results': { 'a_record': { 'valid': true, 'reason': null } } }" ; var mockHttp = new MockHttpMessageHandler(); mockHttp.Expect(HttpMethod.Post, Utils.GetSendGridApiUri(ENDPOINT, "ips", id, "validate")).Respond("application/json", apiResponse); var client = Utils.GetFluentClient(mockHttp); var whitelabel = new Whitelabel(client); // Act var result = await whitelabel.ValidateIpAsync(id).ConfigureAwait(false); // Assert mockHttp.VerifyNoOutstandingExpectation(); mockHttp.VerifyNoOutstandingRequest(); result.ShouldNotBeNull(); result.IpId.ShouldBe(1); result.IsValid.ShouldBe(true); result.ValidationResults.ARecord.IsValid.ShouldBe(true); result.ValidationResults.ARecord.Reason.ShouldBeNull(); }
public void ValidateIp() { // Arrange var id = 1L; var apiResponse = @"{ 'id': 1, 'valid': true, 'validation_results': { 'a_record': { 'valid': true, 'reason': null } } }" ; var mockRepository = new MockRepository(MockBehavior.Strict); var mockClient = mockRepository.Create <IClient>(); mockClient .Setup(c => c.PostAsync($"{ENDPOINT}/ips/{id}/validate", It.IsAny <JObject>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(apiResponse) }) .Verifiable(); var whitelabel = new Whitelabel(mockClient.Object, ENDPOINT); // Act var result = whitelabel.ValidateIpAsync(id).Result; // Assert result.ShouldNotBeNull(); result.IpId.ShouldBe(1); result.IsValid.ShouldBe(true); result.ValidationResults.ARecord.IsValid.ShouldBe(true); result.ValidationResults.ARecord.Reason.ShouldBeNull(); }