bandwidth-sdk 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bandwidth/api_helper.rb +19 -17
  3. data/lib/bandwidth/configuration.rb +7 -19
  4. data/lib/bandwidth/http/faraday_client.rb +1 -1
  5. data/lib/bandwidth/messaging_lib/messaging/controllers/api_controller.rb +53 -42
  6. data/lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb +3 -5
  7. data/lib/bandwidth/messaging_lib/messaging/exceptions/messaging_exception.rb +5 -2
  8. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_callback_message.rb +31 -11
  9. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message.rb +54 -25
  10. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_message_item.rb +65 -32
  11. data/lib/bandwidth/messaging_lib/messaging/models/bandwidth_messages_list.rb +23 -4
  12. data/lib/bandwidth/messaging_lib/messaging/models/deferred_result.rb +20 -4
  13. data/lib/bandwidth/messaging_lib/messaging/models/media.rb +23 -6
  14. data/lib/bandwidth/messaging_lib/messaging/models/message_request.rb +32 -14
  15. data/lib/bandwidth/messaging_lib/messaging/models/page_info.rb +28 -8
  16. data/lib/bandwidth/messaging_lib/messaging/models/tag.rb +20 -4
  17. data/lib/bandwidth/models/base_model.rb +11 -0
  18. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/base_controller.rb +3 -5
  19. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/controllers/mfa_controller.rb +21 -16
  20. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/error_with_request_exception.rb +5 -2
  21. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/forbidden_request_exception.rb +4 -1
  22. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/exceptions/unauthorized_request_exception.rb +4 -1
  23. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_code_request_schema.rb +27 -12
  24. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_messaging_response.rb +17 -2
  25. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_code_response.rb +17 -2
  26. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_verify_request_schema.rb +29 -10
  27. data/lib/bandwidth/multi_factor_auth_lib/multi_factor_auth/models/two_factor_voice_response.rb +17 -2
  28. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/api_controller.rb +212 -210
  29. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/controllers/base_controller.rb +3 -5
  30. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/exceptions/accounts_tnlookup400_error_exception.rb +4 -1
  31. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_request.rb +17 -2
  32. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_response.rb +20 -4
  33. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/order_status.rb +28 -7
  34. data/lib/bandwidth/phone_number_lookup_lib/phone_number_lookup/models/result.rb +43 -18
  35. data/lib/bandwidth/utilities/date_time_helper.rb +2 -2
  36. data/lib/bandwidth/utilities/file_wrapper.rb +1 -2
  37. data/lib/bandwidth/voice_lib/voice/controllers/api_controller.rb +171 -150
  38. data/lib/bandwidth/voice_lib/voice/controllers/base_controller.rb +3 -5
  39. data/lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb +6 -3
  40. data/lib/bandwidth/voice_lib/voice/models/call_callback.rb +343 -0
  41. data/lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb +78 -37
  42. data/lib/bandwidth/voice_lib/voice/models/call_state.rb +94 -42
  43. data/lib/bandwidth/voice_lib/voice/models/conference_callback.rb +211 -0
  44. data/lib/bandwidth/voice_lib/voice/models/conference_member_state.rb +35 -12
  45. data/lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb +55 -24
  46. data/lib/bandwidth/voice_lib/voice/models/conference_state.rb +54 -17
  47. data/lib/bandwidth/voice_lib/voice/models/create_call_request.rb +173 -96
  48. data/lib/bandwidth/voice_lib/voice/models/create_call_response.rb +85 -41
  49. data/lib/bandwidth/voice_lib/voice/models/diversion.rb +80 -0
  50. data/lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb +17 -0
  51. data/lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb +218 -0
  52. data/lib/bandwidth/voice_lib/voice/models/mode_enum.rb +20 -0
  53. data/lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb +15 -2
  54. data/lib/bandwidth/voice_lib/voice/models/modify_call_request.rb +59 -19
  55. data/lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb +55 -18
  56. data/lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb +40 -12
  57. data/lib/bandwidth/voice_lib/voice/models/transcript.rb +20 -4
  58. data/lib/bandwidth/voice_lib/voice/models/transcription.rb +80 -0
  59. data/lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb +26 -8
  60. data/lib/bandwidth/voice_lib/voice/models/transcription_response.rb +18 -1
  61. data/lib/bandwidth/voice_lib/voice.rb +7 -1
  62. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/api_controller.rb +61 -50
  63. data/lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb +3 -5
  64. data/lib/bandwidth/web_rtc_lib/web_rtc/exceptions/error_exception.rb +5 -2
  65. data/lib/bandwidth/web_rtc_lib/web_rtc/models/accounts_participants_response.rb +20 -5
  66. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant.rb +37 -14
  67. data/lib/bandwidth/web_rtc_lib/web_rtc/models/participant_subscription.rb +15 -2
  68. data/lib/bandwidth/web_rtc_lib/web_rtc/models/session.rb +20 -4
  69. data/lib/bandwidth/web_rtc_lib/web_rtc/models/subscriptions.rb +20 -3
  70. data/lib/bandwidth.rb +19 -18
  71. data/test/integration/test_integration.rb +75 -53
  72. metadata +9 -2
@@ -6,6 +6,9 @@
6
6
  module Bandwidth
7
7
  # ParticipantSubscription Model.
8
8
  class ParticipantSubscription < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
9
12
  # Participant the subscriber should be subscribed to
10
13
  # @return [String]
11
14
  attr_accessor :participant_id
@@ -17,8 +20,18 @@ module Bandwidth
17
20
  @_hash
18
21
  end
19
22
 
23
+ # An array for optional fields
24
+ def optionals
25
+ []
26
+ end
27
+
28
+ # An array for nullable fields
29
+ def nullables
30
+ []
31
+ end
32
+
20
33
  def initialize(participant_id = nil)
21
- @participant_id = participant_id
34
+ @participant_id = participant_id unless participant_id == SKIP
22
35
  end
23
36
 
24
37
  # Creates an instance of the object from a hash.
@@ -26,7 +39,7 @@ module Bandwidth
26
39
  return nil unless hash
27
40
 
28
41
  # Extract variables from the hash.
29
- participant_id = hash['participantId']
42
+ participant_id = hash.key?('participantId') ? hash['participantId'] : SKIP
30
43
 
31
44
  # Create object from extracted values.
32
45
  ParticipantSubscription.new(participant_id)
@@ -6,6 +6,9 @@
6
6
  module Bandwidth
7
7
  # A session object
8
8
  class Session < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
9
12
  # Unique id of the session
10
13
  # @return [String]
11
14
  attr_accessor :id
@@ -22,10 +25,23 @@ module Bandwidth
22
25
  @_hash
23
26
  end
24
27
 
28
+ # An array for optional fields
29
+ def optionals
30
+ %w[
31
+ id
32
+ tag
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def nullables
38
+ []
39
+ end
40
+
25
41
  def initialize(id = nil,
26
42
  tag = nil)
27
- @id = id
28
- @tag = tag
43
+ @id = id unless id == SKIP
44
+ @tag = tag unless tag == SKIP
29
45
  end
30
46
 
31
47
  # Creates an instance of the object from a hash.
@@ -33,8 +49,8 @@ module Bandwidth
33
49
  return nil unless hash
34
50
 
35
51
  # Extract variables from the hash.
36
- id = hash['id']
37
- tag = hash['tag']
52
+ id = hash.key?('id') ? hash['id'] : SKIP
53
+ tag = hash.key?('tag') ? hash['tag'] : SKIP
38
54
 
39
55
  # Create object from extracted values.
40
56
  Session.new(id,
@@ -6,6 +6,9 @@
6
6
  module Bandwidth
7
7
  # Subscriptions Model.
8
8
  class Subscriptions < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
9
12
  # Session the subscriptions are associated with
10
13
  # If this is the only field, the subscriber will be subscribed to all
11
14
  # participants in the session (including any participants that are later
@@ -25,10 +28,22 @@ module Bandwidth
25
28
  @_hash
26
29
  end
27
30
 
31
+ # An array for optional fields
32
+ def optionals
33
+ %w[
34
+ participants
35
+ ]
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def nullables
40
+ []
41
+ end
42
+
28
43
  def initialize(session_id = nil,
29
44
  participants = nil)
30
- @session_id = session_id
31
- @participants = participants
45
+ @session_id = session_id unless session_id == SKIP
46
+ @participants = participants unless participants == SKIP
32
47
  end
33
48
 
34
49
  # Creates an instance of the object from a hash.
@@ -36,7 +51,7 @@ module Bandwidth
36
51
  return nil unless hash
37
52
 
38
53
  # Extract variables from the hash.
39
- session_id = hash['sessionId']
54
+ session_id = hash.key?('sessionId') ? hash['sessionId'] : SKIP
40
55
  # Parameter is an array, so we need to iterate through it
41
56
  participants = nil
42
57
  unless hash['participants'].nil?
@@ -46,6 +61,8 @@ module Bandwidth
46
61
  end
47
62
  end
48
63
 
64
+ participants = SKIP unless hash.key?('participants')
65
+
49
66
  # Create object from extracted values.
50
67
  Subscriptions.new(session_id,
51
68
  participants)
data/lib/bandwidth.rb CHANGED
@@ -9,40 +9,41 @@ require 'faraday'
9
9
  require 'certifi'
10
10
  require 'logging'
11
11
 
12
- require_relative 'bandwidth/api_helper.rb'
13
- require_relative 'bandwidth/client.rb'
12
+ require_relative 'bandwidth/api_helper'
13
+ require_relative 'bandwidth/client'
14
14
 
15
15
  # Utilities
16
- require_relative 'bandwidth/utilities/file_wrapper.rb'
17
- require_relative 'bandwidth/utilities/date_time_helper.rb'
16
+ require_relative 'bandwidth/utilities/file_wrapper'
17
+ require_relative 'bandwidth/utilities/date_time_helper'
18
18
 
19
19
  # Http
20
- require_relative 'bandwidth/http/api_response.rb'
21
- require_relative 'bandwidth/http/http_call_back.rb'
22
- require_relative 'bandwidth/http/http_client.rb'
23
- require_relative 'bandwidth/http/faraday_client.rb'
24
- require_relative 'bandwidth/http/http_method_enum.rb'
25
- require_relative 'bandwidth/http/http_request.rb'
26
- require_relative 'bandwidth/http/http_response.rb'
20
+ require_relative 'bandwidth/http/api_response'
21
+ require_relative 'bandwidth/http/http_call_back'
22
+ require_relative 'bandwidth/http/http_client'
23
+ require_relative 'bandwidth/http/faraday_client'
24
+ require_relative 'bandwidth/http/http_method_enum'
25
+ require_relative 'bandwidth/http/http_request'
26
+ require_relative 'bandwidth/http/http_response'
27
27
 
28
28
  # Models
29
- require_relative 'bandwidth/models/base_model.rb'
29
+ require_relative 'bandwidth/models/base_model'
30
30
 
31
31
  # Exceptions
32
- require_relative 'bandwidth/exceptions/api_exception.rb'
32
+ require_relative 'bandwidth/exceptions/api_exception'
33
33
 
34
- require_relative 'bandwidth/configuration.rb'
34
+ require_relative 'bandwidth/configuration'
35
35
 
36
36
  # Namespaces
37
37
  require_relative 'bandwidth/messaging_lib/messaging'
38
- require_relative 'bandwidth/http/auth/messaging_basic_auth.rb'
38
+ require_relative 'bandwidth/http/auth/messaging_basic_auth'
39
39
  require_relative 'bandwidth/multi_factor_auth_lib/multi_factor_auth'
40
- require_relative 'bandwidth/http/auth/multi_factor_auth_basic_auth.rb'
40
+ require_relative 'bandwidth/http/auth/multi_factor_auth_basic_auth'
41
41
  require_relative 'bandwidth/phone_number_lookup_lib/phone_number_lookup'
42
- require_relative 'bandwidth/http/auth/phone_number_lookup_basic_auth.rb'
42
+ require_relative 'bandwidth/http/auth/phone_number_lookup_basic_auth'
43
43
  require_relative 'bandwidth/voice_lib/voice'
44
- require_relative 'bandwidth/http/auth/voice_basic_auth.rb'
44
+ require_relative 'bandwidth/http/auth/voice_basic_auth'
45
45
  require_relative 'bandwidth/web_rtc_lib/web_rtc'
46
+ require_relative 'bandwidth/http/auth/web_rtc_basic_auth'
46
47
  require_relative 'bandwidth/http/auth/web_rtc_basic_auth.rb'
47
48
 
48
49
  # External Files
@@ -12,17 +12,14 @@ include Bandwidth::MultiFactorAuth
12
12
  include Bandwidth::WebRtc
13
13
 
14
14
  begin
15
- USERNAME = ENV.fetch("USERNAME")
16
- PASSWORD = ENV.fetch("PASSWORD")
17
- ACCOUNT_ID = ENV.fetch("ACCOUNT_ID")
18
- VOICE_APPLICATION_ID = ENV.fetch("VOICE_APPLICATION_ID")
19
- MESSAGING_APPLICATION_ID = ENV.fetch("MESSAGING_APPLICATION_ID")
20
- CALLBACK_URL = ENV.fetch("CALLBACK_URL")
21
- PHONE_NUMBER_OUTBOUND = ENV.fetch("PHONE_NUMBER_OUTBOUND")
22
- PHONE_NUMBER_INBOUND = ENV.fetch("PHONE_NUMBER_INBOUND")
23
- MFA_MESSAGING_APPLICATION_ID = ENV.fetch("MFA_MESSAGING_APPLICATION_ID")
24
- MFA_VOICE_APPLICATION_ID = ENV.fetch("MFA_VOICE_APPLICATION_ID")
25
- PHONE_NUMBER_MFA = ENV.fetch("PHONE_NUMBER_MFA")
15
+ BW_USERNAME = ENV.fetch("BW_USERNAME")
16
+ BW_PASSWORD = ENV.fetch("BW_PASSWORD")
17
+ BW_ACCOUNT_ID = ENV.fetch("BW_ACCOUNT_ID")
18
+ BW_VOICE_APPLICATION_ID = ENV.fetch("BW_VOICE_APPLICATION_ID")
19
+ BW_MESSAGING_APPLICATION_ID = ENV.fetch("BW_MESSAGING_APPLICATION_ID")
20
+ BASE_CALLBACK_URL = ENV.fetch("BASE_CALLBACK_URL")
21
+ BW_NUMBER = ENV.fetch("BW_NUMBER")
22
+ USER_NUMBER = ENV.fetch("USER_NUMBER")
26
23
  rescue
27
24
  puts "Environmental variables not found"
28
25
  exit(-1)
@@ -31,35 +28,35 @@ end
31
28
  class IntegrationTest < Test::Unit::TestCase
32
29
  def setup
33
30
  @bandwidth_client = Bandwidth::Client.new(
34
- voice_basic_auth_user_name: USERNAME,
35
- voice_basic_auth_password: PASSWORD,
36
- messaging_basic_auth_user_name: USERNAME,
37
- messaging_basic_auth_password: PASSWORD,
38
- multi_factor_auth_basic_auth_user_name: USERNAME,
39
- multi_factor_auth_basic_auth_password: PASSWORD,
40
- phone_number_lookup_basic_auth_user_name: USERNAME,
41
- phone_number_lookup_basic_auth_password: PASSWORD
31
+ voice_basic_auth_user_name: BW_USERNAME,
32
+ voice_basic_auth_password: BW_PASSWORD,
33
+ messaging_basic_auth_user_name: BW_USERNAME,
34
+ messaging_basic_auth_password: BW_PASSWORD,
35
+ multi_factor_auth_basic_auth_user_name: BW_USERNAME,
36
+ multi_factor_auth_basic_auth_password: BW_PASSWORD,
37
+ phone_number_lookup_basic_auth_user_name: BW_USERNAME,
38
+ phone_number_lookup_basic_auth_password: BW_PASSWORD
42
39
  )
43
40
  end
44
41
 
45
42
  def test_create_message
46
43
  body = MessageRequest.new
47
- body.application_id = MESSAGING_APPLICATION_ID
48
- body.to = [PHONE_NUMBER_INBOUND]
49
- body.from = PHONE_NUMBER_OUTBOUND
44
+ body.application_id = BW_MESSAGING_APPLICATION_ID
45
+ body.to = [USER_NUMBER]
46
+ body.from = BW_NUMBER
50
47
  body.text = "Ruby Integration"
51
- response = @bandwidth_client.messaging_client.client.create_message(ACCOUNT_ID, body)
48
+ response = @bandwidth_client.messaging_client.client.create_message(BW_ACCOUNT_ID, body)
52
49
  assert(response.data.id.length > 0, "id value not set") #validate that _some_ id was returned
53
50
  end
54
51
 
55
52
  def test_create_message_invalid_phone_number
56
53
  body = MessageRequest.new
57
- body.application_id = MESSAGING_APPLICATION_ID
54
+ body.application_id = BW_MESSAGING_APPLICATION_ID
58
55
  body.to = ["+1invalid"]
59
- body.from = PHONE_NUMBER_OUTBOUND
56
+ body.from = BW_NUMBER
60
57
  body.text = "Ruby Integration"
61
58
  begin
62
- @bandwidth_client.messaging_client.client.create_message(ACCOUNT_ID, body)
59
+ @bandwidth_client.messaging_client.client.create_message(BW_ACCOUNT_ID, body)
63
60
  #workaround to make sure that if the above error is not raised, the build will fail
64
61
  assert(false, "Expected exception not raised")
65
62
  rescue MessagingException => e
@@ -73,37 +70,62 @@ class IntegrationTest < Test::Unit::TestCase
73
70
  media_file = '12345' #todo: check a binary string
74
71
 
75
72
  #media upload
76
- @bandwidth_client.messaging_client.client.upload_media(ACCOUNT_ID, media_file_name, media_file, :content_type => "application/octet-stream", :cache_control => "no-cache")
73
+ @bandwidth_client.messaging_client.client.upload_media(BW_ACCOUNT_ID, media_file_name, media_file, :content_type => "application/octet-stream", :cache_control => "no-cache")
77
74
 
78
75
  #media download
79
- downloaded_media_file = @bandwidth_client.messaging_client.client.get_media(ACCOUNT_ID, media_file_name).data
76
+ downloaded_media_file = @bandwidth_client.messaging_client.client.get_media(BW_ACCOUNT_ID, media_file_name).data
80
77
 
81
78
  assert_equal(downloaded_media_file, media_file, "Downloaded media file not equal to upload")
82
79
  end
83
80
 
84
81
  def test_create_call_and_get_call_state
85
82
  body = CreateCallRequest.new
86
- body.from = PHONE_NUMBER_OUTBOUND
87
- body.to = PHONE_NUMBER_INBOUND
88
- body.application_id = VOICE_APPLICATION_ID
89
- body.answer_url = CALLBACK_URL
90
- response = @bandwidth_client.voice_client.client.create_call(ACCOUNT_ID, body)
83
+ body.from = BW_NUMBER
84
+ body.to = USER_NUMBER
85
+ body.application_id = BW_VOICE_APPLICATION_ID
86
+ body.answer_url = BASE_CALLBACK_URL
87
+ response = @bandwidth_client.voice_client.client.create_call(BW_ACCOUNT_ID, body)
91
88
  assert(response.data.call_id.length > 0, "call_id value not set")
92
89
 
93
90
  #Get phone call information
94
- response = @bandwidth_client.voice_client.client.get_call(ACCOUNT_ID, response.data.call_id)
91
+ response = @bandwidth_client.voice_client.client.get_call(BW_ACCOUNT_ID, response.data.call_id)
92
+ assert(response.data.state.length > 0, "state value not set")
93
+ end
94
+
95
+ def test_create_call_with_amd_and_get_call_state
96
+ machine_detection = MachineDetectionConfiguration.new
97
+ machine_detection.mode = 'async'
98
+ machine_detection.detection_timeout = 5.0
99
+ machine_detection.silence_timeout = 5.0
100
+ machine_detection.speech_threshold = 5.0
101
+ machine_detection.speech_end_threshold = 5.0
102
+ machine_detection.delay_result = true
103
+ machine_detection.callback_url = BASE_CALLBACK_URL + '/machineDetection'
104
+ machine_detection.callback_method = 'POST'
105
+
106
+ body = CreateCallRequest.new
107
+ body.from = BW_NUMBER
108
+ body.to = USER_NUMBER
109
+ body.application_id = BW_VOICE_APPLICATION_ID
110
+ body.answer_url = BASE_CALLBACK_URL
111
+ body.machine_detection = machine_detection
112
+ response = @bandwidth_client.voice_client.client.create_call(BW_ACCOUNT_ID, body)
113
+ assert(response.data.call_id.length > 0, "call_id value not set")
114
+
115
+ #Get phone call information
116
+ response = @bandwidth_client.voice_client.client.get_call(BW_ACCOUNT_ID, response.data.call_id)
95
117
  assert(response.data.state.length > 0, "state value not set")
96
118
  end
97
119
 
98
120
  def test_create_call_invalid_phone_number
99
121
  body = CreateCallRequest.new
100
- body.from = PHONE_NUMBER_OUTBOUND
122
+ body.from = BW_NUMBER
101
123
  body.to = "+1invalid"
102
- body.application_id = VOICE_APPLICATION_ID
103
- body.answer_url = CALLBACK_URL
124
+ body.application_id = BW_VOICE_APPLICATION_ID
125
+ body.answer_url = BASE_CALLBACK_URL
104
126
 
105
127
  begin
106
- @bandwidth_client.voice_client.client.create_call(ACCOUNT_ID, :body => body)
128
+ @bandwidth_client.voice_client.client.create_call(BW_ACCOUNT_ID, :body => body)
107
129
  #workaround to make sure that if the above error is not raised, the build will fail
108
130
  assert(false, "Expected exception not raised")
109
131
  rescue ApiErrorException => e
@@ -467,38 +489,38 @@ class IntegrationTest < Test::Unit::TestCase
467
489
 
468
490
  def test_mfa_messaging
469
491
  body = TwoFactorCodeRequestSchema.new
470
- body.from = PHONE_NUMBER_MFA
471
- body.to = PHONE_NUMBER_INBOUND
472
- body.application_id = MFA_MESSAGING_APPLICATION_ID
492
+ body.from = BW_NUMBER
493
+ body.to = USER_NUMBER
494
+ body.application_id = BW_MESSAGING_APPLICATION_ID
473
495
  body.scope = "scope"
474
496
  body.digits = 6
475
497
  body.message = "Your temporary {NAME} {SCOPE} code is {CODE}"
476
498
 
477
- response = @bandwidth_client.multi_factor_auth_client.mfa.create_messaging_two_factor(ACCOUNT_ID, body)
499
+ response = @bandwidth_client.multi_factor_auth_client.mfa.create_messaging_two_factor(BW_ACCOUNT_ID, body)
478
500
  assert(response.data.message_id.length > 0, "message id value not set")
479
501
  end
480
502
 
481
503
  def test_mfa_voice
482
504
  body = TwoFactorCodeRequestSchema.new
483
- body.from = PHONE_NUMBER_MFA
484
- body.to = PHONE_NUMBER_INBOUND
485
- body.application_id = MFA_VOICE_APPLICATION_ID
505
+ body.from = BW_NUMBER
506
+ body.to = USER_NUMBER
507
+ body.application_id = BW_VOICE_APPLICATION_ID
486
508
  body.scope = "scope"
487
509
  body.digits = 6
488
510
  body.message = "Your temporary {NAME} {SCOPE} code is {CODE}"
489
511
 
490
- response = @bandwidth_client.multi_factor_auth_client.mfa.create_voice_two_factor(ACCOUNT_ID, body)
512
+ response = @bandwidth_client.multi_factor_auth_client.mfa.create_voice_two_factor(BW_ACCOUNT_ID, body)
491
513
  assert(response.data.call_id.length > 0, "call id value not set")
492
514
  end
493
515
 
494
516
  def test_mfa_verify
495
517
  body = TwoFactorVerifyRequestSchema.new
496
- body.to = PHONE_NUMBER_INBOUND
497
- body.application_id = MFA_VOICE_APPLICATION_ID
518
+ body.to = USER_NUMBER
519
+ body.application_id = BW_VOICE_APPLICATION_ID
498
520
  body.scope = "scope"
499
521
  body.code = "123456"
500
522
  body.expiration_time_in_minutes = 3
501
- response = @bandwidth_client.multi_factor_auth_client.mfa.create_verify_two_factor(ACCOUNT_ID, body)
523
+ response = @bandwidth_client.multi_factor_auth_client.mfa.create_verify_two_factor(BW_ACCOUNT_ID, body)
502
524
  #Ruby has no check to see if variables are of type boolean
503
525
  #An explicit true/false check is required
504
526
  assert(response.data.valid == true || response.data.valid == false, "'valid' variable is not a boolean")
@@ -559,7 +581,7 @@ class IntegrationTest < Test::Unit::TestCase
559
581
  actual = response.to_bxml()
560
582
  assert_equal(expected, actual)
561
583
  end
562
-
584
+
563
585
  def test_stop_gather
564
586
  stop_gather = Bandwidth::Voice::StopGather.new()
565
587
 
@@ -573,12 +595,12 @@ class IntegrationTest < Test::Unit::TestCase
573
595
 
574
596
  def test_tn_lookup
575
597
  body = OrderRequest.new
576
- body.tns = [PHONE_NUMBER_OUTBOUND]
577
- create_response = @bandwidth_client.phone_number_lookup_client.client.create_lookup_request(ACCOUNT_ID, body)
598
+ body.tns = [BW_NUMBER]
599
+ create_response = @bandwidth_client.phone_number_lookup_client.client.create_lookup_request(BW_ACCOUNT_ID, body)
578
600
  assert(create_response.data.request_id.length > 0, "request_id value not set")
579
601
 
580
602
  request_id = create_response.data.request_id
581
- get_response = @bandwidth_client.phone_number_lookup_client.client.get_lookup_request_status(ACCOUNT_ID, request_id)
603
+ get_response = @bandwidth_client.phone_number_lookup_client.client.get_lookup_request_status(BW_ACCOUNT_ID, request_id)
582
604
  assert(get_response.data.status.length > 0, "status value not set")
583
605
  end
584
606
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bandwidth-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - APIMatic SDK Generator
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-03 00:00:00.000000000 Z
11
+ date: 2021-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -235,9 +235,11 @@ files:
235
235
  - lib/bandwidth/voice_lib/voice/exceptions/api_error_exception.rb
236
236
  - lib/bandwidth/voice_lib/voice/models/answer_fallback_method_enum.rb
237
237
  - lib/bandwidth/voice_lib/voice/models/answer_method_enum.rb
238
+ - lib/bandwidth/voice_lib/voice/models/call_callback.rb
238
239
  - lib/bandwidth/voice_lib/voice/models/call_recording_metadata.rb
239
240
  - lib/bandwidth/voice_lib/voice/models/call_state.rb
240
241
  - lib/bandwidth/voice_lib/voice/models/callback_method_enum.rb
242
+ - lib/bandwidth/voice_lib/voice/models/conference_callback.rb
241
243
  - lib/bandwidth/voice_lib/voice/models/conference_event_method_enum.rb
242
244
  - lib/bandwidth/voice_lib/voice/models/conference_member_state.rb
243
245
  - lib/bandwidth/voice_lib/voice/models/conference_recording_metadata.rb
@@ -246,7 +248,11 @@ files:
246
248
  - lib/bandwidth/voice_lib/voice/models/create_call_response.rb
247
249
  - lib/bandwidth/voice_lib/voice/models/direction_enum.rb
248
250
  - lib/bandwidth/voice_lib/voice/models/disconnect_method_enum.rb
251
+ - lib/bandwidth/voice_lib/voice/models/diversion.rb
252
+ - lib/bandwidth/voice_lib/voice/models/fallback_method_enum.rb
249
253
  - lib/bandwidth/voice_lib/voice/models/file_format_enum.rb
254
+ - lib/bandwidth/voice_lib/voice/models/machine_detection_configuration.rb
255
+ - lib/bandwidth/voice_lib/voice/models/mode_enum.rb
250
256
  - lib/bandwidth/voice_lib/voice/models/modify_call_recording_request.rb
251
257
  - lib/bandwidth/voice_lib/voice/models/modify_call_request.rb
252
258
  - lib/bandwidth/voice_lib/voice/models/modify_conference_request.rb
@@ -257,6 +263,7 @@ files:
257
263
  - lib/bandwidth/voice_lib/voice/models/status_enum.rb
258
264
  - lib/bandwidth/voice_lib/voice/models/transcribe_recording_request.rb
259
265
  - lib/bandwidth/voice_lib/voice/models/transcript.rb
266
+ - lib/bandwidth/voice_lib/voice/models/transcription.rb
260
267
  - lib/bandwidth/voice_lib/voice/models/transcription_metadata.rb
261
268
  - lib/bandwidth/voice_lib/voice/models/transcription_response.rb
262
269
  - lib/bandwidth/web_rtc_lib/utils/web_rtc_transfer.rb