public async Task CreateAsync()
        {
            // Arrange
            var nickname = "My Sender ID";
            var from     = new MailAddress("*****@*****.**", "Example INC");
            var replyTo  = new MailAddress("*****@*****.**", "Example INC");
            var address  = "123 Elm St.";
            var address2 = "Apt. 456";
            var city     = "Denver";
            var state    = "Colorado";
            var zip      = "80202";
            var country  = "United States";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.Expect(HttpMethod.Post, Utils.GetSendGridApiUri(ENDPOINT)).Respond("application/json", SINGLE_SENDER_IDENTITY_JSON);

            var client           = Utils.GetFluentClient(mockHttp);
            var senderIdentities = new SenderIdentities(client);

            // Act
            var result = await senderIdentities.CreateAsync(nickname, from, replyTo, address, address2, city, state, zip, country, null, CancellationToken.None).ConfigureAwait(false);

            // Assert
            mockHttp.VerifyNoOutstandingExpectation();
            mockHttp.VerifyNoOutstandingRequest();
            result.ShouldNotBeNull();
            result.Id.ShouldBe(1);
        }
Exemple #2
0
        public void Create()
        {
            // Arrange
            var nickname = "My Sender ID";
            var from     = new MailAddress("*****@*****.**", "Example INC");
            var replyTo  = new MailAddress("*****@*****.**", "Example INC");
            var address  = "123 Elm St.";
            var address2 = "Apt. 456";
            var city     = "Denver";
            var state    = "Colorado";
            var zip      = "80202";
            var country  = "United States";

            var mockRepository = new MockRepository(MockBehavior.Strict);
            var mockClient     = mockRepository.Create <IClient>();

            mockClient
            .Setup(c => c.PostAsync(ENDPOINT, It.IsAny <JObject>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(SINGLE_SENDER_IDENTITY_JSON)
            })
            .Verifiable();

            var senderIdentities = new SenderIdentities(mockClient.Object, ENDPOINT);

            // Act
            var result = senderIdentities.CreateAsync(nickname, from, replyTo, address, address2, city, state, zip, country, CancellationToken.None).Result;

            // Assert
            result.ShouldNotBeNull();
            result.Id.ShouldBe(1);
        }
        public void Create()
        {
            // Arrange
            var nickname = "My Sender ID";
            var from     = new MailAddress("*****@*****.**", "Example INC");
            var replyTo  = new MailAddress("*****@*****.**", "Example INC");
            var address  = "123 Elm St.";
            var address2 = "Apt. 456";
            var city     = "Denver";
            var state    = "Colorado";
            var zip      = "80202";
            var country  = "United States";

            var apiResponse = @"{
				'id': 1,
				'nickname': 'My Sender ID',
				'from': {
					'email': '*****@*****.**',
					'name': 'Example INC'
				},
				'reply_to': {
					'email': '*****@*****.**',
					'name': 'Example INC'
				},
				'address': '123 Elm St.',
				'address_2': 'Apt. 456',
				'city': 'Denver',
				'state': 'Colorado',
				'zip': '80202',
				'country': 'United States',
				'verified': { 'status': true, 'reason': '' },
				'updated_at': 1449872165,
				'created_at': 1449872165,
				'locked': false
			}"            ;
            var mockClient  = new Mock <IClient>(MockBehavior.Strict);

            mockClient.Setup(c => c.PostAsync(ENDPOINT, It.IsAny <JObject>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(apiResponse)
            });

            var senderIdentities = new SenderIdentities(mockClient.Object);

            // Act
            var result = senderIdentities.CreateAsync(nickname, from, replyTo, address, address2, city, state, zip, country, CancellationToken.None).Result;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Id);
        }