From 7f9111fd90a0f80162364fede8ae80ebcb5fea1c Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 4 Jan 2017 11:00:47 +0000 Subject: [PATCH] Removed the oneOf validation in the get_notification_response schema. --- app/v2/notifications/notification_schemas.py | 26 ------------------- .../test_notification_schemas.py | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/app/v2/notifications/notification_schemas.py b/app/v2/notifications/notification_schemas.py index beb12f779..7675e035b 100644 --- a/app/v2/notifications/notification_schemas.py +++ b/app/v2/notifications/notification_schemas.py @@ -20,32 +20,6 @@ get_notification_response = { "description": "GET notification response schema", "type": "object", "title": "response v2/notification", - "oneOf": [ - {"properties": { - "email_address": {"type": "string", "format": "email_address"}, - "type": {"enum": ["email"]}, - - "phone_number": {"type": "null"}, - "line_1": {"type": "null"}, - "postcode": {"type": "null"} - }}, - {"properties": { - "phone_number": {"type": "string", "format": "phone_number"}, - "type": {"enum": ["sms"]}, - - "email_address": {"type": "null"}, - "line_1": {"type": "null"}, - "postcode": {"type": "null"} - }}, - {"properties": { - "line_1": {"type": "string", "minLength": 1}, - "postcode": {"type": "string", "minLength": 1}, - "type": {"enum": ["letter"]}, - - "email_address": {"type": "null"}, - "phone_number": {"type": "null"} - }} - ], "properties": { "id": uuid, "reference": {"type": ["string", "null"]}, diff --git a/tests/app/v2/notifications/test_notification_schemas.py b/tests/app/v2/notifications/test_notification_schemas.py index 95c977d9e..713e94aea 100644 --- a/tests/app/v2/notifications/test_notification_schemas.py +++ b/tests/app/v2/notifications/test_notification_schemas.py @@ -6,6 +6,7 @@ from jsonschema import ValidationError from app.v2.notifications.notification_schemas import ( get_notifications_request, + get_notification_response, post_sms_request as post_sms_request_schema, post_sms_response as post_sms_response_schema, post_email_request as post_email_request_schema, @@ -309,3 +310,28 @@ def test_post_sms_response_schema_invalid_template_uri_raises_validation_error(r assert error['status_code'] == 400 assert error['errors'] == [{'error': 'ValidationError', 'message': "template invalid-uri is not a uri"}] + + +def test_get_notifications_response_with_email_and_phone_number(): + response = {"id": str(uuid.uuid4()), + "reference": "something", + "email_address": None, + "phone_number": "+447115411111", + "line_1": None, + "line_2": None, + "line_3": None, + "line_4": None, + "line_5": None, + "line_6": None, + "postcode": None, + "type": "email", + "status": "delivered", + "template": {"id": str(uuid.uuid4()), "version": 1, "uri": "http://template/id"}, + "body": "some body", + "subject": "some subject", + "created_at": "2016-01-01", + "sent_at": "2016-01-01", + "completed_at": "2016-01-01" + } + + assert validate(response, get_notification_response) == response