Пример #1
0
        public void ValidateDomain()
        {
            // Arrange
            var domainId = 1L;

            var apiResponse = @"{
				'id': 1,
				'valid': true,
				'validation_resuts': {
					'mail_cname': {
						'valid': false,
						'reason': 'Expected your MX record to be \'mx.sendgrid.net\' but found \'example.com\'.'
					},
					'dkim1': {
						'valid': true,
						'reason': null
					},
					'dkim2': {
						'valid': true,
						'reason': null
					},
					'spf': {
						'valid': true,
						'reason': null
					}
				}
			}"            ;

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.Expect(HttpMethod.Post, Utils.GetSendGridApiUri(ENDPOINT, $"domains/{domainId}/validate")).Respond("application/json", apiResponse);

            var client     = Utils.GetFluentClient(mockHttp);
            var whitelabel = new Whitelabel(client);

            // Act
            var result = whitelabel.ValidateDomainAsync(domainId).Result;

            // Assert
            mockHttp.VerifyNoOutstandingExpectation();
            mockHttp.VerifyNoOutstandingRequest();
            result.ShouldNotBeNull();
            result.DomainId.ShouldBe(1);
            result.IsValid.ShouldBe(true);
            result.ValidationResults.Dkim1.IsValid.ShouldBe(true);
            result.ValidationResults.Dkim1.Reason.ShouldBeNull();
            result.ValidationResults.Dkim2.IsValid.ShouldBe(true);
            result.ValidationResults.Dkim2.Reason.ShouldBeNull();
            result.ValidationResults.Mail.IsValid.ShouldBe(false);
            result.ValidationResults.Mail.Reason.ShouldBe("Expected your MX record to be \'mx.sendgrid.net\' but found \'example.com\'.");
            result.ValidationResults.Spf.IsValid.ShouldBe(true);
            result.ValidationResults.Spf.Reason.ShouldBeNull();
        }