def test_existed_wallet_permissions(tdir_hierarchy, test_wallet): root, dirs, files = tdir_hierarchy wpath = os.path.join(root, files[0]) mode1 = get_permissions(wpath) mode2 = mode1 | NOT_LISTED_PERMISSION wsh = WalletStorageHelper(root, fmode=mode2) wsh.saveWallet(test_wallet, files[0]) check_permissions(wpath, mode2)
def test_load_wallet_by_abs_path( tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) abs_path = os.path.join(keyrings_base_dir, "5/6/7/wallet") wsh.saveWallet(test_wallet, abs_path) loaded_wallet = wsh.loadWallet(abs_path) # TODO no comparison operator for Wallet (and classes it used) assert encode_wallet(test_wallet) == encode_wallet(loaded_wallet)
def test_load_wallet_by_abs_path(tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) abs_path = os.path.join(keyrings_base_dir, "5/6/7/wallet") wsh.saveWallet(test_wallet, abs_path) loaded_wallet = wsh.loadWallet(abs_path) # TODO no comparison operator for Wallet (and classes it used) assert encode_wallet(test_wallet) == encode_wallet(loaded_wallet)
def test_store_wallet_by_empty_path_fail( tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) for path in (None, ''): with pytest.raises(ValueError) as exc_info: wsh.saveWallet(test_wallet, path) exc_info.match(r'empty path')
def test_loaded_wallet_data(tdir_for_func, keyrings_base_dir, test_wallet): wpath = 'ctx/test.wallet' wsh = WalletStorageHelper(keyrings_base_dir) wsh.saveWallet(test_wallet, wpath) loaded_wallet = wsh.loadWallet(wpath) # TODO no comparison operator for Wallet (and classes it used) assert encode_wallet(test_wallet) == encode_wallet(loaded_wallet)
def test_store_wallet_by_empty_path_fail(tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) for path in (None, ''): with pytest.raises(ValueError) as exc_info: wsh.saveWallet(test_wallet, path) exc_info.match(r'empty path')
def test_wallet_dir_path_exists_as_file(tdir_hierarchy, test_wallet): root, dirs, files = tdir_hierarchy wdir = files[0] wsh = WalletStorageHelper(root) with pytest.raises(NotADirectoryError) as exc_info: wsh.saveWallet(test_wallet, os.path.join(wdir, 'wallet')) exc_info.match(r"{}".format(wdir))
def test_new_file_wallet_permissions( tdir_for_func, keyrings_base_dir, test_wallet): wpath = 'ctx/test.wallet' # default wsh = WalletStorageHelper(keyrings_base_dir) wpath = '1/2/3/wallet' wpath_res = wsh.saveWallet(test_wallet, wpath) check_permissions(wpath_res, DEFAULT_FMODE) # non-default fmode = DEFAULT_DMODE + 1 wsh = WalletStorageHelper(keyrings_base_dir, fmode=fmode) wpath = '4/5/6/wallet' wpath_res = wsh.saveWallet(test_wallet, wpath) check_permissions(wpath_res, fmode)
def test_new_file_wallet_permissions(tdir_for_func, keyrings_base_dir, test_wallet): wpath = 'ctx/test.wallet' # default wsh = WalletStorageHelper(keyrings_base_dir) wpath = '1/2/3/wallet' wpath_res = wsh.saveWallet(test_wallet, wpath) check_permissions(wpath_res, DEFAULT_FMODE) # non-default fmode = DEFAULT_DMODE + 1 wsh = WalletStorageHelper(keyrings_base_dir, fmode=fmode) wpath = '4/5/6/wallet' wpath_res = wsh.saveWallet(test_wallet, wpath) check_permissions(wpath_res, fmode)
def test_stored_wallet_data(tdir_for_func, keyrings_base_dir, test_wallet): wpath = 'ctx/test.wallet' wsh = WalletStorageHelper(keyrings_base_dir) wpath_res = wsh.saveWallet(test_wallet, wpath) assert wpath_res == os.path.join(keyrings_base_dir, wpath) with open(wpath_res) as wf: wdata = wf.read() # TODO no comparison operator for Wallet assert wdata == encode_wallet(test_wallet)
def test_store_wallet_by_abs_path( tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) abs_path = os.path.join(keyrings_base_dir, "1/2/3/wallet") wsh.saveWallet(test_wallet, abs_path) check_permissions(abs_path, DEFAULT_FMODE)
def test_store_wallet_by_abs_path(tdir_for_func, keyrings_base_dir, test_wallet): wsh = WalletStorageHelper(keyrings_base_dir) abs_path = os.path.join(keyrings_base_dir, "1/2/3/wallet") wsh.saveWallet(test_wallet, abs_path) check_permissions(abs_path, DEFAULT_FMODE)