Skip to content

Commit cf2eaf6

Browse files
committed
smoke and unit tests for api
1 parent 5f9e3a0 commit cf2eaf6

File tree

3 files changed

+137
-127
lines changed

3 files changed

+137
-127
lines changed

spec/smoke/multi_channel_api_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Unit tests for Bandwidth::MultiChannelApi
1+
# Integration tests for Bandwidth::MultiChannelApi
22
describe 'MultiChannelApi' do
33
before(:all) do
44
Bandwidth.configure do |config|
Lines changed: 65 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,86 @@
1-
# Integration Tests for Bandwidth::PhoneNumberLookupApi
2-
describe 'PhoneNumberLookupApi Integration Tests' do
1+
# Integration tests for Bandwidth::PhoneNumberLookupApi
2+
describe 'PhoneNumberLookupApi' do
3+
let(:phone_numbers) { [BW_NUMBER, USER_NUMBER] }
4+
35
before(:all) do
46
Bandwidth.configure do |config|
57
config.username = BW_USERNAME
68
config.password = BW_PASSWORD
79
end
8-
@api_instance_tnlookup = Bandwidth::PhoneNumberLookupApi.new
9-
10-
# lookup info
11-
$lookup_request_id = ''
10+
@api_instance = Bandwidth::PhoneNumberLookupApi.new
11+
end
12+
describe 'test an instance of PhoneNumberLookupApi' do
13+
it 'should create an instance of PhoneNumberLookupApi' do
14+
expect(@api_instance).to be_instance_of(Bandwidth::PhoneNumberLookupApi)
15+
end
1216
end
1317

14-
# Create Lookup
15-
describe 'create_lookup' do
16-
it 'creates a tn lookup request' do
17-
tn_body = Bandwidth::LookupRequest.new(
18-
tns: [BW_NUMBER]
18+
# Create Asynchronous Bulk Number Lookup
19+
describe 'create_get_async_bulk_lookup test' do
20+
it 'should work' do
21+
request = Bandwidth::AsyncLookupRequest.new(
22+
phone_numbers: phone_numbers,
1923
)
20-
data, status_code = @api_instance_tnlookup.create_lookup_with_http_info(BW_ACCOUNT_ID, tn_body)
2124

22-
expect(status_code).to eq(202)
23-
expect(data).to be_instance_of(Bandwidth::CreateLookupResponse)
24-
expect(data.request_id.length).to eq(36)
25-
expect(data.status).to be_instance_of(String)
25+
create_data, create_status_code = @api_instance.create_async_bulk_lookup_with_http_info(BW_ACCOUNT_ID, request)
2626

27-
$lookup_request_id = data.request_id
28-
sleep(1)
29-
end
30-
end
27+
expect(create_status_code).to eq(202)
28+
expect(create_data).to be_instance_of(Bandwidth::CreateAsyncBulkLookupResponse)
29+
expect(create_data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
30+
expect(create_data.links[0].rel).to be_instance_of(String)
31+
expect(create_data.links[0].href).to be_instance_of(String)
32+
expect(create_data.links[0].method).to be_instance_of(String)
33+
expect(create_data.data).to be_instance_of(Bandwidth::CreateAsyncBulkLookupResponseData)
34+
expect(create_data.data.request_id).to be_instance_of(String)
35+
expect(create_data.data.status).to be_one_of(Bandwidth::InProgressLookupStatusEnum.all_vars)
36+
expect(create_data.errors).to be_instance_of(Array)
3137

32-
# Get Lookup Status
33-
describe 'get_lookup_status' do
34-
it 'gets lookup status' do
35-
data, status_code = @api_instance_tnlookup.get_lookup_status_with_http_info(BW_ACCOUNT_ID, $lookup_request_id)
38+
request_id = create_data.data.request_id
39+
sleep(10)
3640

37-
expect(status_code).to eq(200)
38-
expect(data).to be_instance_of(Bandwidth::LookupStatus)
39-
expect(data.request_id).to eq($lookup_request_id)
40-
expect(data.status).to be_instance_of(String)
41-
expect(data.result).to be_instance_of(Array)
42-
expect(data.result[0].response_code).to be_instance_of(Integer)
43-
expect(data.result[0].e_164_format).to eq(BW_NUMBER)
41+
get_data, get_status_code = @api_instance.get_async_bulk_lookup_with_http_info(BW_ACCOUNT_ID, request_id)
42+
expect(get_status_code).to equal_to(200)
43+
expect(get_data).to be_instance_of(Bandwidth::GetAsyncBulkLookupResponse)
44+
expect(get_data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
45+
expect(get_data.links[0].rel).to be_instance_of(String)
46+
expect(get_data.links[0].href).to be_instance_of(String)
47+
expect(get_data.links[0].method).to be_instance_of(String)
48+
expect(get_data.data.request_id).to eq(request_id)
49+
expect(get_data.data.status).to eq(Bandwidth::InProgressLookupStatusEnum::COMPLETE)
50+
expect(get_data.data.results).to be_instance_of(Array)
51+
expect(get_data.data.results[0]).to be_instance_of(Bandwidth::LookupResult)
52+
expect(get_data.data.results[0].phone_number).to be_instance_of(String)
53+
expect(get_data.data.results[0].line_type).to be_one_of(Bandwidth::LineTypeEnum.all_vars)
54+
expect(get_data.data.results[0].messaging_provider).to be_instance_of(String)
55+
expect(get_data.data.results[0].voice_provider).to be_instance_of(String)
56+
expect(get_data.data.results[0].country_code_a3).to be_instance_of(String)
4457
end
4558
end
4659

47-
# HTTP 4XX Errors
48-
describe 'http error' do
49-
it 'causes a 400 error' do
50-
tn_body_bad = Bandwidth::LookupRequest.new(
51-
tns: ['+1invalid']
60+
# Create Synchronous Number Lookup
61+
describe 'create_sync_lookup test' do
62+
it 'should work' do
63+
request = Bandwidth::SyncLookupRequest.new(
64+
phone_numbers: phone_numbers,
5265
)
5366

54-
expect {
55-
@api_instance_tnlookup.create_lookup_with_http_info(BW_ACCOUNT_ID, tn_body_bad)
56-
}.to raise_error { |e|
57-
expect(e).to be_instance_of(Bandwidth::ApiError)
58-
expect(e.code).to eq(400)
59-
}
60-
end
61-
62-
it 'causes a 404 error' do
63-
req_id_dne = '12345678-abcd-cdef-9876-12345678abcd'
64-
65-
expect {
66-
@api_instance_tnlookup.get_lookup_status_with_http_info(BW_ACCOUNT_ID, req_id_dne)
67-
}.to raise_error { |e|
68-
expect(e).to be_instance_of(Bandwidth::ApiError)
69-
expect(e.code).to eq(404)
70-
}
71-
end
72-
73-
it 'causes a 401 error' do
74-
Bandwidth.configure do |config|
75-
config.username = UNAUTHORIZED_USERNAME
76-
config.password = UNAUTHORIZED_PASSWORD
77-
end
78-
79-
tn_body = Bandwidth::LookupRequest.new(
80-
tns: [BW_NUMBER]
81-
)
67+
data, status_code = @api_instance.create_sync_lookup_with_http_info(BW_ACCOUNT_ID, request)
8268

83-
expect {
84-
@api_instance_tnlookup.create_lookup_with_http_info(BW_ACCOUNT_ID, tn_body)
85-
}.to raise_error { |e|
86-
expect(e).to be_instance_of(Bandwidth::ApiError)
87-
expect(e.code).to eq(401)
88-
}
69+
expect(status_code).to equal_to(200)
70+
expect(data).to be_instance_of(Bandwidth::CreateSyncLookupResponse)
71+
expect(data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
72+
expect(data.links[0].rel).to be_instance_of(String)
73+
expect(data.links[0].href).to be_instance_of(String)
74+
expect(data.links[0].method).to be_instance_of(String)
75+
expect(data.data.request_id).to be_instance_of(String)
76+
expect(data.data.status).to eq(Bandwidth::CompletedLookupStatusEnum::COMPLETE)
77+
expect(data.data.results).to be_instance_of(Array)
78+
expect(data.data.results[0]).to be_instance_of(Bandwidth::LookupResult)
79+
expect(data.data.results[0].phone_number).to be_instance_of(String)
80+
expect(data.data.results[0].line_type).to be_one_of(Bandwidth::LineTypeEnum.all_vars)
81+
expect(data.data.results[0].messaging_provider).to be_instance_of(String)
82+
expect(data.data.results[0].voice_provider).to be_instance_of(String)
83+
expect(data.data.results[0].country_code_a3).to be_instance_of(String)
8984
end
9085
end
9186
end
Lines changed: 71 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Unit tests for Bandwidth::PhoneNumberLookupApi
22
describe 'PhoneNumberLookupApi' do
3-
let(:request_id) { '21e6d818-eaa9-4ca9-b1d8-d6085f5c79d4' }
3+
let(:phone_numbers) { [BW_NUMBER, USER_NUMBER] }
4+
let(:request_id) { '123e4567-e89b-12d3-a456-426614174000' }
45

56
before(:all) do
67
Bandwidth.configure do |config|
@@ -10,77 +11,91 @@
1011
config.ignore_operation_servers = true
1112
config.host = '127.0.0.1:4010'
1213
end
13-
@phone_number_lookup_api_instance = Bandwidth::PhoneNumberLookupApi.new
14+
@api_instance = Bandwidth::PhoneNumberLookupApi.new
1415
end
15-
1616
describe 'test an instance of PhoneNumberLookupApi' do
1717
it 'should create an instance of PhoneNumberLookupApi' do
18-
expect(@phone_number_lookup_api_instance).to be_instance_of(Bandwidth::PhoneNumberLookupApi)
18+
expect(@api_instance).to be_instance_of(Bandwidth::PhoneNumberLookupApi)
1919
end
2020
end
2121

22-
# Create Lookup
23-
describe 'create_lookup' do
24-
it 'creates a tn lookup request' do
25-
tn_body = Bandwidth::LookupRequest.new(
26-
tns: [BW_NUMBER]
22+
# Create Asynchronous Bulk Number Lookup
23+
describe 'create_async_bulk_lookup test' do
24+
it 'should work' do
25+
request = Bandwidth::AsyncLookupRequest.new(
26+
phone_numbers: phone_numbers,
2727
)
28-
data, status_code = @phone_number_lookup_api_instance.create_lookup_with_http_info(BW_ACCOUNT_ID, tn_body)
2928

30-
expect(status_code).to eq(202)
31-
expect(data).to be_instance_of(Bandwidth::CreateLookupResponse)
32-
expect(data.request_id.length).to eq(36)
33-
expect(data.status).to be_one_of(Bandwidth::LookupStatusEnum.all_vars)
34-
end
35-
36-
it 'causes an ArgumentError for a missing account_id' do
37-
expect {
38-
@phone_number_lookup_api_instance.create_lookup(nil, {})
39-
}.to raise_error(ArgumentError)
40-
end
29+
data, status_code = @api_instance.create_async_bulk_lookup_with_http_info(BW_ACCOUNT_ID, request)
4130

42-
it 'causes an ArgumentError for a missing lookup_request' do
43-
expect {
44-
@phone_number_lookup_api_instance.create_lookup(BW_ACCOUNT_ID, nil)
45-
}.to raise_error(ArgumentError)
31+
expect(status_code).to eq(202)
32+
expect(data).to be_instance_of(Bandwidth::CreateAsyncBulkLookupResponse)
33+
expect(data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
34+
expect(data.links[0].rel).to be_instance_of(String)
35+
expect(data.links[0].href).to be_instance_of(String)
36+
expect(data.links[0].method).to be_instance_of(String)
37+
expect(data.data).to be_instance_of(Bandwidth::CreateAsyncBulkLookupResponseData)
38+
expect(data.data.request_id).to be_instance_of(String)
39+
expect(data.data.status).to eq(Bandwidth::InProgressLookupStatusEnum::IN_PROGRESS)
40+
expect(data.errors).to be_instance_of(Array)
4641
end
4742
end
4843

49-
# Get Lookup Status
50-
describe 'get_lookup_status' do
51-
it 'gets lookup status' do
52-
data, status_code = @phone_number_lookup_api_instance.get_lookup_status_with_http_info(
53-
BW_ACCOUNT_ID, request_id, { header_params: { 'Prefer' => 'example=lookupMultipleNumbersPartialCompleteExample' } })
44+
# Create Synchronous Number Lookup
45+
describe 'create_sync_lookup test' do
46+
it 'should work' do
47+
request = Bandwidth::SyncLookupRequest.new(
48+
phone_numbers: phone_numbers,
49+
)
5450

55-
expect(status_code).to eq(200)
56-
expect(data).to be_instance_of(Bandwidth::LookupStatus)
57-
expect(data.request_id.length).to eq(36)
58-
expect(data.status).to be_one_of(Bandwidth::LookupStatusEnum.all_vars)
59-
expect(data.result).to be_instance_of(Array)
60-
expect(data.result[0]).to be_instance_of(Bandwidth::LookupResult)
61-
expect(data.result[0].response_code).to be_instance_of(Integer)
62-
expect(data.result[0].message).to be_instance_of(String)
63-
expect(data.result[0].e_164_format.length).to eq(12)
64-
expect(data.result[0].formatted.length).to eq(14)
65-
expect(data.result[0].country).to be_instance_of(String)
66-
expect(data.result[0].line_type).to be_instance_of(String)
67-
expect(data.result[0].line_provider).to be_instance_of(String)
68-
expect(data.result[0].mobile_country_code).to be_instance_of(String)
69-
expect(data.result[0].mobile_network_code).to be_instance_of(String)
70-
expect(data.failed_telephone_numbers).to be_instance_of(Array)
71-
expect(data.failed_telephone_numbers[0]).to be_instance_of(String)
72-
end
51+
data, status_code = @api_instance.create_sync_lookup_with_http_info(BW_ACCOUNT_ID, request)
7352

74-
it 'causes an ArgumentError for a missing account_id' do
75-
expect {
76-
@phone_number_lookup_api_instance.get_lookup_status(nil, '')
77-
}.to raise_error(ArgumentError)
53+
expect(status_code).to equal_to(200)
54+
expect(data).to be_instance_of(Bandwidth::CreateSyncLookupResponse)
55+
expect(data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
56+
expect(data.links[0].rel).to be_instance_of(String)
57+
expect(data.links[0].href).to be_instance_of(String)
58+
expect(data.links[0].method).to be_instance_of(String)
59+
expect(data.data.request_id).to be_instance_of(String)
60+
expect(data.data.status).to eq(Bandwidth::CompletedLookupStatusEnum::COMPLETE)
61+
expect(data.data.results).to be_instance_of(Array)
62+
expect(data.data.results[0]).to be_instance_of(Bandwidth::LookupResult)
63+
expect(data.data.results[0].phone_number).to be_instance_of(String)
64+
expect(data.data.results[0].line_type).to eq(Bandwidth::LineTypeEnum::MOBILE)
65+
expect(data.data.results[0].messaging_provider).to be_instance_of(String)
66+
expect(data.data.results[0].voice_provider).to be_instance_of(String)
67+
expect(data.data.results[0].country_code_a3).to be_instance_of(String)
68+
expect(data.data.results[0].latest_message_delivery_status).to eq(Bandwidth::LatestMessageDeliveryStatusEnum::ACTIVE)
69+
expect(data.data.results[0].initial_message_delivery_status_date).to be_instance_of(Date)
70+
expect(data.data.results[0].latest_message_delivery_status_date).to be_instance_of(Date)
71+
expect(data.errors).to be_instance_of(Array)
7872
end
73+
end
74+
75+
# Get Asynchronous Bulk Number Lookup
76+
describe 'get_async_bulk_lookup test' do
77+
it 'should work' do
78+
data, status_code = @api_instance.get_async_bulk_lookup_with_http_info(BW_ACCOUNT_ID, request_id)
7979

80-
it 'causes an ArgumentError for a missing request_id' do
81-
expect {
82-
@phone_number_lookup_api_instance.get_lookup_status(BW_ACCOUNT_ID, nil)
83-
}.to raise_error(ArgumentError)
80+
expect(status_code).to equal_to(200)
81+
expect(data).to be_instance_of(Bandwidth::GetAsyncBulkLookupResponse)
82+
expect(data.links[0]).to be_instance_of(Bandwidth::LinkSchema)
83+
expect(data.links[0].rel).to be_instance_of(String)
84+
expect(data.links[0].href).to be_instance_of(String)
85+
expect(data.links[0].method).to be_instance_of(String)
86+
expect(data.data.request_id).to be_instance_of(String)
87+
expect(data.data.status).to eq(Bandwidth::InProgressLookupStatusEnum::COMPLETE)
88+
expect(data.data.results).to be_instance_of(Array)
89+
expect(data.data.results[0]).to be_instance_of(Bandwidth::LookupResult)
90+
expect(data.data.results[0].phone_number).to be_instance_of(String)
91+
expect(data.data.results[0].line_type).to eq(Bandwidth::LineTypeEnum::MOBILE)
92+
expect(data.data.results[0].messaging_provider).to be_instance_of(String)
93+
expect(data.data.results[0].voice_provider).to be_instance_of(String)
94+
expect(data.data.results[0].country_code_a3).to be_instance_of(String)
95+
expect(data.data.results[0].latest_message_delivery_status).to eq(Bandwidth::LatestMessageDeliveryStatusEnum::ACTIVE)
96+
expect(data.data.results[0].initial_message_delivery_status_date).to be_instance_of(Date)
97+
expect(data.data.results[0].latest_message_delivery_status_date).to be_instance_of(Date)
98+
expect(data.errors).to be_instance_of(Array)
8499
end
85100
end
86101
end

0 commit comments

Comments
 (0)