Skip to content

Commit 3dba637

Browse files
committed
fix(numbers_management): Add by_alias=true to update number dump
1 parent 8651d0b commit 3dba637

File tree

3 files changed

+62
-2
lines changed

3 files changed

+62
-2
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.0.4'
1+
__version__ = '1.0.5'

number_management/src/vonage_numbers/number_management.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def update_number(self, params: UpdateNumberParams) -> NumbersStatus:
167167
response = self._http_client.post(
168168
self._http_client.rest_host,
169169
'/number/update',
170-
params.model_dump(exclude_none=True),
170+
params.model_dump(by_alias=True, exclude_none=True),
171171
self._auth_type,
172172
self._sent_data_type,
173173
)

number_management/tests/test_numbers.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from os.path import abspath
2+
from urllib.parse import parse_qs
23

34
import responses
45
from pytest import raises
@@ -205,6 +206,19 @@ def test_buy_number():
205206
assert response.error_code == '200'
206207
assert response.error_code_label == 'success'
207208

209+
# The data is sent as form-encoded, so we need to parse it accordingly
210+
request_body = responses.calls[0].request.body
211+
form_data = parse_qs(request_body)
212+
213+
# parse_qs returns values as lists, so we need to extract the first item
214+
parsed_data = {key: value[0] for key, value in form_data.items()}
215+
216+
expected_data = {
217+
'country': 'GB',
218+
'msisdn': '447000000000',
219+
}
220+
assert parsed_data == expected_data
221+
208222

209223
@responses.activate
210224
def test_cancel_number():
@@ -219,6 +233,19 @@ def test_cancel_number():
219233
assert response.error_code == '200'
220234
assert response.error_code_label == 'success'
221235

236+
# The data is sent as form-encoded, so we need to parse it accordingly
237+
request_body = responses.calls[0].request.body
238+
form_data = parse_qs(request_body)
239+
240+
# parse_qs returns values as lists, so we need to extract the first item
241+
parsed_data = {key: value[0] for key, value in form_data.items()}
242+
243+
expected_data = {
244+
'country': 'GB',
245+
'msisdn': '447000000000',
246+
}
247+
assert parsed_data == expected_data
248+
222249

223250
@responses.activate
224251
def test_cancel_number_error_no_number():
@@ -233,6 +260,19 @@ def test_cancel_number_error_no_number():
233260

234261
assert e.match('method failed')
235262

263+
# The data is sent as form-encoded, so we need to parse it accordingly
264+
request_body = responses.calls[0].request.body
265+
form_data = parse_qs(request_body)
266+
267+
# parse_qs returns values as lists, so we need to extract the first item
268+
parsed_data = {key: value[0] for key, value in form_data.items()}
269+
270+
expected_data = {
271+
'country': 'GB',
272+
'msisdn': '447000000000',
273+
}
274+
assert parsed_data == expected_data
275+
236276

237277
@responses.activate
238278
def test_update_number():
@@ -255,9 +295,29 @@ def test_update_number():
255295
)
256296
)
257297

298+
# Verify the response
258299
assert response.error_code == '200'
259300
assert response.error_code_label == 'success'
260301

302+
# The data is sent as form-encoded, so we need to parse it accordingly
303+
request_body = responses.calls[0].request.body
304+
form_data = parse_qs(request_body)
305+
306+
# parse_qs returns values as lists, so we need to extract the first item
307+
parsed_data = {key: value[0] for key, value in form_data.items()}
308+
309+
expected_data = {
310+
'country': 'GB',
311+
'msisdn': '447009000000',
312+
'app_id': '29f769u7-7ce1-46c9-ade3-f2dedee4fr4t',
313+
'moHttpUrl': 'https://example.com',
314+
'moSmppSysType': 'inbound',
315+
'voiceCallbackType': 'tel',
316+
'voiceCallbackValue': '447009000000',
317+
'voiceStatusCallback': 'https://example.com',
318+
}
319+
assert parsed_data == expected_data
320+
261321

262322
def test_update_number_options_error():
263323
with raises(NumbersError) as e:

0 commit comments

Comments
 (0)