Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }