示例#1
0
    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)
示例#2
0
 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'
示例#6
0
 def test_verify_signature(self):
     assert verify_signature(token=self.TOKEN) == self.PAYLOAD
示例#7
0
 def test_invalid_signature_error(self):
     key = "aceleras"
     self.assertEqual(verify_signature(self.token, key), {"error": 2})
示例#8
0
 def test_exception_on_verify_signature_(self):
     assert verify_signature(self.token_wrong) == self.erro_message
示例#9
0
 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}
示例#10
0
 def test_verify_signature(self):
     result = verify_signature(self.token)
     assert result == {"language": "Python"}
示例#11
0
 def test_verify_signature(self):
     assert (verify_signature(self.token) == self.payload), {"error": 2}
示例#12
0
 def test_verify_signature(self):
     assert verify_signature(self.token) == {"language": "Python"}
示例#13
0
 def test_verify_signature_with_error(self):
     assert verify_signature('testestest') == {"error": 2}
示例#14
0
 def test_verify_signature_generic_exception(self, jwt_mock):
     jwt_mock.decode.side_effect = InvalidTokenError
     with pytest.raises(InvalidTokenError):
         verify_signature(None)
示例#15
0
 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}
示例#16
0
 def test_verify_signature(self):
     assert verify_signature(self.token.encode()) == self.payload
示例#17
0
 def test_verify_signature_request_form_empty(self):
     with pytest.raises(ValueError):
         request = Request()
         request.headers = {}
         main.verify_signature(request)
示例#18
0
 def test_verify_signature(self):
     self.assertEqual(verify_signature(self.token), {"language": "Python"})
示例#19
0
 def test_verify_signature_token_incorrect(self):
     with pytest.raises(ValueError):
         request = Request()
         request.headers = {'X-Slack-Signature': '12345'}
         main.verify_signature(request)
示例#20
0
 def test_decode_error(self):
     token = (b"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsYW5ndWFnZSI6IlB5dG"
              b"hvbiJ9.sM_VQuKZe_VTlqfS3FlAm8XLFhgvQQLk2kkRTpiXq7M42")
     self.assertEqual(verify_signature(token), "Invalid crypto padding")
示例#21
0
 def test_verify_web_hook_valid_request(self):
     request = Request()
     request.headers = {
         'X-Slack-Signature': os.environ['SLACK_TEST_SIGNATURE']
     }
     main.verify_signature(request)
示例#22
0
 def test_verify_error_signature(self):
     assert verify_signature(token=self.TOKEN) == {"error": 2}
示例#23
0
 def test_verify_signature_ok(self):
     token = create_token({"language": "Python"}, "acelera")
     assert verify_signature(token) == {"language": "Python"}
示例#24
0
 def test_invalid_secret(self):
     decoded = verify_signature(self.token, "acelera123")
     assert decoded.get('error') == 2
示例#25
0
 def test_verify_signature_wrong_signature(self):
     token = create_token({"language": "Python"}, "desacelera")
     assert verify_signature(token) == {"error": 2}
示例#26
0
 def test_verify_signature_fail_by_value(self, token):
     decoded = verify_signature(token, self.secret)
     assert decoded.get('language') != 'Python'
示例#27
0
 def test_verify_signature_invalid_token(self):
     invalid = (b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9eyJsYW5ndWFnZSI6I'
                b'lB5dGhvbiJ9sM_VQuKZe_VTlqfS3FlAm8XLFhgvQQLk2kkRTpiXq7M')
     assert verify_signature(invalid) == {"error": 2}
示例#28
0
 def test_verify_signature(self):
     assert verify_signature(self.token) == self.data
示例#29
0
 def test_verify_signature_fail(self):
     error_number = verify_signature("invalidtoken")
     assert error_number == {"error": 2}