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, {})