diff --git a/app/v2/broadcast/post_broadcast.py b/app/v2/broadcast/post_broadcast.py
index 79b32ae4a..6f9e56142 100644
--- a/app/v2/broadcast/post_broadcast.py
+++ b/app/v2/broadcast/post_broadcast.py
@@ -27,7 +27,7 @@ def create_broadcast():
status_code=415,
)
- cap_xml = request.get_data(as_text=True)
+ cap_xml = request.get_data()
if not validate_xml(cap_xml, 'CAP-v1.2.xsd'):
raise BadRequestError(
diff --git a/tests/app/v2/broadcast/test_post_broadcast.py b/tests/app/v2/broadcast/test_post_broadcast.py
index 0cc2839df..a364e3eaa 100644
--- a/tests/app/v2/broadcast/test_post_broadcast.py
+++ b/tests/app/v2/broadcast/test_post_broadcast.py
@@ -1,3 +1,5 @@
+import pytest
+
from flask import json
from freezegun import freeze_time
from tests import create_authorization_header
@@ -109,15 +111,20 @@ def test_valid_post_cap_xml_broadcast_returns_201(
assert response_json['updated_at'] is None
+@pytest.mark.parametrize('xml_document', (
+ 'Oh no',
+ '',
+))
def test_invalid_post_cap_xml_broadcast_returns_400(
client,
sample_broadcast_service,
+ xml_document,
):
auth_header = create_authorization_header(service_id=sample_broadcast_service.id)
response = client.post(
path='/v2/broadcast',
- data="Oh no",
+ data=xml_document,
headers=[('Content-Type', 'application/cap+xml'), auth_header],
)