@@ -1138,7 +1138,7 @@ def test_post_create_not_supported(sut: SystemUnderTest):
1138
1138
"""Perform tests for Assertion.REQ_POST_CREATE_NOT_SUPPORTED."""
1139
1139
response = sut .get_response ('POST' , sut .accounts_uri )
1140
1140
if response is None :
1141
- msg = ('Not response found for POST to Accounts URI; unable to test '
1141
+ msg = ('No response found for POST to Accounts URI; unable to test '
1142
1142
'this assertion' )
1143
1143
sut .log (Result .NOT_TESTED , 'POST' , '' , sut .accounts_uri ,
1144
1144
Assertion .REQ_POST_CREATE_NOT_SUPPORTED , msg )
@@ -1151,14 +1151,39 @@ def test_post_create_not_supported(sut: SystemUnderTest):
1151
1151
Assertion .REQ_POST_CREATE_NOT_SUPPORTED ,
1152
1152
'Test passed' )
1153
1153
else :
1154
- msg = ('POST request to URI %s failed with %s; expected %s; extended '
1155
- 'error: %s' % (sut .accounts_uri , response .status_code ,
1156
- requests .codes .METHOD_NOT_ALLOWED ,
1157
- utils .get_extended_error (response )))
1158
- sut .log (Result .FAIL , 'POST' , response .status_code , sut .accounts_uri ,
1159
- Assertion .REQ_POST_CREATE_NOT_SUPPORTED ,
1160
- msg )
1161
-
1154
+ try :
1155
+ allow = sut .get_response ('GET' , sut .accounts_uri ).headers .get ('Allow' )
1156
+ except :
1157
+ allow = None
1158
+ if allow :
1159
+ if 'POST' in allow .upper ():
1160
+ msg = ('POST request to URI %s failed with %s; extended '
1161
+ 'error: %s; GET response contains an Allow header '
1162
+ 'with POST specified' %
1163
+ (sut .accounts_uri , response .status_code ,
1164
+ utils .get_extended_error (response )))
1165
+ sut .log (Result .WARN , 'POST' , response .status_code ,
1166
+ sut .accounts_uri ,
1167
+ Assertion .REQ_POST_CREATE_NOT_SUPPORTED , msg )
1168
+ else :
1169
+ msg = ('POST request to URI %s failed with %s; expected %s; '
1170
+ 'extended error: %s' %
1171
+ (sut .accounts_uri , response .status_code ,
1172
+ requests .codes .METHOD_NOT_ALLOWED ,
1173
+ utils .get_extended_error (response )))
1174
+ sut .log (Result .FAIL , 'POST' , response .status_code ,
1175
+ sut .accounts_uri ,
1176
+ Assertion .REQ_POST_CREATE_NOT_SUPPORTED , msg )
1177
+ else :
1178
+ msg = ('POST request to URI %s failed with %s; expected %s; '
1179
+ 'extended error: %s; GET response does not contain an '
1180
+ 'Allow header to verify' %
1181
+ (sut .accounts_uri , response .status_code ,
1182
+ requests .codes .METHOD_NOT_ALLOWED ,
1183
+ utils .get_extended_error (response )))
1184
+ sut .log (Result .WARN , 'POST' , response .status_code ,
1185
+ sut .accounts_uri , Assertion .REQ_POST_CREATE_NOT_SUPPORTED ,
1186
+ msg )
1162
1187
1163
1188
def test_post_create_not_idempotent (sut : SystemUnderTest ):
1164
1189
"""Perform tests for Assertion.REQ_POST_CREATE_NOT_IDEMPOTENT."""
0 commit comments