Skip to content
Snippets Groups Projects
Unverified Commit a474ffb9 authored by Jean-Paul Calderone's avatar Jean-Paul Calderone Committed by GitHub
Browse files

Merge pull request #13 from PrivateStorageio/fix-openssl-build-issues

Fix Foolscap protocol issues.
parents 4810478d 063cefac
Branches
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@ from subprocess import check_output
from io import BytesIO
import requests
import hyperlink
def main():
(clientDir,) = argv[1:]
......@@ -19,28 +20,62 @@ def main():
someData = urandom(2 ** 16)
api_root = get_api_root(clientDir)
cap = put(api_root, someData)
dataReadBack = get(api_root, cap)
exercise_immutable(api_root, someData)
exercise_mkdir(api_root)
def exercise_immutable(api_root, someData):
cap = tahoe_put(api_root, someData)
dataReadBack = tahoe_get(api_root, cap)
assert someData == dataReadBack
return cap
def exercise_mkdir(api_root):
cap = tahoe_mkdir(api_root)
info = tahoe_stat(api_root, cap)
assert info
def get_api_root(path):
with open(path + u"/node.url") as f:
return f.read().strip()
return hyperlink.URL.from_text(f.read().strip())
def put(api_root, data):
response = requests.put(api_root + u"uri", BytesIO(data))
def tahoe_put(api_root, data, **kwargs):
response = requests.put(
api_root.child(u"uri").to_uri(),
BytesIO(data),
)
response.raise_for_status()
return response.text
def get(api_root, cap):
response = requests.get(api_root + u"uri/" + cap, stream=True)
def tahoe_get(api_root, cap):
response = requests.get(
api_root.child(u"uri", cap).to_uri(),
stream=True,
)
response.raise_for_status()
return response.raw.read()
def tahoe_mkdir(api_root):
response = requests.post(
api_root.child(u"uri").replace(query={u"t": u"mkdir", u"format": u"mdmf"}).to_uri(),
)
response.raise_for_status()
return response.text
def tahoe_link(api_root, dir_cap, name, subject_cap):
response = requests.post(
api_root.child(u"uri", dir_cap, name).replace(query={u"t": u"uri"}).to_uri(),
BytesIO(subject_cap),
)
response.raise_for_status()
return response.text
def tahoe_stat(api_root, cap):
response = requests.get(
api_root.child(u"uri", cap).replace(query={u"t": u"json"}).to_uri(),
)
response.raise_for_status()
return response.json
if __name__ == u'__main__':
main()
......@@ -53,7 +53,7 @@ import <nixpkgs/nixos/tests/make-test.nix> {
# plugin.
pspkgs.privatestorage
# Support for the tests we'll run.
(pkgs.python3.withPackages (ps: [ ps.requests ]))
(pkgs.python3.withPackages (ps: [ ps.requests ps.hyperlink ]))
];
} // networkConfig;
......
......@@ -4,6 +4,6 @@ in
pkgs.fetchFromGitHub {
owner = "PrivateStorageio";
repo = "ZKAPAuthorizer";
rev = "996f0acdb46dc0f2ef14a06ae0012771b43c087c";
sha256 = "09kkzq6pd61xwaq6dlfl25rqbi7ssdzkvknhsx59cyanxpk66rcd";
rev = "ede17a6e2e53d56978dcd5962322987c15d59634";
sha256 = "1i1cmj6mnmr3i1md7qks57xqdp1blhr375jsxds29glk9b8wp757";
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment