def test_verify_web_hook_valid_request(self): request = Request() request.body = '' now = str(int(time.time())) verifier = SignatureVerifier(os.environ['SLACK_SECRET']) test_signature = verifier.generate_signature(timestamp=now, body='') request.headers = { 'X-Slack-Request-Timestamp': now, 'X-Slack-Signature': test_signature } main.verify_signature(request)
def test_verify_signature(self): decoded_jwt = verify_signature(self.token) assert decoded_jwt == {"language": "Python"}
def test_exception(self, mock_jwt): mock_jwt.decode.side_effect = Exception with pytest.raises(Exception): verify_signature(self.token, self.secret)
def test_verify_signature_fail_by_token(self, token): decoded = verify_signature(token, self.secret) assert decoded.get('error') == 2
def test_valid_signature(self): decoded = verify_signature(self.token, self.secret) assert decoded.get('language') == 'Python'
def test_verify_signature(self): assert verify_signature(token=self.TOKEN) == self.PAYLOAD
def test_invalid_signature_error(self): key = "aceleras" self.assertEqual(verify_signature(self.token, key), {"error": 2})
def test_exception_on_verify_signature_(self): assert verify_signature(self.token_wrong) == self.erro_message
def test_verify_signature_should_return_error_message_to_invalid_key(self): '''Testcase para chave secreta inválida.''' invalid_token = b'abc0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsYW5ndWFnZSI6IlB5dGhvbiJ9.sM_VQuKZe_VTlqfS3FlAm8XLFhgvQQLk2kkRTpiXq7M' result = verify_signature(invalid_token) assert result == {"error": 2}
def test_verify_signature(self): result = verify_signature(self.token) assert result == {"language": "Python"}
def test_verify_signature(self): assert (verify_signature(self.token) == self.payload), {"error": 2}
def test_verify_signature(self): assert verify_signature(self.token) == {"language": "Python"}
def test_verify_signature_with_error(self): assert verify_signature('testestest') == {"error": 2}
def test_verify_signature_generic_exception(self, jwt_mock): jwt_mock.decode.side_effect = InvalidTokenError with pytest.raises(InvalidTokenError): verify_signature(None)
def test_verify_signature_should_return_error_message_to_invalid_token( self): '''Testcase para token inválido.''' invalid_token = b'abc0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsYW5ndWFnZSI6IlB5dGhvbiJ9.' result = verify_signature(invalid_token) assert result == {"error": 2}
def test_verify_signature(self): assert verify_signature(self.token.encode()) == self.payload
def test_verify_signature_request_form_empty(self): with pytest.raises(ValueError): request = Request() request.headers = {} main.verify_signature(request)
def test_verify_signature(self): self.assertEqual(verify_signature(self.token), {"language": "Python"})
def test_verify_signature_token_incorrect(self): with pytest.raises(ValueError): request = Request() request.headers = {'X-Slack-Signature': '12345'} main.verify_signature(request)
def test_decode_error(self): token = (b"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsYW5ndWFnZSI6IlB5dG" b"hvbiJ9.sM_VQuKZe_VTlqfS3FlAm8XLFhgvQQLk2kkRTpiXq7M42") self.assertEqual(verify_signature(token), "Invalid crypto padding")
def test_verify_web_hook_valid_request(self): request = Request() request.headers = { 'X-Slack-Signature': os.environ['SLACK_TEST_SIGNATURE'] } main.verify_signature(request)
def test_verify_error_signature(self): assert verify_signature(token=self.TOKEN) == {"error": 2}
def test_verify_signature_ok(self): token = create_token({"language": "Python"}, "acelera") assert verify_signature(token) == {"language": "Python"}
def test_invalid_secret(self): decoded = verify_signature(self.token, "acelera123") assert decoded.get('error') == 2
def test_verify_signature_wrong_signature(self): token = create_token({"language": "Python"}, "desacelera") assert verify_signature(token) == {"error": 2}
def test_verify_signature_fail_by_value(self, token): decoded = verify_signature(token, self.secret) assert decoded.get('language') != 'Python'
def test_verify_signature_invalid_token(self): invalid = (b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9eyJsYW5ndWFnZSI6I' b'lB5dGhvbiJ9sM_VQuKZe_VTlqfS3FlAm8XLFhgvQQLk2kkRTpiXq7M') assert verify_signature(invalid) == {"error": 2}
def test_verify_signature(self): assert verify_signature(self.token) == self.data
def test_verify_signature_fail(self): error_number = verify_signature("invalidtoken") assert error_number == {"error": 2}