@@ -105,6 +105,10 @@ def vnd_single():
105
105
}
106
106
]
107
107
}
108
+ },
109
+ 'meta' : {
110
+ 'key' : 'value' ,
111
+ 'other_key' : 'other_value' ,
108
112
}
109
113
},
110
114
'included' : [
@@ -1080,3 +1084,58 @@ def test_plain_json_single_count(self, vnd_single):
1080
1084
with pytest .raises (AssertionError ) as err :
1081
1085
AssertionHelper .HTTP_200 (response , count = 1 )
1082
1086
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