Best Python code snippet using tempest_python
custom_matchers.py
Source:custom_matchers.py
...28 """29 self.target = target30 self.method = method31 self.policies = policies or []32 def _content_length_required(self, resp):33 # Verify whether given HTTP response must contain content-length.34 # Take into account the exceptions defined in RFC 7230.35 if resp.status in range(100, 200) or resp.status == 204:36 return False37 return True38 def match(self, actual):39 """Check headers40 param: actual HTTP response object containing headers and status41 """42 # Check common headers for all HTTP methods.43 #44 # Please note that for 1xx and 204 responses Content-Length presence45 # is not checked intensionally. According to RFC 7230 a server MUST46 # NOT send the header in such responses. Thus, clients should not47 # depend on this header. However, the standard does not require them48 # to validate the server's behavior. We leverage that to not refuse49 # any implementation violating it like Swift [1] or some versions of50 # Ceph RadosGW [2].51 # [1] https://bugs.launchpad.net/swift/+bug/153781152 # [2] http://tracker.ceph.com/issues/1358253 if ('content-length' not in actual and54 self._content_length_required(actual)):55 return NonExistentHeader('content-length')56 if 'content-type' not in actual:57 return NonExistentHeader('content-type')58 if 'x-trans-id' not in actual:59 return NonExistentHeader('x-trans-id')60 if 'date' not in actual:61 return NonExistentHeader('date')62 # Check headers for a specific method or target63 if self.method == 'GET' or self.method == 'HEAD':64 if 'x-timestamp' not in actual:65 return NonExistentHeader('x-timestamp')66 if 'accept-ranges' not in actual:67 return NonExistentHeader('accept-ranges')68 if self.target == 'Account':...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!