2222import main
2323
2424
25- required_fields = ['Ce-Id' , 'Ce-Source' , 'Ce-Type' , 'Ce-Specversion' ]
26-
27- header_data = {field : str (uuid4 ()) for field in required_fields }
25+ binary_headers = {
26+ "ce-id" : str (uuid4 ),
27+ "ce-type" : "com.pytest.sample.event" ,
28+ "ce-source" : "<my-test-source>" ,
29+ "ce-specversion" : "1.0"
30+ }
2831
2932
3033@pytest .fixture
@@ -34,48 +37,49 @@ def client():
3437
3538
3639def test_empty_payload (client ):
37- r = client .post ('/' , json = '' , headers = header_data )
40+ r = client .post ('/' , json = '' , headers = binary_headers )
3841 assert r .status_code == 400
3942
4043
4144def test_invalid_payload (client ):
42- r = client .post ('/' , json = {'nomessage' : 'invalid' }, headers = header_data )
45+ r = client .post ('/' , json = {'nomessage' : 'invalid' }, headers = binary_headers )
4346 assert r .status_code == 400
4447
4548
4649def test_invalid_mimetype (client ):
47- r = client .post ('/' , json = "{ message: true }" , headers = header_data )
50+ r = client .post ('/' , json = "{ message: true }" , headers = binary_headers )
4851 assert r .status_code == 400
4952
5053
5154def test_minimally_valid_message (client , capsys ):
52- r = client .post ('/' , json = {'message' : True }, headers = header_data )
55+ r = client .post ('/' , json = {'message' : True }, headers = binary_headers )
5356 assert r .status_code == 200
5457
5558 out , _ = capsys .readouterr ()
56- ce_id = header_data ['Ce-Id' ]
59+ ce_id = binary_headers ['ce-id' ]
60+
5761 assert f'Hello, World! ID: { ce_id } ' in out
5862
5963
6064def test_populated_message (client , capsys ):
6165 name = str (uuid4 ())
6266 data = base64 .b64encode (name .encode ()).decode ()
6367
64- r = client .post ('/' , json = {'message' : {'data' : data }}, headers = header_data )
68+ r = client .post ('/' , json = {'message' : {'data' : data }}, headers = binary_headers )
6569 assert r .status_code == 200
6670
6771 out , _ = capsys .readouterr ()
68- ce_id = header_data [ 'Ce-Id ' ]
72+ ce_id = binary_headers [ 'ce-id ' ]
6973 assert f'Hello, { name } ! ID: { ce_id } ' in out
7074
7175
7276def test_missing_required_fields (client , capsys ):
73- for field in required_fields :
74- test_headers = copy .copy (header_data )
77+ for field in binary_headers :
78+ test_headers = copy .copy (binary_headers )
7579 test_headers .pop (field )
7680
7781 r = client .post ('/' , headers = test_headers )
7882 assert r .status_code == 400
7983
8084 out , _ = capsys .readouterr ()
81- assert f'Bad Request: missing required header { field } ' in out
85+ assert 'MissingRequiredFields ' in out
0 commit comments