We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python -m unittest discover
FAILED (failures=2)
运行如下命令:
$ git clone git@github.com:xxx/alipay.git $ cd alipay $ virtualenv --python=python venv $ source venv/bin/activate $ pip install -r requirements.txt $ python -m unittest discover
测试没通过:
..............Invalid command 'sha'; type "help" for a list. FInvalid command 'sha'; type "help" for a list. F.. ====================================================================== FAIL: test_sign_data_with_private_key_sha1 (tests.test.AliPayTestCase) openssl 以及aliapy分别对数据进行签名,得到同样的结果 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/vagrant/coding/alipay/tests/test.py", line 108, in test_sign_data_with_private_key_sha1 self.assertEqual(result1, result2) AssertionError: u'Q7kdCF6TYdKFOFAjrlmi910KVZ7NnDY+/DeQVe3Qd81BhGSF2ChutTqQB2skMbqBgAzZrBj9kIrty7 [truncated]... != u'' - Q7kdCF6TYdKFOFAjrlmi910KVZ7NnDY+/DeQVe3Qd81BhGSF2ChutTqQB2skMbqBgAzZrBj9kIrty7vBzY5LxdiUQbWGsM7THGb9w7MYqFpTKKtAy4ZJUUpCxQ0gqEvoSAR21F288IgJIuBZc1MJbBr6n2uMPVHl3zc0Box8trDPjqiVOWpDLrfFcBdQeFj4udPemGc8MbWvv6MZNIsGrBJKi5zYGlbv+hsooVgjNNWWrWkIBRivMxMfA2K4CKl3kJoxflEwGr5G9o/qGPXb7xCS7NZWU9F+DQeiw7R4GRyRqtFOUMEWE5uR/rLUoFVdmhgFcgSoIbw9Bpe1XLc8SQ== + ====================================================================== FAIL: test_sign_data_with_private_key_sha256 (tests.test.AliPayTestCase) openssl 以及aliapy分别对数据进行签名,得到同样的结果 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/vagrant/coding/alipay/tests/test.py", line 120, in test_sign_data_with_private_key_sha256 self.assertEqual(result1, result2) AssertionError: u'N1IQLlHVZSmai3D0kF2r3IZTwrpUQdh0pbUAjE8bbiKBjRUvXX2T127yJW2pre4kPlS2HWgdbV6yDq [truncated]... != u'' - N1IQLlHVZSmai3D0kF2r3IZTwrpUQdh0pbUAjE8bbiKBjRUvXX2T127yJW2pre4kPlS2HWgdbV6yDqk2ykIDHldFnJBkhs/UPwt4D1Lt2rKgGETH1Tn98vgvbmYtAXNZDCAK6CcA+FTVFrpsHmBC4AkUppOb97gzmDeTRh9vTOXzNoMBv7bYktdCRPBODQEXhcTfYNS57JgB25+uuHeAQdju3TdMeupHj2K0ktpBCLNwc9FOXAjOBil0Bo3aEV4+RLllGcsig5oe3vrKL5OfenSzA9YbgiGhHC8lWtYYeeBlOY0zijRTb+uCnnwMQTKbLHY/1HoY/D9b7n1uBAL1Bw== + ---------------------------------------------------------------------- Ran 18 tests in 0.941s FAILED (failures=2)
操作系统和python版本如下:
$ cat /etc/issue Ubuntu 18.04 LTS \n \l $ python -V Python 2.7.15rc1
怎么才能让测试通过呀?
The text was updated successfully, but these errors were encountered:
这边通过库以及openssl的sha函数分别对字符串进行摘要, 比较结果, 如果相同则测试通过。
result1 = alipay._sign("hello\n") result2 = subprocess.check_output( "echo hello | openssl sha -sha1 -sign {} | openssl base64".format( self._app_private_key_path ), shell=True).decode("utf-8")
你试试在命令行下执行 openssl --help 试试, 看看有没有sha这个子命令
openssl --help
Sorry, something went wrong.
把第104行和地116行修改如下后,测试通过了:
- "echo hello | openssl sha -sha1 -sign {} | openssl base64".format( + "echo hello | openssl sha1 -sign {} | openssl base64".format( - "echo hello | openssl sha -sha256 -sign {} | openssl base64".format( + "echo hello | openssl sha256 -sign {} | openssl base64".format(
应该是实用的openssl版本不同导致的, 我改成了
openssl dgst -sha1/256
No branches or pull requests
运行如下命令:
测试没通过:
操作系统和python版本如下:
怎么才能让测试通过呀?
The text was updated successfully, but these errors were encountered: