diff --git a/ApiClient.Tests/Api/SmsApiTest.cs b/ApiClient.Tests/Api/SmsApiTest.cs index d079f0d..bde1b8a 100644 --- a/ApiClient.Tests/Api/SmsApiTest.cs +++ b/ApiClient.Tests/Api/SmsApiTest.cs @@ -2,6 +2,7 @@ using Infobip.Api.Client.Api; using Infobip.Api.Client.Model; using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json; namespace ApiClient.Tests.Api; @@ -36,46 +37,44 @@ public class SmsApiTest : ApiTest protected const string NO_ERROR_DESCRIPTION = "No Error"; protected const bool NO_ERROR_IS_PERMANENT = false; - protected const string GIVEN_BULK_ID = "BULK-ID-123-xyz"; - protected const string GIVEN_BULK_STATUS_STRING = "PAUSED"; - protected const SmsBulkStatus GIVEN_BULK_STATUS = SmsBulkStatus.Paused; - protected const string GIVEN_SEND_AT = "2021-02-22T17:42:05.390+0100"; - protected const string GIVEN_SEND_AT_WITH_COLON = "2021-02-22T17:42:05.390+01:00"; - [TestMethod] public void ShouldSendSimpleSms() { - var givenDestination = "41793026727"; + var givenFlash = false; var givenFrom = "InfoSMS"; + var givenIntermediateReport = false; var givenText = "This is a sample message"; - var givenMessageId = "This is a sample message"; - var givenBulkId = "2034072219640523072"; + var givenIncludeSmsCountInResponse = false; + + var expectedTo = "41793026727"; + var expectedMessageId = "This is a sample message"; + var expectedBulkId = "2034072219640523072"; - var expectedRequest = $@" + var givenRequest = $@" {{ ""messages"": [ {{ ""destinations"": [ {{ - ""to"": ""{givenDestination}"" + ""to"": ""{expectedTo}"" }} ], - ""flash"":false, + ""flash"":{givenFlash.ToString().ToLower()}, ""from"": ""{givenFrom}"", - ""intermediateReport"":false, + ""intermediateReport"":{givenIntermediateReport.ToString().ToLower()}, ""text"": ""{givenText}"" }} ], - ""includeSmsCountInResponse"":false + ""includeSmsCountInResponse"":{givenIncludeSmsCountInResponse.ToString().ToLower()} }}"; - var expectedResponse = PreparePendingResponse(givenBulkId, givenDestination, givenMessageId); + var expectedResponse = PreparePendingResponse(expectedBulkId, expectedTo, expectedMessageId); - SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, expectedRequest, expectedResponse, 200); + SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, givenRequest, expectedResponse, 200); var smsApi = new SmsApi(configuration); - var destination = new SmsDestination(to: givenDestination); + var destination = new SmsDestination(to: expectedTo); var smsMessage = new SmsTextualMessage( from: givenFrom, @@ -90,9 +89,12 @@ public void ShouldSendSimpleSms() void SmsResponseAssertion(SmsResponse smsResponse) { Assert.IsNotNull(smsResponse); - Assert.AreEqual(givenBulkId, smsResponse.BulkId); + Assert.AreEqual(expectedBulkId, smsResponse.BulkId); Assert.AreEqual(1, smsResponse.Messages.Count); - Assert.AreEqual(givenMessageId, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedMessageId, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedTo, smsResponse.Messages[0].To); + + AssertPendingSmsResponse(smsResponse.Messages[0]); } AssertResponse(smsApi.SendSmsMessage(smsRequest), SmsResponseAssertion); @@ -106,43 +108,47 @@ void SmsResponseAssertion(SmsResponse smsResponse) [TestMethod] public void ShouldSendFlashSms() { - var givenDestination = "41793026727"; + var givenFlash = false; var givenFrom = "InfoSMS"; + var givenIntermediateReport = false; var givenText = "This is a sample message"; - var givenMessageId = "This is a sample message"; - var givenBulkId = "2034072219640523072"; + var givenIncludeSmsCountInResponse = false; + + var expectedTo = "41793026727"; + var expectedMessageId = "This is a sample message"; + var expectedBulkId = "2034072219640523072"; - var expectedRequest = $@" + var givenRequest = $@" {{ ""messages"": [ {{ ""destinations"": [ {{ - ""to"": ""{givenDestination}"" + ""to"": ""{expectedTo}"" }} ], - ""flash"":true, + ""flash"":{givenFlash.ToString().ToLower()}, ""from"": ""{givenFrom}"", - ""intermediateReport"":false, + ""intermediateReport"":{givenIntermediateReport.ToString().ToLower()}, ""text"": ""{givenText}"" }} ], - ""includeSmsCountInResponse"": false + ""includeSmsCountInResponse"": {givenIncludeSmsCountInResponse.ToString().ToLower()} }}"; - var expectedResponse = PreparePendingResponse(givenBulkId, givenDestination, givenMessageId); + var expectedResponse = PreparePendingResponse(expectedBulkId, expectedTo, expectedMessageId); - SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, expectedRequest, expectedResponse, 200); + SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, givenRequest, expectedResponse, 200); var smsApi = new SmsApi(configuration); - var destination = new SmsDestination(to: givenDestination); + var destination = new SmsDestination(to: expectedTo); var smsMessage = new SmsTextualMessage( from: givenFrom, destinations: new List { destination }, text: givenText, - flash: true + flash: givenFlash ); var smsRequest = new SmsAdvancedTextualRequest( @@ -152,11 +158,18 @@ public void ShouldSendFlashSms() void SmsResponseAssertion(SmsResponse smsResponse) { Assert.IsNotNull(smsResponse); - Assert.AreEqual(givenBulkId, smsResponse.BulkId); + Assert.AreEqual(expectedBulkId, smsResponse.BulkId); Assert.AreEqual(1, smsResponse.Messages.Count); - Assert.AreEqual(givenMessageId, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedMessageId, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedTo, smsResponse.Messages[0].To); + + AssertPendingSmsResponse(smsResponse.Messages[0]); } + var resp = smsApi.SendSmsMessage(smsRequest); + var inde = JsonConvert.SerializeObject(resp); + Assert.AreEqual(expectedResponse, inde); + AssertResponse(smsApi.SendSmsMessage(smsRequest), SmsResponseAssertion); AssertResponse(smsApi.SendSmsMessageAsync(smsRequest).Result, SmsResponseAssertion); @@ -167,87 +180,94 @@ void SmsResponseAssertion(SmsResponse smsResponse) [TestMethod] public void ShouldSendFullyFeaturedSmsMessage() { - var givenFromMessage1 = "InfoSMS"; - var givenToMessage1 = "41793026727"; - var givenMessageIdMessage1 = "MESSAGE-ID-123-xyz"; - var givenAnotherToMessage1 = "41793026834"; - var givenTextMessage1 = + var expectedTo1 = "41793026727"; + var expectedMessageId1 = "MESSAGE-ID-123-xyz"; + var expectedAnotherTo1 = "41793026834"; + var givenFrom1 = "InfoSMS"; + var givenText1 = "Artık Ulusal Dil Tanımlayıcısı ile Türkçe karakterli smslerinizi rahatlıkla iletebilirsiniz."; - var givenFlashMessage1 = false; - var givenLanguageCodeMessage1 = "TR"; - var givenTransliterationMessage1 = "TURKISH"; - var givenIntermediateReportMessage1 = true; - var givenNotifyUrlMessage1 = "https://www.example.com/sms/advanced"; - var givenNotifyContentTypeMessage1 = "application/json"; - var givenCallbackDataMessage1 = "DLR callback data"; - var givenValidityPeriodMessage1 = 720L; - - var expectedMessage1 = $@" + var givenFlash1 = false; + var givenLanguageCode1 = "TR"; + var givenTransliteration1 = "TURKISH"; + var givenIntermediateReport1 = true; + var givenNotifyUrl1 = "https://www.example.com/sms/advanced"; + var givenNotifyContentType1 = "application/json"; + var givenCallbackData1 = "DLR callback data"; + var givenValidityPeriod1 = 720L; + + var givenMessage1 = $@" {{ ""destinations"": [ {{ - ""to"": ""{givenToMessage1}"", - ""messageId"": ""{givenMessageIdMessage1}"" + ""to"": ""{expectedTo1}"", + ""messageId"": ""{expectedMessageId1}"" }}, {{ - ""to"": ""{givenAnotherToMessage1}"" + ""to"": ""{expectedAnotherTo1}"" }} ], - ""flash"": {givenFlashMessage1.ToString().ToLower()}, - ""from"": ""{givenFromMessage1}"", - ""intermediateReport"": {givenIntermediateReportMessage1.ToString().ToLower()}, - ""text"": ""{givenTextMessage1}"", + ""flash"": {givenFlash1.ToString().ToLower()}, + ""from"": ""{givenFrom1}"", + ""intermediateReport"": {givenIntermediateReport1.ToString().ToLower()}, + ""text"": ""{givenText1}"", ""language"": {{ - ""languageCode"": ""{givenLanguageCodeMessage1}"" + ""languageCode"": ""{givenLanguageCode1}"" }}, - ""transliteration"": ""{givenTransliterationMessage1}"", - ""notifyUrl"": ""{givenNotifyUrlMessage1}"", - ""notifyContentType"": ""{givenNotifyContentTypeMessage1}"", - ""callbackData"": ""{givenCallbackDataMessage1}"", - ""validityPeriod"": {givenValidityPeriodMessage1} + ""transliteration"": ""{givenTransliteration1}"", + ""notifyUrl"": ""{givenNotifyUrl1}"", + ""notifyContentType"": ""{givenNotifyContentType1}"", + ""callbackData"": ""{givenCallbackData1}"", + ""validityPeriod"": {givenValidityPeriod1} }}"; - var givenFromMessage2 = "41793026700"; - var givenToMessage2 = "41793026700"; - var givenTextMessage2 = "A long time ago, in a galaxy far, far away..."; - var givenSendAtMessage2 = "2021-08-25T16:10:00.000+05:30"; - var givenDeliveryTimeFromHourMessage2 = 6; - var givenDeliveryTimeFromMinuteMessage2 = 0; - var givenDeliveryTimeToHourMessage2 = 15; - var givenDeliveryTimeToMinuteMessage2 = 30; - var givenContentTemplateIdMessage2 = "contentTemplateId"; - var givenPrincipalEntityIdMessage2 = "givenPrincipalEntityId"; - - var expectedMessage2 = $@" + var expectedTo2 = "41793026700"; + var expectedMessageId2 = "2033247207850523792"; + var givenFlash2 = false; + var givenFrom2 = "41793026700"; + var givenIntermediateReport2 = false; + var givenText2 = "A long time ago, in a galaxy far, far away..."; + var givenSendAt2 = "2021-08-25T16:10:00.000+05:30"; + var givenDeliveryTimeFromHour2 = 6; + var givenDeliveryTimeFromMinute2 = 0; + var givenDeliveryTimeToHour2 = 15; + var givenDeliveryTimeToMinute2 = 30; + var givenDay1 = "MONDAY"; + var givenDay2 = "TUESDAY"; + var givenDay3 = "WEDNESDAY"; + var givenContentTemplateId2 = "contentTemplateId"; + var givenPrincipalEntityId2 = "expectedPrincipalEntityId"; + + var givenMessage2 = $@" {{ ""destinations"": [ {{ - ""to"": ""{givenToMessage2}"" + ""to"": ""{expectedTo2}"", + ""messageId"": ""{expectedMessageId2}"", }} ], - ""flash"": false, - ""from"": ""{givenFromMessage2}"", - ""intermediateReport"": false, - ""text"": ""{givenTextMessage2}"", - ""sendAt"": ""{givenSendAtMessage2}"", + ""flash"": {givenFlash2.ToString().ToLower()}, + ""from"": ""{givenFrom2}"", + ""intermediateReport"": {givenIntermediateReport2.ToString().ToLower()}, + ""text"": ""{givenText2}"", + ""sendAt"": ""{givenSendAt2}"", ""deliveryTimeWindow"": {{ ""from"": {{ - ""hour"": {givenDeliveryTimeFromHourMessage2} + ""hour"": {givenDeliveryTimeFromHour2} }}, ""to"": {{ - ""hour"": {givenDeliveryTimeToHourMessage2}, - ""minute"": {givenDeliveryTimeToMinuteMessage2} + ""hour"": {givenDeliveryTimeToHour2}, + ""minute"": {givenDeliveryTimeToMinute2} }}, ""days"": [ - ""MONDAY"", - ""TUESDAY"", - ""WEDNESDAY"" + ""{givenDay1}"", + ""{givenDay2}"", + ""{givenDay3}"" ] }}, ""regional"": {{ ""indiaDlt"": {{ - ""contentTemplateId"": ""{givenContentTemplateIdMessage2}"", - ""principalEntityId"": ""{givenPrincipalEntityIdMessage2}"" + ""contentTemplateId"": ""{givenContentTemplateId2}"", + ""principalEntityId"": ""{givenPrincipalEntityId2}"" }} }} }}"; @@ -257,12 +277,13 @@ public void ShouldSendFullyFeaturedSmsMessage() var givenTrackingType = "MY_CAMPAIGN"; var givenSendingSpeedLimitAmount = 10; var givenSendingSpeedLimitTimeUnitString = "HOUR"; + var givenIncludeSmsCountInResponse = false; - var expectedRequest = $@" + var givenRequest = $@" {{ ""messages"": [ - {expectedMessage1}, - {expectedMessage2} + {givenMessage1}, + {givenMessage2} ], ""bulkId"": ""{givenBulkId}"", ""tracking"": {{ @@ -273,48 +294,46 @@ public void ShouldSendFullyFeaturedSmsMessage() ""amount"": {givenSendingSpeedLimitAmount}, ""timeUnit"": ""{givenSendingSpeedLimitTimeUnitString}"" }}, - ""includeSmsCountInResponse"":false + ""includeSmsCountInResponse"":{givenIncludeSmsCountInResponse.ToString().ToLower()} }}"; - var givenMessageIdMessage2 = "2033247207850523792"; - - var expectedResponse = PreparePendingResponse(givenBulkId, givenToMessage1, givenMessageIdMessage1, - givenToMessage2, givenMessageIdMessage2); - SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, expectedRequest, expectedResponse, 200); + var expectedResponse = PreparePendingResponse(givenBulkId, expectedTo1, expectedMessageId1, + expectedTo2, expectedMessageId2); + SetUpPostRequest(SMS_SEND_TEXT_ADVANCED_ENDPOINT, givenRequest, expectedResponse, 200); var smsApi = new SmsApi(configuration); - var destination1 = new SmsDestination(givenMessageIdMessage1, givenToMessage1); - var anotherDestination1 = new SmsDestination(to: givenAnotherToMessage1); + var destination1 = new SmsDestination(expectedMessageId1, expectedTo1); + var anotherDestination1 = new SmsDestination(to: expectedAnotherTo1); - var destination2 = new SmsDestination(to: givenToMessage2); + var destination2 = new SmsDestination(expectedMessageId2, expectedTo2); var smsMessage1 = new SmsTextualMessage( - from: givenFromMessage1, + from: givenFrom1, destinations: new List { destination1, anotherDestination1 }, - text: givenTextMessage1, - flash: givenFlashMessage1, - language: new SmsLanguage(givenLanguageCodeMessage1), - transliteration: givenTransliterationMessage1, - intermediateReport: givenIntermediateReportMessage1, - notifyUrl: givenNotifyUrlMessage1, - notifyContentType: givenNotifyContentTypeMessage1, - callbackData: givenCallbackDataMessage1, - validityPeriod: givenValidityPeriodMessage1 + text: givenText1, + flash: givenFlash1, + language: new SmsLanguage(givenLanguageCode1), + transliteration: givenTransliteration1, + intermediateReport: givenIntermediateReport1, + notifyUrl: givenNotifyUrl1, + notifyContentType: givenNotifyContentType1, + callbackData: givenCallbackData1, + validityPeriod: givenValidityPeriod1 ); var smsMessage2 = new SmsTextualMessage( - from: givenFromMessage2, + from: givenFrom2, destinations: new List { destination2 }, - text: givenTextMessage2, - sendAt: DateTimeOffset.Parse(givenSendAtMessage2), + text: givenText2, + sendAt: DateTimeOffset.Parse(givenSendAt2), deliveryTimeWindow: new SmsDeliveryTimeWindow( new List { SmsDeliveryDay.Monday, SmsDeliveryDay.Tuesday, SmsDeliveryDay.Wednesday }, - new SmsDeliveryTimeFrom(givenDeliveryTimeFromHourMessage2, givenDeliveryTimeFromMinuteMessage2), - new SmsDeliveryTimeTo(givenDeliveryTimeToHourMessage2, givenDeliveryTimeToMinuteMessage2) + new SmsDeliveryTimeFrom(givenDeliveryTimeFromHour2, givenDeliveryTimeFromMinute2), + new SmsDeliveryTimeTo(givenDeliveryTimeToHour2, givenDeliveryTimeToMinute2) ), regional: new SmsRegionalOptions( - new SmsIndiaDltOptions(givenContentTemplateIdMessage2, givenPrincipalEntityIdMessage2) + new SmsIndiaDltOptions(givenContentTemplateId2, givenPrincipalEntityId2) ) ); @@ -337,10 +356,14 @@ void SmsResponseAssertion(SmsResponse smsResponse) Assert.AreEqual(givenBulkId, smsResponse.BulkId); Assert.AreEqual(2, smsResponse.Messages.Count); - Assert.AreEqual(givenMessageIdMessage1, smsResponse.Messages[0].MessageId); - Assert.AreEqual(givenToMessage1, smsResponse.Messages[0].To); + Assert.AreEqual(expectedMessageId1, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedTo1, smsResponse.Messages[0].To); + + Assert.AreEqual(expectedMessageId2, smsResponse.Messages[1].MessageId); + Assert.AreEqual(expectedTo2, smsResponse.Messages[1].To); AssertPendingSmsResponse(smsResponse.Messages[0]); + AssertPendingSmsResponse(smsResponse.Messages[1]); } AssertResponse(smsApi.SendSmsMessage(smsRequest), SmsResponseAssertion); @@ -353,87 +376,95 @@ void SmsResponseAssertion(SmsResponse smsResponse) [TestMethod] public void ShouldSendFullyFeaturedBinaryMessage() { - var givenFromMessage1 = "InfoSMS"; - var givenToMessage1 = "41793026727"; - var givenMessageIdMessage1 = "MESSAGE-ID-123-xyz"; - var givenAnotherToMessage1 = "41793026834"; - var givenHexMessage1 = "54 65 73 74 20 6d 65 73 73 61 67 65 2e"; - var givenDataCodingMessage1 = 0; - var givenEsmClassMessage1 = 0; - var givenIntermediateReportMessage1 = true; - var givenNotifyUrlMessage1 = "https://www.example.com/sms/advanced"; - var givenNotifyContentTypeMessage1 = "application/json"; - var givenCallbackDataMessage1 = "DLR callback data"; - var givenValidityPeriodMessage1 = 720L; - - var expectedMessage1 = $@" + var expectedTo1 = "41793026727"; + var expectedMessageId1 = "MESSAGE-ID-123-xyz"; + var expectedAnotherTo1 = "41793026834"; + var givenFlash1 = false; + var givenFrom1 = "InfoSMS"; + var givenIntermediateReport1 = true; + var givenHex1 = "54 65 73 74 20 6d 65 73 73 61 67 65 2e"; + var givenDataCoding1 = 0; + var givenEsmClass1 = 0; + var givenNotifyUrl1 = "https://www.example.com/sms/advanced"; + var givenNotifyContentType1 = "application/json"; + var givenCallbackData1 = "DLR callback data"; + var givenValidityPeriod1 = 720L; + + var givenMessage1 = $@" {{ ""destinations"": [ {{ - ""to"": ""{givenToMessage1}"", - ""messageId"": ""{givenMessageIdMessage1}"" + ""to"": ""{expectedTo1}"", + ""messageId"": ""{expectedMessageId1}"" }}, {{ - ""to"": ""{givenAnotherToMessage1}"" + ""to"": ""{expectedAnotherTo1}"" }} ], - ""flash"": false, - ""from"": ""{givenFromMessage1}"", - ""intermediateReport"": {givenIntermediateReportMessage1.ToString().ToLower()}, + ""flash"": {givenFlash1.ToString().ToLower()}, + ""from"": ""{givenFrom1}"", + ""intermediateReport"": {givenIntermediateReport1.ToString().ToLower()}, ""binary"": {{ - ""hex"": ""{givenHexMessage1}"" + ""hex"": ""{givenHex1}"" }}, - ""notifyUrl"": ""{givenNotifyUrlMessage1}"", - ""notifyContentType"": ""{givenNotifyContentTypeMessage1}"", - ""callbackData"": ""{givenCallbackDataMessage1}"", - ""validityPeriod"": {givenValidityPeriodMessage1} + ""notifyUrl"": ""{givenNotifyUrl1}"", + ""notifyContentType"": ""{givenNotifyContentType1}"", + ""callbackData"": ""{givenCallbackData1}"", + ""validityPeriod"": {givenValidityPeriod1} }}"; - var givenFromMessage2 = "41793026700"; - var givenToMessage2 = "41793026700"; - var givenHexMessage2 = "54 65 73 74 20 6d 65 73 73 61 67 65 2e"; - var givenDataCodingMessage2 = 0; - var givenEsmClassMessage2 = 0; - var givenSendAtMessage2 = "2021-08-25T16:10:00.000+05:00"; - var givenDeliveryTimeFromHourMessage2 = 6; - var givenDeliveryTimeFromMinuteMessage2 = 0; - var givenDeliveryTimeToHourMessage2 = 15; - var givenDeliveryTimeToMinuteMessage2 = 30; - var givenContentTemplateIdMessage2 = "contentTemplateId"; - var givenPrincipalEntityIdMessage2 = "givenPrincipalEntityId"; - - var expectedMessage2 = $@" + var expectedTo2 = "41793026700"; + var expectedMessageId2 = "2033247207850523792"; + var givenFlash2 = false; + var givenFrom2 = "41793026700"; + var givenIntermediateReport2 = false; + var givenHex2 = "54 65 73 74 20 6d 65 73 73 61 67 65 2e"; + var givenDataCoding2 = 0; + var givenEsmClass2 = 0; + var givenSendAt2 = "2021-08-25T16:10:00.000+05:00"; + var givenDeliveryTimeFromHour2 = 6; + var givenDeliveryTimeFromMinute2 = 0; + var givenDeliveryTimeToHour2 = 15; + var givenDeliveryTimeToMinute2 = 30; + var givenDay1 = "MONDAY"; + var givenDay2 = "TUESDAY"; + var givenDay3 = "WEDNESDAY"; + var givenContentTemplateId2 = "contentTemplateId"; + var givenPrincipalEntityId2 = "givenPrincipalEntityId"; + + var givenMessage2 = $@" {{ ""destinations"": [ {{ - ""to"": ""{givenToMessage2}"" + ""to"": ""{expectedTo2}"", + ""messageId"": ""{expectedMessageId2}"" }} ], - ""flash"": false, - ""from"": ""{givenFromMessage2}"", - ""intermediateReport"": false, + ""flash"": {givenFlash2.ToString().ToLower()}, + ""from"": ""{givenFrom2}"", + ""intermediateReport"": {givenIntermediateReport2.ToString().ToLower()}, ""binary"": {{ - ""hex"": ""{givenHexMessage2}"" + ""hex"": ""{givenHex2}"" }}, - ""sendAt"": ""{givenSendAtMessage2}"", + ""sendAt"": ""{givenSendAt2}"", ""deliveryTimeWindow"": {{ ""from"": {{ - ""hour"": {givenDeliveryTimeFromHourMessage2} + ""hour"": {givenDeliveryTimeFromHour2} }}, ""to"": {{ - ""hour"": {givenDeliveryTimeToHourMessage2}, - ""minute"": {givenDeliveryTimeToMinuteMessage2} + ""hour"": {givenDeliveryTimeToHour2}, + ""minute"": {givenDeliveryTimeToMinute2} }}, ""days"": [ - ""MONDAY"", - ""TUESDAY"", - ""WEDNESDAY"" + ""{givenDay1}"", + ""{givenDay2}"", + ""{givenDay3}"" ] }}, ""regional"": {{ ""indiaDlt"": {{ - ""contentTemplateId"": ""{givenContentTemplateIdMessage2}"", - ""principalEntityId"": ""{givenPrincipalEntityIdMessage2}"" + ""contentTemplateId"": ""{givenContentTemplateId2}"", + ""principalEntityId"": ""{givenPrincipalEntityId2}"" }} }} }}"; @@ -442,11 +473,11 @@ public void ShouldSendFullyFeaturedBinaryMessage() var givenSendingSpeedLimitAmount = 10; var givenSendingSpeedLimitTimeUnitString = "HOUR"; - var expectedRequest = $@" + var givenRequest = $@" {{ ""messages"": [ - {expectedMessage1}, - {expectedMessage2} + {givenMessage1}, + {givenMessage2} ], ""bulkId"": ""{givenBulkId}"", ""sendingSpeedLimit"": {{ @@ -455,52 +486,50 @@ public void ShouldSendFullyFeaturedBinaryMessage() }} }}"; - var givenMessageIdMessage2 = "2033247207850523792"; - - var expectedResponse = PreparePendingResponse(givenBulkId, givenToMessage1, givenMessageIdMessage1, - givenToMessage2, givenMessageIdMessage2); - SetUpPostRequest(SMS_SEND_BINARY_ADVANCED_ENDPOINT, expectedRequest, expectedResponse, 200); + var expectedResponse = PreparePendingResponse(givenBulkId, expectedTo1, expectedMessageId1, + expectedTo2, expectedMessageId2); + SetUpPostRequest(SMS_SEND_BINARY_ADVANCED_ENDPOINT, givenRequest, expectedResponse, 200); var smsApi = new SmsApi(configuration); - var destination1 = new SmsDestination(givenMessageIdMessage1, givenToMessage1); - var anotherDestination1 = new SmsDestination(to: givenAnotherToMessage1); + var destination1 = new SmsDestination(expectedMessageId1, expectedTo1); + var anotherDestination1 = new SmsDestination(to: expectedAnotherTo1); - var destination2 = new SmsDestination(to: givenToMessage2); + var destination2 = new SmsDestination(expectedMessageId2, expectedTo2); var smsMessage1 = new SmsBinaryMessage( - from: givenFromMessage1, + from: givenFrom1, destinations: new List { destination1, anotherDestination1 }, binary: new SmsBinaryContent ( - hex: givenHexMessage1, - dataCoding: givenDataCodingMessage1, - esmClass: givenEsmClassMessage1 + hex: givenHex1, + dataCoding: givenDataCoding1, + esmClass: givenEsmClass1 ), - intermediateReport: givenIntermediateReportMessage1, - notifyUrl: givenNotifyUrlMessage1, - notifyContentType: givenNotifyContentTypeMessage1, - callbackData: givenCallbackDataMessage1, - validityPeriod: givenValidityPeriodMessage1 + intermediateReport: givenIntermediateReport1, + notifyUrl: givenNotifyUrl1, + notifyContentType: givenNotifyContentType1, + callbackData: givenCallbackData1, + validityPeriod: givenValidityPeriod1 ); var smsMessage2 = new SmsBinaryMessage( - from: givenFromMessage2, + from: givenFrom2, destinations: new List { destination2 }, binary: new SmsBinaryContent ( - hex: givenHexMessage2, - dataCoding: givenDataCodingMessage2, - esmClass: givenEsmClassMessage2 + hex: givenHex2, + dataCoding: givenDataCoding2, + esmClass: givenEsmClass2 ), - sendAt: DateTimeOffset.Parse(givenSendAtMessage2), + sendAt: DateTimeOffset.Parse(givenSendAt2), deliveryTimeWindow: new SmsDeliveryTimeWindow( new List { SmsDeliveryDay.Monday, SmsDeliveryDay.Tuesday, SmsDeliveryDay.Wednesday }, - new SmsDeliveryTimeFrom(givenDeliveryTimeFromHourMessage2, givenDeliveryTimeFromMinuteMessage2), - new SmsDeliveryTimeTo(givenDeliveryTimeToHourMessage2, givenDeliveryTimeToMinuteMessage2) + new SmsDeliveryTimeFrom(givenDeliveryTimeFromHour2, givenDeliveryTimeFromMinute2), + new SmsDeliveryTimeTo(givenDeliveryTimeToHour2, givenDeliveryTimeToMinute2) ), regional: new SmsRegionalOptions( - new SmsIndiaDltOptions(givenContentTemplateIdMessage2, givenPrincipalEntityIdMessage2) + new SmsIndiaDltOptions(givenContentTemplateId2, givenPrincipalEntityId2) ) ); @@ -521,10 +550,14 @@ void SmsResponseAssertion(SmsResponse smsResponse) Assert.AreEqual(givenBulkId, smsResponse.BulkId); Assert.AreEqual(2, smsResponse.Messages.Count); - Assert.AreEqual(givenMessageIdMessage1, smsResponse.Messages[0].MessageId); - Assert.AreEqual(givenToMessage1, smsResponse.Messages[0].To); + Assert.AreEqual(expectedMessageId1, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedTo1, smsResponse.Messages[0].To); + + Assert.AreEqual(expectedMessageId2, smsResponse.Messages[1].MessageId); + Assert.AreEqual(expectedTo2, smsResponse.Messages[1].To); AssertPendingSmsResponse(smsResponse.Messages[0]); + AssertPendingSmsResponse(smsResponse.Messages[1]); } AssertResponse(smsApi.SendBinarySmsMessage(smsRequest), SmsResponseAssertion); @@ -538,47 +571,45 @@ void SmsResponseAssertion(SmsResponse smsResponse) [TestMethod] public void ShouldSendFlashBinarySms() { - var givenBulkId = "2034072219640523072"; - var givenTo = "41793026727"; - var givenMessageId = "2250be2d4219-3af1-78856-aabe-1362af1edfd2"; + var expectedBulkId = "2034072219640523072"; + var expectedMessageId = "2250be2d4219-3af1-78856-aabe-1362af1edfd2"; + var expectedTo = "41793026727"; var givenFrom = "InfoSMS"; + var givenIntermediateReport = false; var givenHex = "0048 0065 006c 006c 006f 0020 0077 006f 0072 006c 0064 002c 0020 039a 03b1 03bb 03b7 03bc 03ad 03c1 03b1 0020 03ba 03cc 03c3 03bc 03b5 002c 0020 30b3 30f3 30cb 30c1 30cf"; - var isFlash = true; - - var expectedMessage = $@" - {{ - ""destinations"": [ - {{ - ""to"": ""{givenTo}"" - }} - ], - ""flash"": {isFlash.ToString().ToLower()}, - ""from"": ""{givenFrom}"", - ""intermediateReport"": false, - ""binary"": {{ - ""hex"": ""{givenHex}"" - }} - }}"; + var givenFlash = true; - var expectedRequest = $@" + var givenRequest = $@" {{ ""messages"": [ - {expectedMessage} + {{ + ""destinations"": [ + {{ + ""to"": ""{expectedTo}"" + }} + ], + ""flash"": {givenFlash.ToString().ToLower()}, + ""from"": ""{givenFrom}"", + ""intermediateReport"": {givenIntermediateReport.ToString().ToLower()}, + ""binary"": {{ + ""hex"": ""{givenHex}"" + }} + }} ] }}"; - var expectedResponse = PreparePendingResponse(givenBulkId, givenTo, givenMessageId); - SetUpPostRequest(SMS_SEND_BINARY_ADVANCED_ENDPOINT, expectedRequest, expectedResponse, 200); + var expectedResponse = PreparePendingResponse(expectedBulkId, expectedTo, expectedMessageId); + SetUpPostRequest(SMS_SEND_BINARY_ADVANCED_ENDPOINT, givenRequest, expectedResponse, 200); var smsApi = new SmsApi(configuration); var binaryMessage = new SmsBinaryMessage( from: givenFrom, - destinations: new List { new(to: givenTo) }, + destinations: new List { new(to: expectedTo) }, binary: new SmsBinaryContent(hex: givenHex), - flash: isFlash + flash: givenFlash ); var smsRequest = new SmsAdvancedBinaryRequest @@ -589,11 +620,11 @@ public void ShouldSendFlashBinarySms() void SmsResponseAssertion(SmsResponse smsResponse) { Assert.IsNotNull(smsResponse); - Assert.AreEqual(givenBulkId, smsResponse.BulkId); + Assert.AreEqual(expectedBulkId, smsResponse.BulkId); Assert.AreEqual(1, smsResponse.Messages.Count); - Assert.AreEqual(givenMessageId, smsResponse.Messages[0].MessageId); - Assert.AreEqual(givenTo, smsResponse.Messages[0].To); + Assert.AreEqual(expectedMessageId, smsResponse.Messages[0].MessageId); + Assert.AreEqual(expectedTo, smsResponse.Messages[0].To); AssertPendingSmsResponse(smsResponse.Messages[0]); } @@ -609,37 +640,37 @@ void SmsResponseAssertion(SmsResponse smsResponse) [TestMethod] public void ShouldGetSmsLogs() { - var givenBulkId = "BULK-ID-123-xyz"; - var givenMessageIdMessage1 = "MESSAGE-ID-123-xyz"; - var givenToMessage1 = "41793026727"; - var givenSendAtMessage1 = "2019-11-09T16:00:00.000+0530"; - var givenDoneAtMessage1 = "2019-11-09T16:00:00.000+0530"; - var givenSmsCountMessage1 = 1; - var givenPricePerMessageMessage1 = "0.01"; - var givenCurrencyMessage1 = "EUR"; - - var givenMessageIdMessage2 = "12db39c3-7822-4e72-a3ec-c87442c0ffc5"; - var givenToMessage2 = "41793026834"; - var givenSendAtMessage2 = "2019-11-09T17:00:00.000+0000"; - var givenDoneAtMessage2 = "2019-11-09T17:00:00.000+0000"; - var givenSmsCountMessage2 = 5; - var givenPricePerMessageMessage2 = "0.05"; - var givenCurrencyMessage2 = "HRK"; - - var givenResponse = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedMessageIdMessage1 = "MESSAGE-ID-123-xyz"; + var expectedToMessage1 = "41793026727"; + var expectedSendAtMessage1 = "2019-11-09T16:00:00.000+0530"; + var expectedDoneAtMessage1 = "2019-11-09T16:00:00.000+0530"; + var expectedSmsCountMessage1 = 1; + var expectedPricePerMessageMessage1 = "0.01"; + var expectedCurrencyMessage1 = "EUR"; + + var expectedMessageIdMessage2 = "12db39c3-7822-4e72-a3ec-c87442c0ffc5"; + var expectedToMessage2 = "41793026834"; + var expectedSendAtMessage2 = "2019-11-09T17:00:00.000+0000"; + var expectedDoneAtMessage2 = "2019-11-09T17:00:00.000+0000"; + var expectedSmsCountMessage2 = 5; + var expectedPricePerMessageMessage2 = "0.05"; + var expectedCurrencyMessage2 = "HRK"; + + var expectedResponse = $@" {{ ""results"": [ {{ - ""bulkId"": ""{givenBulkId}"", - ""messageId"": ""{givenMessageIdMessage1}"", - ""to"": ""{givenToMessage1}"", - ""sentAt"": ""{givenSendAtMessage1}"", - ""doneAt"": ""{givenDoneAtMessage1}"", - ""smsCount"": {givenSmsCountMessage1}, + ""bulkId"": ""{expectedBulkId}"", + ""messageId"": ""{expectedMessageIdMessage1}"", + ""to"": ""{expectedToMessage1}"", + ""sentAt"": ""{expectedSendAtMessage1}"", + ""doneAt"": ""{expectedDoneAtMessage1}"", + ""smsCount"": {expectedSmsCountMessage1}, ""price"": {{ - ""pricePerMessage"": {givenPricePerMessageMessage1}, - ""currency"": ""{givenCurrencyMessage1}"" + ""pricePerMessage"": {expectedPricePerMessageMessage1}, + ""currency"": ""{expectedCurrencyMessage1}"" }}, ""status"": {{ @@ -661,16 +692,16 @@ public void ShouldGetSmsLogs() }} }}, {{ - ""bulkId"": ""{givenBulkId}"", - ""messageId"": ""{givenMessageIdMessage2}"", - ""to"": ""{givenToMessage2}"", - ""sentAt"": ""{givenSendAtMessage2}"", - ""doneAt"": ""{givenDoneAtMessage2}"", - ""smsCount"": {givenSmsCountMessage2}, + ""bulkId"": ""{expectedBulkId}"", + ""messageId"": ""{expectedMessageIdMessage2}"", + ""to"": ""{expectedToMessage2}"", + ""sentAt"": ""{expectedSendAtMessage2}"", + ""doneAt"": ""{expectedDoneAtMessage2}"", + ""smsCount"": {expectedSmsCountMessage2}, ""price"": {{ - ""pricePerMessage"": {givenPricePerMessageMessage2}, - ""currency"": ""{givenCurrencyMessage2}"" + ""pricePerMessage"": {expectedPricePerMessageMessage2}, + ""currency"": ""{expectedCurrencyMessage2}"" }}, ""status"": {{ @@ -697,11 +728,11 @@ public void ShouldGetSmsLogs() var givenSentSinceString = "2015-02-22T17:42:05.390+0100"; var searchParams = new Dictionary { - { "bulkId", givenBulkId }, + { "bulkId", expectedBulkId }, { "sentSince", givenSentSinceString } }; - SetUpGetRequest(SMS_LOGS_ENDPOINT, searchParams, givenResponse, 200); + SetUpGetRequest(SMS_LOGS_ENDPOINT, searchParams, expectedResponse, 200); void LogsResponseAssertion(SmsLogsResponse logsResponse) { @@ -710,31 +741,31 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) Assert.IsNotNull(results); Assert.AreEqual(2, results.Count); - Assert.AreEqual(givenBulkId, results[0].BulkId); - Assert.AreEqual(givenMessageIdMessage1, results[0].MessageId); - Assert.AreEqual(givenToMessage1, results[0].To); - Assert.AreEqual(DateTimeOffset.Parse(givenSendAtMessage1), results[0].SentAt); - Assert.AreEqual(DateTimeOffset.Parse(givenDoneAtMessage1), results[0].DoneAt); + Assert.AreEqual(expectedBulkId, results[0].BulkId); + Assert.AreEqual(expectedMessageIdMessage1, results[0].MessageId); + Assert.AreEqual(expectedToMessage1, results[0].To); + Assert.AreEqual(DateTimeOffset.Parse(expectedSendAtMessage1), results[0].SentAt); + Assert.AreEqual(DateTimeOffset.Parse(expectedDoneAtMessage1), results[0].DoneAt); Assert.IsNull(results[0].From); Assert.IsNull(results[0].Text); Assert.IsNull(results[0].MccMnc); - Assert.AreEqual(decimal.Parse(givenPricePerMessageMessage1, CultureInfo.InvariantCulture), + Assert.AreEqual(decimal.Parse(expectedPricePerMessageMessage1, CultureInfo.InvariantCulture), results[0].Price.PricePerMessage); - Assert.AreEqual(givenCurrencyMessage1, results[0].Price.Currency); + Assert.AreEqual(expectedCurrencyMessage1, results[0].Price.Currency); AssertDeliveredSmsStatus(results[0].Status); AssertNoError(results[0].Error); - Assert.AreEqual(givenBulkId, results[1].BulkId); - Assert.AreEqual(givenMessageIdMessage2, results[1].MessageId); - Assert.AreEqual(givenToMessage2, results[1].To); - Assert.AreEqual(DateTimeOffset.Parse(givenSendAtMessage2), results[1].SentAt); - Assert.AreEqual(DateTimeOffset.Parse(givenDoneAtMessage2), results[1].DoneAt); + Assert.AreEqual(expectedBulkId, results[1].BulkId); + Assert.AreEqual(expectedMessageIdMessage2, results[1].MessageId); + Assert.AreEqual(expectedToMessage2, results[1].To); + Assert.AreEqual(DateTimeOffset.Parse(expectedSendAtMessage2), results[1].SentAt); + Assert.AreEqual(DateTimeOffset.Parse(expectedDoneAtMessage2), results[1].DoneAt); Assert.IsNull(results[1].From); Assert.IsNull(results[1].Text); Assert.IsNull(results[1].MccMnc); - Assert.AreEqual(decimal.Parse(givenPricePerMessageMessage2, CultureInfo.InvariantCulture), + Assert.AreEqual(decimal.Parse(expectedPricePerMessageMessage2, CultureInfo.InvariantCulture), results[1].Price.PricePerMessage); - Assert.AreEqual(givenCurrencyMessage2, results[1].Price.Currency); + Assert.AreEqual(expectedCurrencyMessage2, results[1].Price.Currency); AssertDeliveredSmsStatus(results[1].Status); AssertNoError(results[1].Error); } @@ -746,7 +777,7 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) smsApi.GetOutboundSmsMessageLogs ( sentSince: DateTimeOffset.Parse(givenSentSinceString), - bulkId: new List { givenBulkId } + bulkId: new List { expectedBulkId } ), LogsResponseAssertion ); @@ -755,7 +786,7 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) smsApi.GetOutboundSmsMessageLogsAsync ( sentSince: DateTimeOffset.Parse(givenSentSinceString), - bulkId: new List { givenBulkId } + bulkId: new List { expectedBulkId } ).Result, LogsResponseAssertion ); @@ -764,7 +795,7 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) smsApi.GetOutboundSmsMessageLogsWithHttpInfo ( sentSince: DateTimeOffset.Parse(givenSentSinceString), - bulkId: new List { givenBulkId } + bulkId: new List { expectedBulkId } ), LogsResponseAssertion ); @@ -773,7 +804,7 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) smsApi.GetOutboundSmsMessageLogsWithHttpInfoAsync ( sentSince: DateTimeOffset.Parse(givenSentSinceString), - bulkId: new List { givenBulkId } + bulkId: new List { expectedBulkId } ).Result, LogsResponseAssertion ); @@ -782,38 +813,36 @@ void LogsResponseAssertion(SmsLogsResponse logsResponse) [TestMethod] public void ShouldGetSmsReports() { - var givenBulkId = "BULK-ID-123-xyz"; - var givenMessageId1 = "MESSAGE-ID-123-xyz"; - var givenTo1 = "41793026727"; - var givenSentAt1 = "2019-11-09T16:00:00.000+0000"; - var givenDoneAt1 = "2019-11-09T16:00:00.000+0000"; - var givenSmsCount = 1; - var givenPricePerMessage = "0.01"; - var givenCurrency = "EUR"; - var givenEntityId = "promotional-traffic-entity"; - var givenApplicationId1 = "marketing-automation-application"; - - var givenMessageId2 = "12db39c3-7822-4e72-a3ec-c87442c0ffc5"; - var givenTo2 = "41793026834"; - var givenSentAt2 = "2019-11-09T17:00:00.000+0000"; - var givenDoneAt2 = "2019-11-09T17:00:00.000+0000"; - var givenApplicationId2 = "default"; - - var givenLimit = 100; - - var givenResponse = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedMessageId1 = "MESSAGE-ID-123-xyz"; + var expectedTo1 = "41793026727"; + var expectedSentAt1 = "2019-11-09T16:00:00.000+0000"; + var expectedDoneAt1 = "2019-11-09T16:00:00.000+0000"; + var expectedSmsCount = 1; + var expectedPricePerMessage = "0.01"; + var expectedCurrency = "EUR"; + var expectedEntityId = "promotional-traffic-entity"; + var expectedApplicationId1 = "marketing-automation-application"; + + var expectedMessageId2 = "12db39c3-7822-4e72-a3ec-c87442c0ffc5"; + var expectedTo2 = "41793026834"; + var expectedSentAt2 = "2019-11-09T17:00:00.000+0000"; + var expectedDoneAt2 = "2019-11-09T17:00:00.000+0000"; + var expectedApplicationId2 = "default"; + + var expectedResponse = $@" {{ ""results"": [ {{ - ""bulkId"": ""{givenBulkId}"", - ""messageId"": ""{givenMessageId1}"", - ""to"": ""{givenTo1}"", - ""sentAt"": ""{givenSentAt1}"", - ""doneAt"": ""{givenDoneAt1}"", - ""smsCount"": {givenSmsCount}, + ""bulkId"": ""{expectedBulkId}"", + ""messageId"": ""{expectedMessageId1}"", + ""to"": ""{expectedTo1}"", + ""sentAt"": ""{expectedSentAt1}"", + ""doneAt"": ""{expectedDoneAt1}"", + ""smsCount"": {expectedSmsCount}, ""price"": {{ - ""pricePerMessage"": {givenPricePerMessage}, - ""currency"": ""{givenCurrency}"" + ""pricePerMessage"": {expectedPricePerMessage}, + ""currency"": ""{expectedCurrency}"" }}, ""status"": {{ ""groupId"": {DELIVERED_STATUS_GROUP_ID}, @@ -830,19 +859,19 @@ public void ShouldGetSmsReports() ""description"": ""{NO_ERROR_DESCRIPTION}"", ""permanent"": {NO_ERROR_IS_PERMANENT.ToString().ToLower()} }}, - ""entityId"": ""{givenEntityId}"", - ""applicationId"": ""{givenApplicationId1}"" + ""entityId"": ""{expectedEntityId}"", + ""applicationId"": ""{expectedApplicationId1}"" }}, {{ - ""bulkId"": ""{givenBulkId}"", - ""messageId"": ""{givenMessageId2}"", - ""to"": ""{givenTo2}"", - ""sentAt"": ""{givenSentAt2}"", - ""doneAt"": ""{givenDoneAt2}"", - ""smsCount"": {givenSmsCount}, + ""bulkId"": ""{expectedBulkId}"", + ""messageId"": ""{expectedMessageId2}"", + ""to"": ""{expectedTo2}"", + ""sentAt"": ""{expectedSentAt2}"", + ""doneAt"": ""{expectedDoneAt2}"", + ""smsCount"": {expectedSmsCount}, ""price"": {{ - ""pricePerMessage"": {givenPricePerMessage}, - ""currency"": ""{givenCurrency}"" + ""pricePerMessage"": {expectedPricePerMessage}, + ""currency"": ""{expectedCurrency}"" }}, ""status"": {{ ""groupId"": {DELIVERED_STATUS_GROUP_ID}, @@ -859,18 +888,20 @@ public void ShouldGetSmsReports() ""description"": ""{NO_ERROR_DESCRIPTION}"", ""permanent"": {NO_ERROR_IS_PERMANENT.ToString().ToLower()} }}, - ""applicationId"": ""{givenApplicationId2}"" + ""applicationId"": ""{expectedApplicationId2}"" }} ] }}"; - var expectedQueryParameters = new Dictionary + var givenLimit = 100; + + var givenQueryParameters = new Dictionary { - { "bulkId", givenBulkId }, + { "bulkId", expectedBulkId }, { "limit", givenLimit.ToString() } }; - SetUpGetRequest(SMS_REPORTS_ENDPOINT, expectedQueryParameters, givenResponse, 200); + SetUpGetRequest(SMS_REPORTS_ENDPOINT, givenQueryParameters, expectedResponse, 200); var smsApi = new SmsApi(configuration); @@ -879,129 +910,129 @@ void AssertSmsDeliveryResult(SmsDeliveryResult smsDeliveryResult) Assert.IsNotNull(smsDeliveryResult); Assert.IsNotNull(smsDeliveryResult.Results[0]); - Assert.AreEqual(smsDeliveryResult.Results[0].BulkId, givenBulkId); - Assert.AreEqual(smsDeliveryResult.Results[0].MessageId, givenMessageId1); - Assert.AreEqual(smsDeliveryResult.Results[0].To, givenTo1); - Assert.AreEqual(smsDeliveryResult.Results[0].SentAt, DateTimeOffset.Parse(givenSentAt1)); - Assert.AreEqual(smsDeliveryResult.Results[0].DoneAt, DateTimeOffset.Parse(givenDoneAt1)); - Assert.AreEqual(smsDeliveryResult.Results[0].SmsCount, givenSmsCount); - Assert.AreEqual(smsDeliveryResult.Results[0].Price.PricePerMessage, - decimal.Parse(givenPricePerMessage, CultureInfo.InvariantCulture)); - Assert.AreEqual(smsDeliveryResult.Results[0].Price.Currency, givenCurrency); - Assert.AreEqual(smsDeliveryResult.Results[0].Status.GroupId, DELIVERED_STATUS_GROUP_ID); - Assert.AreEqual(smsDeliveryResult.Results[0].Status.GroupName, DELIVERED_STATUS_GROUP_NAME); - Assert.AreEqual(smsDeliveryResult.Results[0].Status.Id, DELIVERED_STATUS_ID); - Assert.AreEqual(smsDeliveryResult.Results[0].Status.Name, DELIVERED_STATUS_NAME); - Assert.AreEqual(smsDeliveryResult.Results[0].Status.Description, DELIVERED_STATUS_DESCRIPTION); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.GroupId, NO_ERROR_GROUP_ID); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.GroupName, NO_ERROR_GROUP_NAME); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.Id, NO_ERROR_ID); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.Name, NO_ERROR_NAME); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.Description, NO_ERROR_DESCRIPTION); - Assert.AreEqual(smsDeliveryResult.Results[0].Error.Permanent, NO_ERROR_IS_PERMANENT); - Assert.AreEqual(smsDeliveryResult.Results[0].EntityId, givenEntityId); - Assert.AreEqual(smsDeliveryResult.Results[0].ApplicationId, givenApplicationId1); + Assert.AreEqual(expectedBulkId, smsDeliveryResult.Results[0].BulkId); + Assert.AreEqual(expectedMessageId1, smsDeliveryResult.Results[0].MessageId); + Assert.AreEqual(expectedTo1, smsDeliveryResult.Results[0].To); + Assert.AreEqual(DateTimeOffset.Parse(expectedSentAt1), smsDeliveryResult.Results[0].SentAt); + Assert.AreEqual(DateTimeOffset.Parse(expectedDoneAt1), smsDeliveryResult.Results[0].DoneAt); + Assert.AreEqual(expectedSmsCount, smsDeliveryResult.Results[0].SmsCount); + Assert.AreEqual(decimal.Parse(expectedPricePerMessage, CultureInfo.InvariantCulture), + smsDeliveryResult.Results[0].Price.PricePerMessage); + Assert.AreEqual(expectedCurrency, smsDeliveryResult.Results[0].Price.Currency); + Assert.AreEqual(DELIVERED_STATUS_GROUP_ID, smsDeliveryResult.Results[0].Status.GroupId); + Assert.AreEqual(DELIVERED_STATUS_GROUP_NAME, smsDeliveryResult.Results[0].Status.GroupName); + Assert.AreEqual(DELIVERED_STATUS_ID, smsDeliveryResult.Results[0].Status.Id); + Assert.AreEqual(DELIVERED_STATUS_NAME, smsDeliveryResult.Results[0].Status.Name); + Assert.AreEqual(DELIVERED_STATUS_DESCRIPTION, smsDeliveryResult.Results[0].Status.Description); + Assert.AreEqual(NO_ERROR_GROUP_ID, smsDeliveryResult.Results[0].Error.GroupId); + Assert.AreEqual(NO_ERROR_GROUP_NAME, smsDeliveryResult.Results[0].Error.GroupName); + Assert.AreEqual(NO_ERROR_ID, smsDeliveryResult.Results[0].Error.Id); + Assert.AreEqual(NO_ERROR_NAME, smsDeliveryResult.Results[0].Error.Name); + Assert.AreEqual(NO_ERROR_DESCRIPTION, smsDeliveryResult.Results[0].Error.Description); + Assert.AreEqual(NO_ERROR_IS_PERMANENT, smsDeliveryResult.Results[0].Error.Permanent); + Assert.AreEqual(expectedEntityId, smsDeliveryResult.Results[0].EntityId); + Assert.AreEqual(expectedApplicationId1, smsDeliveryResult.Results[0].ApplicationId); Assert.IsNotNull(smsDeliveryResult.Results[1]); - Assert.AreEqual(smsDeliveryResult.Results[1].BulkId, givenBulkId); - Assert.AreEqual(smsDeliveryResult.Results[1].MessageId, givenMessageId2); - Assert.AreEqual(smsDeliveryResult.Results[1].To, givenTo2); - Assert.AreEqual(smsDeliveryResult.Results[1].SentAt, DateTimeOffset.Parse(givenSentAt2)); - Assert.AreEqual(smsDeliveryResult.Results[1].DoneAt, DateTimeOffset.Parse(givenDoneAt2)); - Assert.AreEqual(smsDeliveryResult.Results[1].SmsCount, givenSmsCount); - Assert.AreEqual(smsDeliveryResult.Results[1].Price.PricePerMessage, - decimal.Parse(givenPricePerMessage, CultureInfo.InvariantCulture)); - Assert.AreEqual(smsDeliveryResult.Results[1].Price.Currency, givenCurrency); - Assert.AreEqual(smsDeliveryResult.Results[1].Status.GroupId, DELIVERED_STATUS_GROUP_ID); - Assert.AreEqual(smsDeliveryResult.Results[1].Status.GroupName, DELIVERED_STATUS_GROUP_NAME); - Assert.AreEqual(smsDeliveryResult.Results[1].Status.Id, DELIVERED_STATUS_ID); - Assert.AreEqual(smsDeliveryResult.Results[1].Status.Name, DELIVERED_STATUS_NAME); - Assert.AreEqual(smsDeliveryResult.Results[1].Status.Description, DELIVERED_STATUS_DESCRIPTION); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.GroupId, NO_ERROR_GROUP_ID); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.GroupName, NO_ERROR_GROUP_NAME); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.Id, NO_ERROR_ID); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.Name, NO_ERROR_NAME); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.Description, NO_ERROR_DESCRIPTION); - Assert.AreEqual(smsDeliveryResult.Results[1].Error.Permanent, NO_ERROR_IS_PERMANENT); - Assert.AreEqual(smsDeliveryResult.Results[1].ApplicationId, givenApplicationId2); + Assert.AreEqual(expectedBulkId, smsDeliveryResult.Results[1].BulkId); + Assert.AreEqual(expectedMessageId2, smsDeliveryResult.Results[1].MessageId); + Assert.AreEqual(expectedTo2, smsDeliveryResult.Results[1].To); + Assert.AreEqual(smsDeliveryResult.Results[1].SentAt, DateTimeOffset.Parse(expectedSentAt2)); + Assert.AreEqual(smsDeliveryResult.Results[1].DoneAt, DateTimeOffset.Parse(expectedDoneAt2)); + Assert.AreEqual(expectedSmsCount, smsDeliveryResult.Results[1].SmsCount); + Assert.AreEqual(decimal.Parse(expectedPricePerMessage, CultureInfo.InvariantCulture), + smsDeliveryResult.Results[1].Price.PricePerMessage); + Assert.AreEqual(expectedCurrency, smsDeliveryResult.Results[1].Price.Currency); + Assert.AreEqual(DELIVERED_STATUS_GROUP_ID, smsDeliveryResult.Results[1].Status.GroupId); + Assert.AreEqual(DELIVERED_STATUS_GROUP_NAME, smsDeliveryResult.Results[1].Status.GroupName); + Assert.AreEqual(DELIVERED_STATUS_ID, smsDeliveryResult.Results[1].Status.Id); + Assert.AreEqual(DELIVERED_STATUS_NAME, smsDeliveryResult.Results[1].Status.Name); + Assert.AreEqual(DELIVERED_STATUS_DESCRIPTION, smsDeliveryResult.Results[1].Status.Description); + Assert.AreEqual(NO_ERROR_GROUP_ID, smsDeliveryResult.Results[1].Error.GroupId); + Assert.AreEqual(NO_ERROR_GROUP_NAME, smsDeliveryResult.Results[1].Error.GroupName); + Assert.AreEqual(NO_ERROR_ID, smsDeliveryResult.Results[1].Error.Id); + Assert.AreEqual(NO_ERROR_NAME, smsDeliveryResult.Results[1].Error.Name); + Assert.AreEqual(NO_ERROR_DESCRIPTION, smsDeliveryResult.Results[1].Error.Description); + Assert.AreEqual(NO_ERROR_IS_PERMANENT, smsDeliveryResult.Results[1].Error.Permanent); + Assert.AreEqual(expectedApplicationId2, smsDeliveryResult.Results[1].ApplicationId); } - AssertResponse(smsApi.GetOutboundSmsMessageDeliveryReports(givenBulkId, limit: givenLimit), + AssertResponse(smsApi.GetOutboundSmsMessageDeliveryReports(expectedBulkId, limit: givenLimit), AssertSmsDeliveryResult); - AssertResponse(smsApi.GetOutboundSmsMessageDeliveryReportsAsync(givenBulkId, limit: givenLimit).Result, + AssertResponse(smsApi.GetOutboundSmsMessageDeliveryReportsAsync(expectedBulkId, limit: givenLimit).Result, AssertSmsDeliveryResult); AssertResponseWithHttpInfo( - smsApi.GetOutboundSmsMessageDeliveryReportsWithHttpInfo(givenBulkId, limit: givenLimit), + smsApi.GetOutboundSmsMessageDeliveryReportsWithHttpInfo(expectedBulkId, limit: givenLimit), AssertSmsDeliveryResult); AssertResponseWithHttpInfo( - smsApi.GetOutboundSmsMessageDeliveryReportsWithHttpInfoAsync(givenBulkId, limit: givenLimit).Result, + smsApi.GetOutboundSmsMessageDeliveryReportsWithHttpInfoAsync(expectedBulkId, limit: givenLimit).Result, AssertSmsDeliveryResult); } [TestMethod] public void ShouldGetReceivedSmsMessages() { - var givenMessageId = "817790313235066447"; - var givenFrom = "385916242493"; - var givenTo = "385921004026"; - var givenText = "QUIZ Correct answer is Paris"; - var givenCleanText = "Correct answer is Paris"; - var givenKeyword = "QUIZ"; - var givenReceivedAt = "2021-08-25T16:10:00.000+0500"; - var givenSmsCount = 1; - decimal givenPricePerMessage = 0; - var givenCurrency = "EUR"; - var givenCallbackData = "callbackData"; - var givenMessageCount = 1; - var givenPendingMessageCount = 0; - - var givenResponse = $@" + var expectedMessageId = "817790313235066447"; + var expectedFrom = "385916242493"; + var expectedTo = "385921004026"; + var expectedText = "QUIZ Correct answer is Paris"; + var expectedCleanText = "Correct answer is Paris"; + var expectedKeyword = "QUIZ"; + var expectedReceivedAt = "2021-08-25T16:10:00.000+0500"; + var expectedSmsCount = 1; + decimal expectedPricePerMessage = 0; + var expectedCurrency = "EUR"; + var expectedCallbackData = "callbackData"; + var expectedMessageCount = 1; + var expectedPendingMessageCount = 0; + + var expectedResponse = $@" {{ ""results"": [ {{ - ""messageId"": ""{givenMessageId}"", - ""from"": ""{givenFrom}"", - ""to"": ""{givenTo}"", - ""text"": ""{givenText}"", - ""cleanText"": ""{givenCleanText}"", - ""keyword"": ""{givenKeyword}"", - ""receivedAt"": ""{givenReceivedAt}"", - ""smsCount"": {givenSmsCount}, + ""messageId"": ""{expectedMessageId}"", + ""from"": ""{expectedFrom}"", + ""to"": ""{expectedTo}"", + ""text"": ""{expectedText}"", + ""cleanText"": ""{expectedCleanText}"", + ""keyword"": ""{expectedKeyword}"", + ""receivedAt"": ""{expectedReceivedAt}"", + ""smsCount"": {expectedSmsCount}, ""price"": {{ - ""pricePerMessage"": {givenPricePerMessage}, - ""currency"": ""{givenCurrency}"" + ""pricePerMessage"": {expectedPricePerMessage}, + ""currency"": ""{expectedCurrency}"" }}, - ""callbackData"": ""{givenCallbackData}"" + ""callbackData"": ""{expectedCallbackData}"" }} ], - ""messageCount"": {givenMessageCount}, - ""pendingMessageCount"": {givenPendingMessageCount} + ""messageCount"": {expectedMessageCount}, + ""pendingMessageCount"": {expectedPendingMessageCount} }}"; var givenLimit = 2; SetUpGetRequest(SMS_INBOX_REPORTS_ENDPOINT, - new Dictionary { { "limit", givenLimit.ToString() } }, givenResponse, 200); + new Dictionary { { "limit", givenLimit.ToString() } }, expectedResponse, 200); void ResultAssertions(SmsInboundMessageResult smsInboundResult) { Assert.IsNotNull(smsInboundResult); - Assert.AreEqual(givenMessageCount, smsInboundResult.MessageCount); - Assert.AreEqual(givenPendingMessageCount, smsInboundResult.PendingMessageCount); + Assert.AreEqual(expectedMessageCount, smsInboundResult.MessageCount); + Assert.AreEqual(expectedPendingMessageCount, smsInboundResult.PendingMessageCount); Assert.AreEqual(1, smsInboundResult.Results.Count); var message = smsInboundResult.Results[0]; - Assert.AreEqual(givenMessageId, message.MessageId); - Assert.AreEqual(givenFrom, message.From); - Assert.AreEqual(givenTo, message.To); - Assert.AreEqual(givenText, message.Text); - Assert.AreEqual(givenCleanText, message.CleanText); - Assert.AreEqual(givenKeyword, message.Keyword); - Assert.AreEqual(DateTimeOffset.Parse(givenReceivedAt), message.ReceivedAt); - Assert.AreEqual(givenSmsCount, message.SmsCount); - Assert.AreEqual(givenPricePerMessage, message.Price.PricePerMessage); - Assert.AreEqual(givenCurrency, message.Price.Currency); - Assert.AreEqual(givenCallbackData, message.CallbackData); + Assert.AreEqual(expectedMessageId, message.MessageId); + Assert.AreEqual(expectedFrom, message.From); + Assert.AreEqual(expectedTo, message.To); + Assert.AreEqual(expectedText, message.Text); + Assert.AreEqual(expectedCleanText, message.CleanText); + Assert.AreEqual(expectedKeyword, message.Keyword); + Assert.AreEqual(DateTimeOffset.Parse(expectedReceivedAt), message.ReceivedAt); + Assert.AreEqual(expectedSmsCount, message.SmsCount); + Assert.AreEqual(expectedPricePerMessage, message.Price.PricePerMessage); + Assert.AreEqual(expectedCurrency, message.Price.Currency); + Assert.AreEqual(expectedCallbackData, message.CallbackData); } var receiveApi = new SmsApi(configuration); @@ -1017,44 +1048,44 @@ void ResultAssertions(SmsInboundMessageResult smsInboundResult) [TestMethod] public void ShouldSendSmsPreview() { - var expectedPreviewText = "Let's see how many characters will remain unused in this message."; + var givenPreviewText = "Let's see how many characters will remain unused in this message."; - var expectedRequest = $@" + var givenRequest = $@" {{ - ""text"": ""{expectedPreviewText}"" + ""text"": ""{givenPreviewText}"" }}"; - var givenOriginalText = "Let's see how many characters will remain unused in this message."; - var givenTextPreview = "Let's see how many characters will remain unused in this message."; - var givenMessageCount = 1; - var givenCharactersRemaining = 95; + var expectedOriginalText = "Let's see how many characters will remain unused in this message."; + var expectedTextPreview = "Let's see how many characters will remain unused in this message."; + var expectedMessageCount = 1; + var expectedCharactersRemaining = 95; - var givenResponse = $@" + var expectedResponse = $@" {{ - ""originalText"": ""{givenOriginalText}"", + ""originalText"": ""{expectedOriginalText}"", ""previews"": [ {{ - ""textPreview"": ""{givenTextPreview}"", - ""messageCount"": ""{givenMessageCount}"", - ""charactersRemaining"": {givenCharactersRemaining}, + ""textPreview"": ""{expectedTextPreview}"", + ""messageCount"": ""{expectedMessageCount}"", + ""charactersRemaining"": {expectedCharactersRemaining}, ""configuration"": {{ }} }} ] }}"; - SetUpPostRequest(SMS_SEND_PREVIEW_ENDPOINT, expectedRequest, givenResponse, 200); + SetUpPostRequest(SMS_SEND_PREVIEW_ENDPOINT, givenRequest, expectedResponse, 200); void SmsPreviewAssertions(SmsPreviewResponse response) { Assert.IsNotNull(response); - Assert.AreEqual(givenOriginalText, response.OriginalText); + Assert.AreEqual(expectedOriginalText, response.OriginalText); Assert.AreEqual(1, response.Previews.Count); var preview = response.Previews[0]; - Assert.AreEqual(givenTextPreview, preview.TextPreview); - Assert.AreEqual(givenMessageCount, preview.MessageCount); - Assert.AreEqual(givenCharactersRemaining, preview.CharactersRemaining); - Assert.AreEqual(givenOriginalText, response.OriginalText); + Assert.AreEqual(expectedTextPreview, preview.TextPreview); + Assert.AreEqual(expectedMessageCount, preview.MessageCount); + Assert.AreEqual(expectedCharactersRemaining, preview.CharactersRemaining); + Assert.AreEqual(expectedOriginalText, response.OriginalText); var smsLanguage = preview.VarConfiguration; Assert.IsNotNull(smsLanguage); Assert.IsNull(smsLanguage.Language); @@ -1062,7 +1093,7 @@ void SmsPreviewAssertions(SmsPreviewResponse response) } var sendSmsApi = new SmsApi(configuration); - var request = new SmsPreviewRequest(givenTextPreview); + var request = new SmsPreviewRequest(expectedTextPreview); AssertResponse(sendSmsApi.PreviewSmsMessage(request), SmsPreviewAssertions); AssertResponse(sendSmsApi.PreviewSmsMessageAsync(request).Result, SmsPreviewAssertions); @@ -1073,97 +1104,109 @@ void SmsPreviewAssertions(SmsPreviewResponse response) [TestMethod] public void ShouldGetScheduledSmsMessages() { - var givenResponse = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedSendAt = "2021-02-22T17:42:05.390+0100"; + + var expectedResponse = $@" {{ - ""bulkId"": ""{GIVEN_BULK_ID}"", - ""sendAt"": ""{GIVEN_SEND_AT}"" + ""bulkId"": ""{expectedBulkId}"", + ""sendAt"": ""{expectedSendAt}"" }}"; - SetUpGetRequest(SMS_BULKS_ENDPOINT, new Dictionary { { "bulkId", GIVEN_BULK_ID } }, - givenResponse, 200); + SetUpGetRequest(SMS_BULKS_ENDPOINT, new Dictionary { { "bulkId", expectedBulkId } }, + expectedResponse, 200); void BulkResponseAssertions(SmsBulkResponse response) { Assert.IsNotNull(response); - Assert.AreEqual(GIVEN_BULK_ID, response.BulkId); - Assert.AreEqual(DateTimeOffset.Parse(GIVEN_SEND_AT), response.SendAt); + Assert.AreEqual(expectedBulkId, response.BulkId); + Assert.AreEqual(DateTimeOffset.Parse(expectedSendAt), response.SendAt); } var scheduledSmsApi = new SmsApi(configuration); - AssertResponse(scheduledSmsApi.GetScheduledSmsMessages(GIVEN_BULK_ID), BulkResponseAssertions); - AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesAsync(GIVEN_BULK_ID).Result, BulkResponseAssertions); - AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesWithHttpInfo(GIVEN_BULK_ID), + AssertResponse(scheduledSmsApi.GetScheduledSmsMessages(expectedBulkId), BulkResponseAssertions); + AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesAsync(expectedBulkId).Result, BulkResponseAssertions); + AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesWithHttpInfo(expectedBulkId), BulkResponseAssertions); - AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesWithHttpInfoAsync(GIVEN_BULK_ID).Result, + AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesWithHttpInfoAsync(expectedBulkId).Result, BulkResponseAssertions); } [TestMethod] public void ShouldRescheduleSmsMessages() { - var expectedRequest = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedSendAt = "2021-02-22T17:42:05.390+0100"; + var givenSendAtWithColon = "2021-02-22T17:42:05.390+01:00"; + + var givenRequest = $@" {{ - ""sendAt"": ""{GIVEN_SEND_AT_WITH_COLON}"" + ""sendAt"": ""{givenSendAtWithColon}"" }}"; - var givenResponse = $@" + var expectedResponse = $@" {{ - ""bulkId"": ""{GIVEN_BULK_ID}"", - ""sendAt"": ""{GIVEN_SEND_AT}"" + ""bulkId"": ""{expectedBulkId}"", + ""sendAt"": ""{expectedSendAt}"" }}"; - SetUpPutRequest(SMS_BULKS_ENDPOINT, new Dictionary { { "bulkId", GIVEN_BULK_ID } }, - expectedRequest, givenResponse, 200); + SetUpPutRequest(SMS_BULKS_ENDPOINT, new Dictionary { { "bulkId", expectedBulkId } }, + givenRequest, expectedResponse, 200); void BulkResponseAssertions(SmsBulkResponse response) { Assert.IsNotNull(response); - Assert.AreEqual(GIVEN_BULK_ID, response.BulkId); - Assert.AreEqual(DateTimeOffset.Parse(GIVEN_SEND_AT), response.SendAt); + Assert.AreEqual(expectedBulkId, response.BulkId); + Assert.AreEqual(DateTimeOffset.Parse(expectedSendAt), response.SendAt); } var scheduledSmsApi = new SmsApi(configuration); - var bulkRequest = new SmsBulkRequest(DateTimeOffset.Parse(GIVEN_SEND_AT_WITH_COLON)); + var bulkRequest = new SmsBulkRequest(DateTimeOffset.Parse(givenSendAtWithColon)); - AssertResponse(scheduledSmsApi.RescheduleSmsMessages(GIVEN_BULK_ID, bulkRequest), BulkResponseAssertions); - AssertResponse(scheduledSmsApi.RescheduleSmsMessagesAsync(GIVEN_BULK_ID, bulkRequest).Result, + AssertResponse(scheduledSmsApi.RescheduleSmsMessages(expectedBulkId, bulkRequest), BulkResponseAssertions); + AssertResponse(scheduledSmsApi.RescheduleSmsMessagesAsync(expectedBulkId, bulkRequest).Result, BulkResponseAssertions); - AssertResponseWithHttpInfo(scheduledSmsApi.RescheduleSmsMessagesWithHttpInfo(GIVEN_BULK_ID, bulkRequest), + AssertResponseWithHttpInfo(scheduledSmsApi.RescheduleSmsMessagesWithHttpInfo(expectedBulkId, bulkRequest), BulkResponseAssertions); AssertResponseWithHttpInfo( - scheduledSmsApi.RescheduleSmsMessagesWithHttpInfoAsync(GIVEN_BULK_ID, bulkRequest).Result, + scheduledSmsApi.RescheduleSmsMessagesWithHttpInfoAsync(expectedBulkId, bulkRequest).Result, BulkResponseAssertions); } [TestMethod] public void ShouldGetScheduledSmsMessagesStatus() { - var givenResponse = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedBulkStatusString = "PAUSED"; + var expectedBulkStatus = SmsBulkStatus.Paused; + + var expectedResponse = $@" {{ - ""bulkId"": ""{GIVEN_BULK_ID}"", - ""status"": ""{GIVEN_BULK_STATUS_STRING}"" + ""bulkId"": ""{expectedBulkId}"", + ""status"": ""{expectedBulkStatusString}"" }}"; - SetUpGetRequest(SMS_BULKS_STATUS_ENDPOINT, new Dictionary { { "bulkId", GIVEN_BULK_ID } }, - givenResponse, 200); + SetUpGetRequest(SMS_BULKS_STATUS_ENDPOINT, new Dictionary { { "bulkId", expectedBulkId } }, + expectedResponse, 200); void BulkResponseAssertions(SmsBulkStatusResponse response) { Assert.IsNotNull(response); - Assert.AreEqual(GIVEN_BULK_ID, response.BulkId); - Assert.AreEqual(GIVEN_BULK_STATUS, response.Status); + Assert.AreEqual(expectedBulkId, response.BulkId); + Assert.AreEqual(expectedBulkStatus, response.Status); } var scheduledSmsApi = new SmsApi(configuration); - AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesStatus(GIVEN_BULK_ID), BulkResponseAssertions); - AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesStatusAsync(GIVEN_BULK_ID).Result, + AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesStatus(expectedBulkId), BulkResponseAssertions); + AssertResponse(scheduledSmsApi.GetScheduledSmsMessagesStatusAsync(expectedBulkId).Result, BulkResponseAssertions); - AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesStatusWithHttpInfo(GIVEN_BULK_ID), + AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesStatusWithHttpInfo(expectedBulkId), BulkResponseAssertions); - AssertResponseWithHttpInfo(scheduledSmsApi.GetScheduledSmsMessagesStatusWithHttpInfoAsync(GIVEN_BULK_ID).Result, + AssertResponseWithHttpInfo( + scheduledSmsApi.GetScheduledSmsMessagesStatusWithHttpInfoAsync(expectedBulkId).Result, BulkResponseAssertions); } @@ -1171,40 +1214,45 @@ void BulkResponseAssertions(SmsBulkStatusResponse response) [TestMethod] public void ShouldUpdateScheduledSmsMessagesStatus() { - var expectedRequest = $@" + var expectedBulkId = "BULK-ID-123-xyz"; + var expectedBulkStatusString = "PAUSED"; + var expectedBulkStatus = SmsBulkStatus.Paused; + + var givenRequest = $@" {{ - ""status"": ""{GIVEN_BULK_STATUS_STRING}"" + ""status"": ""{expectedBulkStatusString}"" }}"; - var givenResponse = $@" + var expectedResponse = $@" {{ - ""bulkId"": ""{GIVEN_BULK_ID}"", - ""status"": ""{GIVEN_BULK_STATUS_STRING}"" + ""bulkId"": ""{expectedBulkId}"", + ""status"": ""{expectedBulkStatusString}"" }}"; - SetUpPutRequest(SMS_BULKS_STATUS_ENDPOINT, new Dictionary { { "bulkId", GIVEN_BULK_ID } }, - expectedRequest, givenResponse, 200); + SetUpPutRequest(SMS_BULKS_STATUS_ENDPOINT, new Dictionary { { "bulkId", expectedBulkId } }, + givenRequest, expectedResponse, 200); void BulkResponseAssertions(SmsBulkStatusResponse response) { Assert.IsNotNull(response); - Assert.AreEqual(GIVEN_BULK_ID, response.BulkId); - Assert.AreEqual(GIVEN_BULK_STATUS, response.Status); + Assert.AreEqual(expectedBulkId, response.BulkId); + Assert.AreEqual(expectedBulkStatus, response.Status); } var scheduledSmsApi = new SmsApi(configuration); var updateStatusRequest = new SmsUpdateStatusRequest(SmsBulkStatus.Paused); - AssertResponse(scheduledSmsApi.UpdateScheduledSmsMessagesStatus(GIVEN_BULK_ID, updateStatusRequest), + AssertResponse(scheduledSmsApi.UpdateScheduledSmsMessagesStatus(expectedBulkId, updateStatusRequest), BulkResponseAssertions); - AssertResponse(scheduledSmsApi.UpdateScheduledSmsMessagesStatusAsync(GIVEN_BULK_ID, updateStatusRequest).Result, + AssertResponse( + scheduledSmsApi.UpdateScheduledSmsMessagesStatusAsync(expectedBulkId, updateStatusRequest).Result, BulkResponseAssertions); AssertResponseWithHttpInfo( - scheduledSmsApi.UpdateScheduledSmsMessagesStatusWithHttpInfo(GIVEN_BULK_ID, updateStatusRequest), + scheduledSmsApi.UpdateScheduledSmsMessagesStatusWithHttpInfo(expectedBulkId, updateStatusRequest), BulkResponseAssertions); AssertResponseWithHttpInfo( - scheduledSmsApi.UpdateScheduledSmsMessagesStatusWithHttpInfoAsync(GIVEN_BULK_ID, updateStatusRequest) + scheduledSmsApi.UpdateScheduledSmsMessagesStatusWithHttpInfoAsync(expectedBulkId, updateStatusRequest) .Result, BulkResponseAssertions); } diff --git a/ApiClient.Tests/DateTimeSerializationTest.cs b/ApiClient.Tests/DateTimeSerializationTest.cs index e509d56..030d4b2 100644 --- a/ApiClient.Tests/DateTimeSerializationTest.cs +++ b/ApiClient.Tests/DateTimeSerializationTest.cs @@ -13,15 +13,15 @@ public class DateTimeSerializationTest internal static readonly DateTimeOffset[] DateTimeValues = { - new DateTimeOffset(2035, 8, 18, 12, 8, 42, 777, new TimeSpan(0, 0, 0)), - new DateTimeOffset(2035, 8, 18, 13, 8, 42, 777, new TimeSpan(1, 0, 0)), - new DateTimeOffset(2035, 8, 18, 11, 8, 42, 777, new TimeSpan(-1, 0, 0)), - new DateTimeOffset(2035, 8, 18, 17, 8, 42, 777, new TimeSpan(5, 0, 0)), - new DateTimeOffset(2035, 8, 18, 7, 8, 42, 777, new TimeSpan(-5, 0, 0)), - new DateTimeOffset(2035, 8, 18, 13, 38, 42, 777, new TimeSpan(1, 30, 0)), - new DateTimeOffset(2035, 8, 18, 10, 38, 42, 777, new TimeSpan(-1, -30, 0)), - new DateTimeOffset(2035, 8, 18, 17, 38, 42, 777, new TimeSpan(5, 30, 0)), - new DateTimeOffset(2035, 8, 18, 6, 38, 42, 777, new TimeSpan(-5, -30, 0)) + new(2035, 8, 18, 12, 8, 42, 777, new TimeSpan(0, 0, 0)), + new(2035, 8, 18, 13, 8, 42, 777, new TimeSpan(1, 0, 0)), + new(2035, 8, 18, 11, 8, 42, 777, new TimeSpan(-1, 0, 0)), + new(2035, 8, 18, 17, 8, 42, 777, new TimeSpan(5, 0, 0)), + new(2035, 8, 18, 7, 8, 42, 777, new TimeSpan(-5, 0, 0)), + new(2035, 8, 18, 13, 38, 42, 777, new TimeSpan(1, 30, 0)), + new(2035, 8, 18, 10, 38, 42, 777, new TimeSpan(-1, -30, 0)), + new(2035, 8, 18, 17, 38, 42, 777, new TimeSpan(5, 30, 0)), + new(2035, 8, 18, 6, 38, 42, 777, new TimeSpan(-5, -30, 0)) }; [DataRow("2035-08-18T12:08:42.777+0000", 0)]