@@ -105,6 +105,10 @@ def vnd_single():
105105 }
106106 ]
107107 }
108+ },
109+ 'meta' : {
110+ 'key' : 'value' ,
111+ 'other_key' : 'other_value' ,
108112 }
109113 },
110114 'included' : [
@@ -1080,3 +1084,58 @@ def test_plain_json_single_count(self, vnd_single):
10801084 with pytest .raises (AssertionError ) as err :
10811085 AssertionHelper .HTTP_200 (response , count = 1 )
10821086 assert f'Count is only checked when response is list' in str (err .value )
1087+
1088+ def test_vnd_meta (self , vnd_single ):
1089+ response = self .build_response (vnd_single )
1090+ AssertionHelper .HTTP_200 (response , entity_refs = AssertionHelper .EntityRef (
1091+ resource = EXAMPLE_RESOURCE ['type' ],
1092+ meta = {
1093+ 'key' : 'value' ,
1094+ 'other_key' : 'other_value'
1095+ },
1096+ ))
1097+
1098+ def test_vnd_meta_mismatch (self , vnd_single ):
1099+ response = self .build_response (vnd_single )
1100+ with pytest .raises (AssertionError ) as err :
1101+ AssertionHelper .HTTP_200 (response , entity_refs = AssertionHelper .EntityRef (
1102+ resource = EXAMPLE_RESOURCE ['type' ],
1103+ meta = {
1104+ 'key' : 'different value'
1105+ },
1106+ ))
1107+ assert f'Meta field `key` had value `value` not `different value` as expected.' in str (err .value )
1108+
1109+ def test_vnd_meta_invalid_key (self , vnd_single ):
1110+ response = self .build_response (vnd_single )
1111+ with pytest .raises (AssertionError ) as err :
1112+ AssertionHelper .HTTP_200 (response , entity_refs = AssertionHelper .EntityRef (
1113+ resource = EXAMPLE_RESOURCE ['type' ],
1114+ meta = {
1115+ 'invalid_key' : 'value'
1116+ },
1117+ ))
1118+ assert f'Meta field `invalid_key` not found' in str (err .value )
1119+
1120+ def test_vnd_no_meta (self , vnd_single ):
1121+ vnd_single ['data' ].pop ('meta' )
1122+ response = self .build_response (vnd_single )
1123+ with pytest .raises (AssertionError ) as err :
1124+ AssertionHelper .HTTP_200 (response , entity_refs = AssertionHelper .EntityRef (
1125+ resource = EXAMPLE_RESOURCE ['type' ],
1126+ meta = {
1127+ 'key' : 'value'
1128+ },
1129+ ))
1130+ assert 'Meta missing' in str (err .value )
1131+
1132+ def test_vnd_invalid_meta_format (self , vnd_single ):
1133+ response = self .build_response (vnd_single )
1134+ with pytest .raises (AssertionError ) as err :
1135+ AssertionHelper .HTTP_200 (response , entity_refs = AssertionHelper .EntityRef (
1136+ resource = EXAMPLE_RESOURCE ['type' ],
1137+ meta = [{
1138+ 'key' : 'value'
1139+ }],
1140+ ))
1141+ assert 'Invalid format for meta data <class \' list\' >, must be dict' in str (err .value )
0 commit comments