-
Notifications
You must be signed in to change notification settings - Fork 25
/
SmsTest.cs
64 lines (60 loc) · 2.04 KB
/
SmsTest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;
using System.Net;
using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
using Xunit;
namespace RingCentral.Tests;
[Collection("Sequential")]
public class SmsTest
{
[Fact]
public async void SendSms()
{
var rc = await ReusableRestClient.GetInstance();
var messageInfo = await rc.Restapi().Account().Extension().Sms().Post(new CreateSMSMessage
{
from = new MessageStoreCallerInfoRequest
{
phoneNumber = Environment.GetEnvironmentVariable("RINGCENTRAL_SENDER")
},
to = new[]
{
new MessageStoreCallerInfoRequest
{
phoneNumber = Environment.GetEnvironmentVariable("RINGCENTRAL_RECEIVER")
}
},
text = "Hello world"
});
Assert.Equal("SMS", messageInfo.type);
Assert.Equal("Outbound", messageInfo.direction);
Assert.Equal("Read", messageInfo.readStatus); // because it is an outbound SMS
}
[Fact]
public async void SendSmsComplicated()
{
var rc = await ReusableRestClient.GetInstance();
var httpContent = new StringContent(JsonConvert.SerializeObject(new
{
from = new
{
phoneNumber = Environment.GetEnvironmentVariable("RINGCENTRAL_SENDER")
},
to = new[]
{
new
{
phoneNumber = Environment.GetEnvironmentVariable("RINGCENTRAL_RECEIVER")
}
},
text = "Hello world"
}), Encoding.UTF8, "application/json");
var responseMessage = await rc.Post("/restapi/v1.0/account/~/extension/~/sms", httpContent);
Assert.Equal(HttpStatusCode.OK, responseMessage.StatusCode);
var responseString = await responseMessage.Content.ReadAsStringAsync();
Assert.Contains("SMS", responseString);
Assert.Contains("Outbound", responseString);
Assert.Contains("readStatus", responseString);
}
}