spec/unit/api/mfa_api_spec.rb in bandwidth-sdk-12.1.0 vs spec/unit/api/mfa_api_spec.rb in bandwidth-sdk-13.0.0
- old
+ new
@@ -1,24 +1,17 @@
# Unit tests for Bandwidth::MFAApi
describe 'MFAApi' do
- # mfa info
let(:message) { 'Your temporary {NAME} {SCOPE} code is: {CODE}' }
- let(:message_id) { '1687965513364hx26ky4mpkll3m5a' }
- let(:call_id) { 'c-28bba681-cffc7d67-904e-42c8-85c5-b5589ea583b4' }
let(:digits) { 6 }
- # stubs
- let(:generate_messaging_code_body_stub) { "{\"messageId\": \"#{message_id}\"}" }
- let(:generate_messaging_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{generate_messaging_code_body_stub.length}" } }
- let(:generate_voice_code_body_stub) { "{\"callId\": \"#{call_id}\"}" }
- let(:generate_voice_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{generate_voice_code_body_stub.length}" } }
- let(:verify_code_body_stub) { '{"valid": false}' }
- let(:verify_code_headers_stub) { { 'content-type' => 'application/json', 'content-length' => "#{verify_code_body_stub.length}" } }
-
before(:all) do
Bandwidth.configure do |config|
config.debugging = true
+ config.username = BW_USERNAME
+ config.password = BW_PASSWORD
+ config.ignore_operation_servers = true
+ config.host = '127.0.0.1:4010'
end
@mfa_api_instance = Bandwidth::MFAApi.new
end
describe 'test an instance of MFAApi' do
@@ -28,13 +21,10 @@
end
# Messaging Authentication Code
describe 'generate_messaging_code' do
it 'generates messaging mfa code' do
- stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/messaging").
- to_return(status: 200, headers: generate_messaging_code_headers_stub, body: generate_messaging_code_body_stub)
-
req_schema = Bandwidth::CodeRequest.new(
to: USER_NUMBER,
from: BW_NUMBER,
application_id: BW_MESSAGING_APPLICATION_ID,
message: message,
@@ -43,11 +33,11 @@
data, status_code = @mfa_api_instance.generate_messaging_code_with_http_info(BW_ACCOUNT_ID, req_schema)
expect(status_code).to eq(200)
expect(data).to be_instance_of(Bandwidth::MessagingCodeResponse)
- expect(data.message_id).to eq(message_id)
+ expect(data.message_id.length).to eq(29)
end
it 'causes an ArgumentError for a missing account_id' do
expect {
@mfa_api_instance.generate_messaging_code(nil, {})
@@ -62,13 +52,10 @@
end
# Voice Authentication Code
describe 'generate_voice_code' do
it 'generates voice mfa code' do
- stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/voice").
- to_return(status: 200, headers: generate_voice_code_headers_stub, body: generate_voice_code_body_stub)
-
req_schema = Bandwidth::CodeRequest.new(
to: USER_NUMBER,
from: BW_NUMBER,
application_id: BW_VOICE_APPLICATION_ID,
message: message,
@@ -77,11 +64,11 @@
data, status_code = @mfa_api_instance.generate_voice_code_with_http_info(BW_ACCOUNT_ID, req_schema)
expect(status_code).to eq(200)
expect(data).to be_instance_of(Bandwidth::VoiceCodeResponse)
- expect(data.call_id).to eq(call_id)
+ expect(data.call_id.length).to eq(47)
end
it 'causes an ArgumentError for a missing account_id' do
expect {
@mfa_api_instance.generate_voice_code(nil, {})
@@ -96,24 +83,21 @@
end
# Verify Authentication Code
describe 'verify_code' do
it 'verifies mfa code' do
- stub_request(:post, "https://mfa.bandwidth.com/api/v1/accounts/#{BW_ACCOUNT_ID}/code/verify").
- to_return(status: 200, headers: verify_code_headers_stub, body: verify_code_body_stub)
-
req_schema = Bandwidth::VerifyCodeRequest.new(
- to: '+1000' + rand(1...10000000).to_s,
+ to: USER_NUMBER,
scope: '2FA',
expiration_time_in_minutes: 3,
code: '12345'
)
data, status_code = @mfa_api_instance.verify_code_with_http_info(BW_ACCOUNT_ID, req_schema)
expect(status_code).to eq(200)
expect(data).to be_instance_of(Bandwidth::VerifyCodeResponse)
- expect(data.valid).to be false
+ expect(data.valid).to be_one_of([true, false])
end
it 'causes an ArgumentError for a missing account_id' do
expect {
@mfa_api_instance.verify_code(nil, {})