Update service_api_client to use new endpoints

API now has separate endpoints to archive email reply-to addresses and
SMS senders, so we no longer need to use the endpoints for updating.
This commit is contained in:
Katie Smith
2018-04-26 15:09:37 +01:00
parent 965bc76c42
commit 0e370d511e
4 changed files with 32 additions and 54 deletions

View File

@@ -440,10 +440,9 @@ def service_edit_email_reply_to(service_id, reply_to_email_id):
@login_required
@user_has_permissions('manage_service')
def service_delete_email_reply_to(service_id, reply_to_email_id):
service_api_client.update_reply_to_email_address(
current_service['id'],
service_api_client.delete_reply_to_email_address(
service_id=current_service['id'],
reply_to_email_id=reply_to_email_id,
active=False,
)
return redirect(url_for('.service_email_reply_to', service_id=service_id))
@@ -723,10 +722,9 @@ def service_edit_sms_sender(service_id, sms_sender_id):
@login_required
@user_has_permissions('manage_service')
def service_delete_sms_sender(service_id, sms_sender_id):
service_api_client.update_sms_sender(
current_service['id'],
service_api_client.delete_sms_sender(
service_id=current_service['id'],
sms_sender_id=sms_sender_id,
active=False,
)
return redirect(url_for('.service_sms_senders', service_id=service_id))

View File

@@ -374,25 +374,7 @@ class ServiceAPIClient(NotifyAdminAPIClient):
)
@cache.delete('service-{service_id}')
def update_reply_to_email_address(
self,
service_id,
reply_to_email_id,
email_address=None,
active=None,
is_default=False
):
data = {
"is_default": is_default
}
if email_address is not None:
data.update({
'email_address': email_address
})
if active is not None:
data.update({
'active': active
})
def update_reply_to_email_address(self, service_id, reply_to_email_id, email_address, is_default=False):
return self.post(
"/service/{}/email-reply-to/{}".format(
service_id,
@@ -404,6 +386,13 @@ class ServiceAPIClient(NotifyAdminAPIClient):
}
)
@cache.delete('service-{service_id}')
def delete_reply_to_email_address(self, service_id, reply_to_email_id):
return self.post(
"/service/{}/email-reply-to/{}/archive".format(service_id, reply_to_email_id),
data=None
)
def get_letter_contacts(self, service_id):
return self.get("/service/{}/letter-contact".format(service_id))
@@ -457,21 +446,20 @@ class ServiceAPIClient(NotifyAdminAPIClient):
return self.post("/service/{}/sms-sender".format(service_id), data=data)
@cache.delete('service-{service_id}')
def update_sms_sender(self, service_id, sms_sender_id, sms_sender=None, active=None, is_default=False):
data = {
"is_default": is_default,
}
if sms_sender is not None:
data.update({
"sms_sender": sms_sender,
})
if active is not None:
data.update({
"active": active,
})
def update_sms_sender(self, service_id, sms_sender_id, sms_sender, is_default=False):
return self.post(
"/service/{}/sms-sender/{}".format(service_id, sms_sender_id),
data=data
data={
"sms_sender": sms_sender,
"is_default": is_default
}
)
@cache.delete('service-{service_id}')
def delete_sms_sender(self, service_id, sms_sender_id):
return self.post(
"/service/{}/sms-sender/{}/archive".format(service_id, sms_sender_id),
data=None
)
def get_service_callback_api(self, service_id, callback_api_id):

View File

@@ -1193,9 +1193,9 @@ def test_delete_reply_to_email_address(
service_one,
fake_uuid,
get_non_default_reply_to_email_address,
mock_update_reply_to_email_address,
mocker,
):
mock_delete = mocker.patch('app.service_api_client.delete_reply_to_email_address')
client_request.post(
'.service_delete_email_reply_to',
service_id=SERVICE_ONE_ID,
@@ -1206,12 +1206,7 @@ def test_delete_reply_to_email_address(
_external=True,
)
)
mock_update_reply_to_email_address.assert_called_once_with(
SERVICE_ONE_ID,
active=False,
reply_to_email_id=fake_uuid,
)
mock_delete.assert_called_once_with(service_id=SERVICE_ONE_ID, reply_to_email_id=fake_uuid)
@pytest.mark.parametrize('fixture, data, api_default_args', [
@@ -1435,9 +1430,9 @@ def test_delete_sms_sender(
service_one,
fake_uuid,
get_non_default_sms_sender,
mock_update_sms_sender,
mocker,
):
mock_delete = mocker.patch('app.service_api_client.delete_sms_sender')
client_request.post(
'.service_delete_sms_sender',
service_id=SERVICE_ONE_ID,
@@ -1448,12 +1443,7 @@ def test_delete_sms_sender(
_external=True,
)
)
mock_update_sms_sender.assert_called_once_with(
SERVICE_ONE_ID,
active=False,
sms_sender_id='1234',
)
mock_delete.assert_called_once_with(service_id=SERVICE_ONE_ID, sms_sender_id='1234')
@pytest.mark.parametrize('fixture, hide_textbox, fixture_sender_id', [

View File

@@ -344,10 +344,12 @@ def test_returns_value_from_cache(
(service_api_client, 'update_service_inbound_api', [SERVICE_ONE_ID] + [''] * 4, {}),
(service_api_client, 'add_reply_to_email_address', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'update_reply_to_email_address', [SERVICE_ONE_ID] + [''] * 2, {}),
(service_api_client, 'delete_reply_to_email_address', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'add_letter_contact', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'update_letter_contact', [SERVICE_ONE_ID] + [''] * 2, {}),
(service_api_client, 'add_sms_sender', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'update_sms_sender', [SERVICE_ONE_ID] + [''] * 2, {}),
(service_api_client, 'delete_sms_sender', [SERVICE_ONE_ID, ''], {}),
(service_api_client, 'update_service_callback_api', [SERVICE_ONE_ID] + [''] * 4, {}),
(service_api_client, 'create_service_callback_api', [SERVICE_ONE_ID] + [''] * 3, {}),
(user_api_client, 'add_user_to_service', [SERVICE_ONE_ID, fake_uuid(), []], {}),