public async Task Can_Get_Sms_Delivery_Status() { var messageId = new Faker().Random.AlphaNumeric(6); var response = new Faker <DeliveryStatusModel>() .RuleFor(r => r.MessageId, _ => messageId) .RuleFor(r => r.Status, _ => "Completed") .Generate(); var mockHttpMessageHandler = new Mock <HttpMessageHandler>(); mockHttpMessageHandler .Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(response)) }); var client = new HttpClient(mockHttpMessageHandler.Object) { BaseAddress = new Uri("https://jusibe.com/smsapi/"), }; var mockFactory = new Mock <IHttpClientFactory>(); mockFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client); var jusibeClient = new JusibeClient(mockFactory.Object); var result = await jusibeClient.GetDeliveryStatus(messageId); Assert.Equal(messageId, result.MessageId); Assert.Equal("Completed", response.Status); }
public async Task Can_Get_Sms_Credits() { var response = new Faker <CreditModel>() .RuleFor(r => r.SmsCredits, _ => 1) .Generate(); var mockHttpMessageHandler = new Mock <HttpMessageHandler>(); mockHttpMessageHandler .Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(response)) }); var client = new HttpClient(mockHttpMessageHandler.Object) { BaseAddress = new Uri("https://jusibe.com/smsapi/"), }; var mockFactory = new Mock <IHttpClientFactory>(); mockFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(client); var jusibeClient = new JusibeClient(mockFactory.Object); var result = await jusibeClient.GetCredits(); Assert.NotEqual(0, result.SmsCredits); }
public void Sms_Get_Delivery_Status() { this.LoadEnvironment(); JusibeClient client = new JusibeClient(new SMSConfig() { AccessToken = System.Environment.GetEnvironmentVariable("Jusibe_Token"), PublicKey = System.Environment.GetEnvironmentVariable("Jusibe_Key") }); var result = client.GetDeliveryStatus(Environment.GetEnvironmentVariable("MessageId")).Result; Console.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented)); }
public void Sms_Gets_Sent() { this.LoadEnvironment(); JusibeClient client = new JusibeClient(new SMSConfig() { AccessToken = System.Environment.GetEnvironmentVariable("Jusibe_Token"), PublicKey = System.Environment.GetEnvironmentVariable("Jusibe_Key") }); var result = client.Send(new RequestModel() { From = "Mykeels", To = System.Environment.GetEnvironmentVariable("Phone"), Message = "Hello World" }).Result; Assert.NotNull(result.MessageId); Assert.Equal("Sent", result.Status); Assert.Equal(1, result.SmsCredits); Console.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented)); }