Tests not completed

This commit is contained in:
venusbb
2017-08-14 11:56:12 +01:00
parent ef1ec17789
commit 9d446bc942
3 changed files with 63 additions and 19 deletions

View File

@@ -359,21 +359,34 @@ def service_set_sms_sender(service_id):
@login_required
@user_has_permissions('manage_settings', admin_override=True)
def service_set_inbound_number(service_id):
inbound_number = inbound_number_client.get_inbound_sms_number_for_service(service_id)
new_number = False
if inbound_number['data'] == '' or inbound_number['data'] is None:
inbound_number = inbound_number_client.get_available_inbound_number(service_id)
inbound_number = inbound_number_client.get_inbound_sms_number_for_service(service_id)
if inbound_number['data'] is None:
inbound_number = inbound_number_client.get_available_inbound_number()
# if (inbound_number['data'] is None):
if (inbound_number['data'] is []):
# either return 404 or 400 or return a message to the html
new_number = True
if request.method == 'POST':
switch_service_permissions(current_service['id'], 'inbound_sms')
if new_number:
inbound_number_client.activate_inbound_sms_service(service_id, inbound_number['data']['id'])
return redirect(url_for('.service_settings', service_id=service_id))
else:
inbound_number_client.reactivate_inbound_sms_service(inbound_number['data']['id'])
return redirect(url_for('.service_settings', service_id=service_id))
try:
switch_service_permissions(current_service['id'], 'inbound_sms')
if new_number:
inbound_number_client.activate_inbound_sms_service(service_id, inbound_number['data']['id'])
return redirect(url_for('.service_settings', service_id=service_id))
else:
inbound_number_client.reactivate_inbound_sms_service(inbound_number['data']['id'])
return redirect(url_for('.service_settings', service_id=service_id))
except HTTPError as e:
raise e
return render_template(
'views/service-settings/confirm-inbound-number.html',

View File

@@ -11,20 +11,25 @@ class InboundNumberClient(NotifyAdminAPIClient):
self.api_key = app.config['ADMIN_CLIENT_SECRET']
def get_all_inbound_sms_number_service(self):
endpoint = '/inbound_number'
return self.get(endpoint)
return self.get('/inbound_number')
def get_inbound_sms_number_for_service(self, service_id):
return self.get('/inbound_number/service/{}'.format(service_id))
def activate_inbound_sms_service(self, service_id, inbound_number_id):
return self.post(url='/inbound_number/{}/service/{}'.format(inbound_number_id, service_id), data={})
# def activate_inbound_sms_service(self, service_id, inbound_number_id):
# return self.post(url='/inbound_number/{}/service/{}'.format(inbound_number_id, service_id), data={})
def reactivate_inbound_sms_service(self, inbound_number_id):
try:
catch:
return self.post(url='/inbound_number/{}/on'.format(inbound_number_id), data={})
def deactivate_inbound_sms_permission(self, inbound_number_id):
return self.post(url='/inbound_number/{}/off'.format(inbound_number_id), data={})
def get_available_inbound_number(self):
return self.get(url='/inbound_number/available'.format())
# def get_available_inbound_number(self):
# return self.get(url='/inbound_number/available'.format())

View File

@@ -807,7 +807,7 @@ def test_if_currently_inbound_number_is_none(
assert response.location == url_for('main.service_settings', service_id=service_one['id'], _external=True)
mocker_get_inbound_number_fun.assert_called_once_with(service_one['id'])
mocker_get_available_inbound_number_fun.assert_called_once_with(service_one['id'])
mocker_get_available_inbound_number_fun.assert_called_once_with()
mocker_get_activate_inbound_number_fun.assert_called_once_with(service_one['id'], 'some_uuid')
@@ -824,8 +824,7 @@ def test_if_currently_inbound_number_is_not_empty(
mocker_get_reactivate_inbound_number_fun = mocker.patch(
'app.inbound_number_client.reactivate_inbound_sms_service')
response = logged_in_client.post(url_for('main.service_set_inbound_number', service_id=service_one['id']),
)
response = logged_in_client.post(url_for('main.service_set_inbound_number', service_id=service_one['id']),)
assert response.status_code == 302
assert response.location == url_for('main.service_settings', service_id=service_one['id'], _external=True)
@@ -834,6 +833,33 @@ def test_if_currently_inbound_number_is_not_empty(
mocker_get_reactivate_inbound_number_fun.assert_called_once_with('some_uuid')
def test_no_inbound_number_available(
logged_in_client,
mock_update_service,
service_one,
mocker
):
mocker_get_inbound_number_fun = mocker.patch(
'app.inbound_number_client.get_inbound_sms_number_for_service',
return_value={'data': None})
mocker_get_available_inbound_number_fun = mocker.patch(
'app.inbound_number_client.get_available_inbound_number',
return_value=Mock('something',
status_code=400,
json=lambda: {
}
))
response = logged_in_client.get(url_for('main.service_set_inbound_number', service_id=service_one['id']),
)
assert response.status_code == 400
# mocker_get_inbound_number_fun.assert_called_once_with(service_one['id'])
# mocker_get_available_inbound_number_fun.assert_called_once_with()
def test_set_text_message_sender_and_inbound_sms(
logged_in_client,
service_one,