test_update.py (1109B)
1 #!/usr/bin/env python 2 3 from __future__ import unicode_literals 4 5 # Allow direct execution 6 import os 7 import sys 8 import unittest 9 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 10 11 12 import json 13 from youtube_dl.update import rsa_verify 14 15 16 class TestUpdate(unittest.TestCase): 17 def test_rsa_verify(self): 18 UPDATES_RSA_KEY = (0x9d60ee4d8f805312fdb15a62f87b95bd66177b91df176765d13514a0f1754bcd2057295c5b6f1d35daa6742c3ffc9a82d3e118861c207995a8031e151d863c9927e304576bc80692bc8e094896fcf11b66f3e29e04e3a71e9a11558558acea1840aec37fc396fb6b65dc81a1c4144e03bd1c011de62e3f1357b327d08426fe93, 65537) 19 with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'versions.json'), 'rb') as f: 20 versions_info = f.read().decode() 21 versions_info = json.loads(versions_info) 22 signature = versions_info['signature'] 23 del versions_info['signature'] 24 self.assertTrue(rsa_verify( 25 json.dumps(versions_info, sort_keys=True).encode('utf-8'), 26 signature, UPDATES_RSA_KEY)) 27 28 29 if __name__ == '__main__': 30 unittest.main()