bandwidth-sdk 9.0.0 → 9.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee8c7426138e841e2fea1dbff5d5e3c79372a5cd30c20fe6f2b271104d9101d6
4
- data.tar.gz: d6463c59e3d52f560968494124e4563a61d7f2aa0b2b0f04f23e92f65f97247a
3
+ metadata.gz: db76591055af337edfa263589d610ccaeb6548b790e8198c151c8aef12aae58a
4
+ data.tar.gz: '0149d372e10582225a5add12aa9f07b43ab52686431facea7968c011297ca97e'
5
5
  SHA512:
6
- metadata.gz: 255385a80dbc57bccc6dab0f124b9588481eb8075dadce183677b9ca5c7f7d62a65512b876d076d51f051a7de96ca920948e70c4d9b4c1be01cbda03b37f8898
7
- data.tar.gz: 755608aac58ac160de2711c5c3e8b0e57426a023f32c80dc047a2d3c7ee3d345eeb3188dfdfdaeec315690dac6cb377253799119a816a5ae3d34f3135686e24c
6
+ metadata.gz: 07716df459d4e176ec1725d353f1c811db5fe8890bb413d84cc54a531d69db998add4aee95f6da55d113a62678a9d924c2278e6148a3fafeb0f04230c1561337
7
+ data.tar.gz: 21c7a1a53d35326b9319dc7836d93d71a7e252b0804ca2311053aaed6c85149e9ec5ac1f2bd2adfcf9439ae80259c22302f2b1f18c63d207d5b3b5260895bb46
data/README.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Bandwidth Ruby SDK
2
2
 
3
+ [![Test](https://github.com/Bandwidth/ruby-sdk/actions/workflows/test.yml/badge.svg)](https://github.com/Bandwidth/ruby-sdk/actions/workflows/test.yml)
4
+
5
+
6
+ | **OS** | **Ruby** |
7
+ |:---:|:---:|
8
+ | Windows 2016 | 2.6, 2.7, 3.0 |
9
+ | Windows 2019 | 2.6, 2.7, 3.0 |
10
+ | Ubuntu 18.04 | 2.6, 2.7, 3.0 |
11
+ | Ubuntu 20.04 | 2.6, 2.7, 3.0 |
12
+
3
13
  ## Getting Started
4
14
 
5
15
  ### Installation
@@ -144,6 +144,7 @@ module Bandwidth
144
144
  # Parses JSON string.
145
145
  # @param [String] A JSON string.
146
146
  def self.json_deserialize(json)
147
+ return {} if json.nil? || json.empty?
147
148
  JSON.parse(json)
148
149
  rescue StandardError
149
150
  raise TypeError, 'Server responded with invalid JSON.'
@@ -7,7 +7,8 @@ module Bandwidth
7
7
 
8
8
  def to_bxml(xml)
9
9
  xml.Ring(compact_hash({
10
- 'duration' => duration
10
+ 'duration' => duration,
11
+ 'answerCall' => answer_call
11
12
  }))
12
13
  end
13
14
  end
@@ -590,15 +590,9 @@ module Voice
590
590
  )
591
591
  _query_url = APIHelper.clean_url _query_builder
592
592
 
593
- # Prepare headers.
594
- _headers = {
595
- 'accept' => 'application/json'
596
- }
597
-
598
593
  # Prepare and execute HttpRequest.
599
594
  _request = config.http_client.get(
600
- _query_url,
601
- headers: _headers
595
+ _query_url
602
596
  )
603
597
  VoiceBasicAuth.apply(config, _request)
604
598
  _response = execute_request(_request)
@@ -648,11 +642,8 @@ module Voice
648
642
  validate_response(_response)
649
643
 
650
644
  # Return appropriate response type.
651
- decoded = APIHelper.json_deserialize(_response.raw_body) unless
652
- _response.raw_body.nil? ||
653
- _response.raw_body.to_s.strip.empty?
654
645
  ApiResponse.new(
655
- _response, data: decoded
646
+ _response, data: _response.raw_body
656
647
  )
657
648
  end
658
649
 
@@ -3,6 +3,7 @@
3
3
  # A simple integration test against Bandwidth's APIs
4
4
 
5
5
  require 'test/unit'
6
+ require 'securerandom'
6
7
  require_relative '../../lib/bandwidth.rb'
7
8
 
8
9
  include Bandwidth
@@ -37,6 +38,17 @@ class IntegrationTest < Test::Unit::TestCase
37
38
  phone_number_lookup_basic_auth_user_name: BW_USERNAME,
38
39
  phone_number_lookup_basic_auth_password: BW_PASSWORD
39
40
  )
41
+
42
+ @bandwidth_client_invalid_auth = Bandwidth::Client.new(
43
+ voice_basic_auth_user_name: "bad_username",
44
+ voice_basic_auth_password: "bad_password",
45
+ messaging_basic_auth_user_name: "bad_username",
46
+ messaging_basic_auth_password: "bad_password",
47
+ multi_factor_auth_basic_auth_user_name: "bad_username",
48
+ multi_factor_auth_basic_auth_password: "bad_password",
49
+ phone_number_lookup_basic_auth_user_name: "bad_username",
50
+ phone_number_lookup_basic_auth_password: "bad_password"
51
+ )
40
52
  end
41
53
 
42
54
  def test_create_message
@@ -66,18 +78,31 @@ class IntegrationTest < Test::Unit::TestCase
66
78
 
67
79
  def test_upload_download_media
68
80
  #define constants for upload media and download media
69
- media_file_name = 'ruby_integration' #future update to add special symbols
70
- media_file = '12345' #todo: check a binary string
81
+ media_id = "text-media-id-" + SecureRandom.uuid
82
+ media = "Hello world"
71
83
 
72
84
  #media upload
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")
85
+ @bandwidth_client.messaging_client.client.upload_media(BW_ACCOUNT_ID, media_id, media, :content_type => "application/octet-stream", :cache_control => "no-cache")
74
86
 
75
87
  #media download
76
- downloaded_media_file = @bandwidth_client.messaging_client.client.get_media(BW_ACCOUNT_ID, media_file_name).data
88
+ downloaded_media = @bandwidth_client.messaging_client.client.get_media(BW_ACCOUNT_ID, media_id).data
77
89
 
78
- assert_equal(downloaded_media_file, media_file, "Downloaded media file not equal to upload")
90
+ assert_equal(downloaded_media, media, "Downloaded media file not equal to upload")
79
91
  end
80
92
 
93
+ def test_get_message
94
+ # Send a successful request to the GET messages API
95
+ response = @bandwidth_client.messaging_client.client.get_messages(BW_ACCOUNT_ID, :message_id => "abc123")
96
+ assert_equal(response.status_code, 200, "API did not return a 200 OK")
97
+ end
98
+
99
+ def test_get_message_invalid_auth
100
+ # Send an unsuccessful request to the GET messages API
101
+ assert_raise MessagingException do
102
+ response = @bandwidth_client_invalid_auth.messaging_client.client.get_messages(BW_ACCOUNT_ID)
103
+ end
104
+ end
105
+
81
106
  def test_create_call_and_get_call_state
82
107
  body = CreateCallRequest.new
83
108
  body.from = BW_NUMBER
@@ -88,6 +113,7 @@ class IntegrationTest < Test::Unit::TestCase
88
113
  assert(response.data.call_id.length > 0, "call_id value not set")
89
114
 
90
115
  #Get phone call information
116
+ sleep 1
91
117
  response = @bandwidth_client.voice_client.client.get_call(BW_ACCOUNT_ID, response.data.call_id)
92
118
  assert(response.data.state.length > 0, "state value not set")
93
119
  end
@@ -515,7 +541,7 @@ class IntegrationTest < Test::Unit::TestCase
515
541
 
516
542
  def test_mfa_verify
517
543
  body = TwoFactorVerifyRequestSchema.new
518
- body.to = USER_NUMBER
544
+ body.to = "+1000" + rand(1111111..9999999).to_s
519
545
  body.application_id = BW_VOICE_APPLICATION_ID
520
546
  body.scope = "scope"
521
547
  body.code = "123456"
@@ -554,13 +580,14 @@ class IntegrationTest < Test::Unit::TestCase
554
580
 
555
581
  def test_ring
556
582
  ring = Bandwidth::Voice::Ring.new({
557
- :duration => 5
583
+ :duration => 5,
584
+ :answer_call => false
558
585
  })
559
586
 
560
587
  response = Bandwidth::Voice::Response.new()
561
588
  response.push(ring)
562
589
 
563
- expected = '<?xml version="1.0" encoding="UTF-8"?><Response><Ring duration="5"/></Response>'
590
+ expected = '<?xml version="1.0" encoding="UTF-8"?><Response><Ring duration="5" answerCall="false"/></Response>'
564
591
  actual = response.to_bxml()
565
592
  assert_equal(expected, actual)
566
593
  end
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: 9.0.0
4
+ version: 9.1.2
5
5
  platform: ruby
6
6
  authors:
7
- - APIMatic SDK Generator
7
+ - Bandwidth
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2022-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '1.0'
34
34
  - - "<="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.3.0
36
+ version: 1.9.3
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '1.0'
44
44
  - - "<="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.3.0
46
+ version: 1.9.3
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: faraday_middleware
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -140,8 +140,9 @@ dependencies:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
142
  version: '1.0'
143
- description: Bandwidth's set of APIs
144
- email: support@apimatic.io
143
+ description: The official client SDK for Bandwidht's Voice, Messaging, MFA, and WebRTC
144
+ APIs
145
+ email: dx@bandwidth.com
145
146
  executables: []
146
147
  extensions: []
147
148
  extra_rdoc_files: []
@@ -283,7 +284,7 @@ files:
283
284
  - test/http_response_catcher.rb
284
285
  - test/integration/test_integration.rb
285
286
  - test/test_helper.rb
286
- homepage: https://apimatic.io
287
+ homepage: https://github.com/Bandwidth/ruby-sdk
287
288
  licenses:
288
289
  - MIT
289
290
  metadata: {}
@@ -302,8 +303,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
303
  - !ruby/object:Gem::Version
303
304
  version: '0'
304
305
  requirements: []
305
- rubygems_version: 3.2.22
306
+ rubygems_version: 3.3.7
306
307
  signing_key:
307
308
  specification_version: 4
308
- summary: bandwidth
309
+ summary: Bandwidth
309
310
  test_files: []