Skip to content

Commit ac4d510

Browse files
committed
api smoke test
1 parent 427f226 commit ac4d510

File tree

1 file changed

+124
-23
lines changed

1 file changed

+124
-23
lines changed

spec/smoke/multi_channel_api_spec.rb

Lines changed: 124 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,130 @@
1010
@expiration_time = (Time.now + 60).round.to_datetime.rfc3339
1111
end
1212

13-
# Create Multi-Channel Message
14-
describe 'create_multi_channel_message' do
15-
it 'creates a multi channel message' do
16-
message_body = Bandwidth::MultiChannelChannelListObject.new(
17-
from: BW_NUMBER,
18-
application_id: BW_MESSAGING_APPLICATION_ID,
19-
channel: Bandwidth::MultiChannelMessageChannelEnum::RBM,
20-
content: Bandwidth::RbmMessageContentText.new(
21-
text: 'Hello, this is a test message.',
13+
# Create Multi-Channel SMS Message
14+
describe 'create_multi_channel_sms_message' do
15+
it 'creates a multi channel sms message' do
16+
message_body = Bandwidth::MultiChannelChannelListSMSObject.new(
17+
from: BW_NUMBER,
18+
application_id: BW_MESSAGING_APPLICATION_ID,
19+
channel: Bandwidth::MultiChannelMessageChannelEnum::SMS,
20+
content: Bandwidth::SmsMessageContent.new(
21+
text: 'Hello, this is a test message.',
22+
)
2223
)
23-
)
24-
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new(
25-
to: USER_NUMBER,
26-
channel_list: [message_body],
27-
tag: 'tag',
28-
priority: 'high',
29-
expiration: @expiration_time,
30-
)
31-
32-
data, status_code = @multi_channel_api_instance.create_multi_channel_message_with_http_info(BW_ACCOUNT_ID, multi_channel_message_request)
33-
34-
expect(status_code).to eq(202)
35-
expect(data).to be_instance_of(Bandwidth::CreateMultiChannelMessageResponse)
36-
end if false # skip while still in beta
24+
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new(
25+
to: USER_NUMBER,
26+
channel_list: [message_body],
27+
tag: 'tag',
28+
priority: 'high',
29+
expiration: @expiration_time,
30+
)
31+
32+
data, status_code = @multi_channel_api_instance.create_multi_channel_message_with_http_info(BW_ACCOUNT_ID, multi_channel_message_request)
33+
34+
expect(status_code).to eq(202)
35+
p data.data
36+
expect(data).to be_instance_of(Bandwidth::CreateMultiChannelMessageResponse)
37+
expect(data.links).to be_instance_of(Array)
38+
expect(data.data).to be_instance_of(Bandwidth::MultiChannelMessageResponseData)
39+
expect(data.data.id).to be_instance_of(String)
40+
expect(data.data.time).to be_instance_of(Time)
41+
expect(data.data.direction).to be_one_of(Bandwidth::MessageDirectionEnum.all_vars)
42+
expect(data.data.to).to be_instance_of(Array)
43+
expect(data.data.tag).to be_instance_of(String)
44+
expect(data.data.priority).to be_one_of(Bandwidth::PriorityEnum.all_vars)
45+
expect(data.data.expiration).to be_instance_of(Time)
46+
expect(data.data.channel_list).to be_instance_of(Array)
47+
# add more assertions once SDK supports discriminators
48+
end
49+
end
50+
51+
# Create Multi-Channel MMS Message
52+
describe 'create_multi_channel_mms_message' do
53+
it 'creates a multi channel mms message' do
54+
message_body = Bandwidth::MultiChannelChannelListMMSObject.new(
55+
from: BW_NUMBER,
56+
application_id: BW_MESSAGING_APPLICATION_ID,
57+
channel: Bandwidth::MultiChannelMessageChannelEnum::MMS,
58+
content: Bandwidth::MmsMessageContent.new(
59+
media: [
60+
Bandwidth::MmsMessageContentFile.new(
61+
file_url: 'https://example.com/image.jpg'
62+
)
63+
],
64+
text: 'Hello, this is a test message.',
65+
)
66+
)
67+
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new(
68+
to: USER_NUMBER,
69+
channel_list: [message_body],
70+
tag: 'tag',
71+
priority: 'high',
72+
expiration: @expiration_time,
73+
)
74+
75+
data, status_code = @multi_channel_api_instance.create_multi_channel_message_with_http_info(BW_ACCOUNT_ID, multi_channel_message_request)
76+
77+
expect(status_code).to eq(202)
78+
p data.data
79+
expect(data).to be_instance_of(Bandwidth::CreateMultiChannelMessageResponse)
80+
expect(data.links).to be_instance_of(Array)
81+
expect(data.data).to be_instance_of(Bandwidth::MultiChannelMessageResponseData)
82+
expect(data.data.id).to be_instance_of(String)
83+
expect(data.data.time).to be_instance_of(Time)
84+
expect(data.data.direction).to be_one_of(Bandwidth::MessageDirectionEnum.all_vars)
85+
expect(data.data.to).to be_instance_of(Array)
86+
expect(data.data.tag).to be_instance_of(String)
87+
expect(data.data.priority).to be_one_of(Bandwidth::PriorityEnum.all_vars)
88+
expect(data.data.expiration).to be_instance_of(Time)
89+
expect(data.data.channel_list).to be_instance_of(Array)
90+
# add more assertions once SDK supports discriminators
91+
end
92+
end
93+
94+
# Create Multi-Channel RBM Message
95+
describe 'create_multi_channel_rbm_message' do
96+
it 'creates a multi channel rbm message' do
97+
message_body = Bandwidth::MultiChannelChannelListRBMObject.new(
98+
from: BW_NUMBER,
99+
application_id: BW_MESSAGING_APPLICATION_ID,
100+
channel: Bandwidth::MultiChannelMessageChannelEnum::RBM,
101+
content: Bandwidth::RbmMessageContentText.new(
102+
text: 'Hello, this is a test message.',
103+
suggestions: [
104+
Bandwidth::RbmActionDial.new(
105+
type: Bandwidth::RbmActionTypeEnum::DIAL_PHONE,
106+
text: 'Call Us',
107+
postback_data: 'abcdefg12345678',
108+
phone_number: BW_NUMBER
109+
)
110+
]
111+
)
112+
)
113+
multi_channel_message_request = Bandwidth::MultiChannelMessageRequest.new(
114+
to: USER_NUMBER,
115+
channel_list: [message_body],
116+
tag: 'tag',
117+
priority: 'high',
118+
expiration: @expiration_time,
119+
)
120+
121+
data, status_code = @multi_channel_api_instance.create_multi_channel_message_with_http_info(BW_ACCOUNT_ID, multi_channel_message_request)
122+
123+
expect(status_code).to eq(202)
124+
p data.data
125+
expect(data).to be_instance_of(Bandwidth::CreateMultiChannelMessageResponse)
126+
expect(data.links).to be_instance_of(Array)
127+
expect(data.data).to be_instance_of(Bandwidth::MultiChannelMessageResponseData)
128+
expect(data.data.id).to be_instance_of(String)
129+
expect(data.data.time).to be_instance_of(Time)
130+
expect(data.data.direction).to be_one_of(Bandwidth::MessageDirectionEnum.all_vars)
131+
expect(data.data.to).to be_instance_of(Array)
132+
expect(data.data.tag).to be_instance_of(String)
133+
expect(data.data.priority).to be_one_of(Bandwidth::PriorityEnum.all_vars)
134+
expect(data.data.expiration).to be_instance_of(Time)
135+
expect(data.data.channel_list).to be_instance_of(Array)
136+
# add more assertions once SDK supports discriminators
137+
end
37138
end
38139
end

0 commit comments

Comments
 (0)