mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 09:51:11 -05:00
clients: cbc_proxy invokes hardcoded function
right now we are doing an end-to-end journey with a CBC from Notify (the CBE) and we would like to approve a broadcast in notify and have it appear on our test handset in order to do this, we: * hook up the lambda that we made in the correct VPC to cbc_proxy client * test that it is called correctly Signed-off-by: Toby Lorne <toby.lornewelch-richards@digital.cabinet-office.gov.uk> Co-authored-by: Pea <pea.tyczynska@digital.cabinet-office.gov.uk> Co-authored-by: Katie <katie.smith@digital.cabinet-office.gov.uk>
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
import boto3
|
import boto3
|
||||||
|
|
||||||
# Noop = no operation
|
# Noop = no operation
|
||||||
@@ -44,9 +46,17 @@ class CBCProxyClient:
|
|||||||
self,
|
self,
|
||||||
identifier, headline, description,
|
identifier, headline, description,
|
||||||
):
|
):
|
||||||
# identifier=broadcast_message.identifier,
|
payload_bytes = bytes(json.dumps({
|
||||||
# headline="GOV.UK Notify Broadcast",
|
'identifier': identifier,
|
||||||
# description=broadcast_message.description,
|
'headline': headline,
|
||||||
|
'description': description,
|
||||||
|
}), encoding='utf8')
|
||||||
|
|
||||||
|
self._ld_client.invoke(
|
||||||
|
FunctionName='bt-ee-1-proxy',
|
||||||
|
InvocationType='RequestResponse',
|
||||||
|
Payload=payload_bytes,
|
||||||
|
)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# We have not implementated updating a broadcast
|
# We have not implementated updating a broadcast
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from app.clients.cbc_proxy import CBCProxyClient
|
from app.clients.cbc_proxy import CBCProxyClient
|
||||||
@@ -25,3 +27,35 @@ def test_cbc_proxy_ld_client_has_correct_keys(cbc_proxy):
|
|||||||
|
|
||||||
assert key == 'cbc-proxy-aws-access-key-id'
|
assert key == 'cbc-proxy-aws-access-key-id'
|
||||||
assert secret == 'cbc-proxy-aws-secret-access-key'
|
assert secret == 'cbc-proxy-aws-secret-access-key'
|
||||||
|
|
||||||
|
|
||||||
|
def test_cbc_proxy_create_and_send_invokes_function(mocker, cbc_proxy):
|
||||||
|
identifier = 'my-identifier'
|
||||||
|
headline = 'my-headline'
|
||||||
|
description = 'my-description'
|
||||||
|
|
||||||
|
ld_client_mock = mocker.patch.object(
|
||||||
|
cbc_proxy,
|
||||||
|
'_ld_client',
|
||||||
|
create=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
cbc_proxy.create_and_send_broadcast(
|
||||||
|
identifier=identifier,
|
||||||
|
headline=headline,
|
||||||
|
description=description,
|
||||||
|
)
|
||||||
|
|
||||||
|
ld_client_mock.invoke.assert_called_once_with(
|
||||||
|
FunctionName='bt-ee-1-proxy',
|
||||||
|
InvocationType='RequestResponse',
|
||||||
|
Payload=mocker.ANY,
|
||||||
|
)
|
||||||
|
|
||||||
|
kwargs = ld_client_mock.invoke.mock_calls[0][-1]
|
||||||
|
payload_bytes = kwargs['Payload']
|
||||||
|
payload = json.loads(payload_bytes)
|
||||||
|
|
||||||
|
assert payload['identifier'] == identifier
|
||||||
|
assert payload['headline'] == headline
|
||||||
|
assert payload['description'] == description
|
||||||
|
|||||||
Reference in New Issue
Block a user