ôY ã@scddlZddlZddlZddlZddlmZdZGdd„dejƒZ dS)éN)Úkeysa  { "verifiers": [ { "scope": "+", "vk": "bp-bjK2fFgtA-8DhKKAAPm9-eAZcX_u03oBv2RlKOBc" }, { "scope": "+", "vk": "KAHZBfyqFW3OcFDbLSG4nPCjXxUPy72phP9I4Rn9MAo" }, { "scope": "+", "vk": "tmAYCrSfj8gtJ10v3VkvW7jOndKmQIYE12hgnFu3cvk" } ], "signers": [ { "scope": "+", "vk": "tmAYCrSfj8gtJ10v3VkvW7jOndKmQIYE12hgnFu3cvk" }, { "scope": "+", "vk": "KAHZBfyqFW3OcFDbLSG4nPCjXxUPy72phP9I4Rn9MAo" } ], "schema": 1 } c@s@eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú TestWheelKeyscsžtjddƒˆ_ˆjjƒtjjˆjjƒ\ˆ_ˆ_ ‡fdd†}‡fdd†}|t _ |t _ t j ƒˆ_ˆj ˆj_dS)NÚsuffixz.jsoncs ˆjgS)N)Ú config_path)Úargs)Úself©ú5/tmp/pip-build-3puug3g5/wheel/wheel/test/test_keys.pyÚload,sz!TestWheelKeys.setUp..loadcsˆjS)N)r)r)rrr Úsave.sz!TestWheelKeys.setUp..save)ÚtempfileÚNamedTemporaryFileÚconfigÚcloseÚosÚpathÚsplitÚnamerZconfig_filenamerZload_config_pathsZsave_config_pathZ WheelKeysÚwkZ CONFIG_NAME)rr r r)rr ÚsetUp's $  zTestWheelKeys.setUpcCstj|jjƒdS)N)rÚunlinkrr)rrrr ÚtearDown5szTestWheelKeys.tearDowncCsbtjtƒ|j_|jjddƒ|jjddƒ|jjddƒ|jjddƒ|jjƒ|j`|jjƒ|jj dƒ}|j |dd k|jjd ƒ|j |d ddk|jjd ƒ|jj dƒ}|j |dd kƒ|j |d ddkƒ|jj ddƒ|jj dƒ}|j d |kƒdS)Nú+Z67890ÚscopeÚabcdefgÚepocsÚgfedcbaZ12345rÚsignersé)rr)rr)rr) ÚjsonÚloadsÚ wheel_jsonrÚdataZ add_signerÚtrustr r rZ assertTrueÚtrustedZuntrust)rrr$rrr Útest_load_save8s"   $(zTestWheelKeys.test_load_savec Cs¦tjtƒ|j_|jjd=|jjd|jjd<|jjƒy|jjƒWntk rnYn Xt dƒ‚|jjd=|jjƒ|jjƒdS)NrrZschemazExpected ValueError) rr r!rr"ZSCHEMAr r Ú ValueErrorÚ Exception)rrrr Útest_load_save_incompleteRs      z'TestWheelKeys.test_load_save_incompleteN)Ú__name__Ú __module__Ú __qualname__rrr%r(rrrr r&s    r) r Úos.pathrZunittestrZwheel.signaturesrr!ZTestCaserrrrr Ús