From cb611c8873caf5ab5d3feb94b3776addbc74511a Mon Sep 17 00:00:00 2001 From: Jeromy Date: Mon, 13 Feb 2017 19:15:17 -0800 Subject: [PATCH] allow for sub-object resolution in dag get License: MIT Signed-off-by: Jeromy --- core/commands/dag/dag.go | 2 +- merkledag/merkledag.go | 2 +- package.json | 4 ++-- test/sharness/t0053-dag.sh | 25 +++++++++++++++++++++++-- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/core/commands/dag/dag.go b/core/commands/dag/dag.go index c03771b45d8..0c05cb07be0 100644 --- a/core/commands/dag/dag.go +++ b/core/commands/dag/dag.go @@ -10,8 +10,8 @@ import ( path "github.com/ipfs/go-ipfs/path" cid "gx/ipfs/QmV5gPoRsjN1Gid3LMdNZTyfCtP2DsvqEbMAmz82RmmiGk/go-cid" - ipldcbor "gx/ipfs/QmWcQMNruWC3wphK1L6zEcV4MZBJqfsNKSRFcuo4AsNk4k/go-ipld-cbor" node "gx/ipfs/QmYDscK7dmdo2GZ9aumS8s5auUUAH5mR1jvj5pYhWusfK7/go-ipld-node" + ipldcbor "gx/ipfs/QmdaC21UyoyN3t9QdapHZfsaUo3mqVf5p4CEuFaYVFqwap/go-ipld-cbor" ) var DagCmd = &cmds.Command{ diff --git a/merkledag/merkledag.go b/merkledag/merkledag.go index 6257d8c5ff9..fb20948bc99 100644 --- a/merkledag/merkledag.go +++ b/merkledag/merkledag.go @@ -13,8 +13,8 @@ import ( logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" cid "gx/ipfs/QmV5gPoRsjN1Gid3LMdNZTyfCtP2DsvqEbMAmz82RmmiGk/go-cid" - ipldcbor "gx/ipfs/QmWcQMNruWC3wphK1L6zEcV4MZBJqfsNKSRFcuo4AsNk4k/go-ipld-cbor" node "gx/ipfs/QmYDscK7dmdo2GZ9aumS8s5auUUAH5mR1jvj5pYhWusfK7/go-ipld-node" + ipldcbor "gx/ipfs/QmdaC21UyoyN3t9QdapHZfsaUo3mqVf5p4CEuFaYVFqwap/go-ipld-cbor" ) var log = logging.Logger("merkledag") diff --git a/package.json b/package.json index 5bc55d63c28..38a53ccbe20 100644 --- a/package.json +++ b/package.json @@ -267,9 +267,9 @@ }, { "author": "whyrusleeping", - "hash": "QmWcQMNruWC3wphK1L6zEcV4MZBJqfsNKSRFcuo4AsNk4k", + "hash": "QmdaC21UyoyN3t9QdapHZfsaUo3mqVf5p4CEuFaYVFqwap", "name": "go-ipld-cbor", - "version": "1.2.0" + "version": "1.2.1" }, { "author": "lgierth", diff --git a/test/sharness/t0053-dag.sh b/test/sharness/t0053-dag.sh index d8ab1420e2e..fed63640c86 100755 --- a/test/sharness/t0053-dag.sh +++ b/test/sharness/t0053-dag.sh @@ -22,7 +22,7 @@ test_expect_success "make a few test files" ' ' test_expect_success "make an ipld object in json" ' - printf "{\"hello\":\"world\",\"cats\":[{\"/\":\"%s\"},{\"water\":{\"/\":\"%s\"}}],\"magic\":{\"/\":\"%s\"}}" $HASH1 $HASH2 $HASH3 > ipld_object + printf "{\"hello\":\"world\",\"cats\":[{\"/\":\"%s\"},{\"water\":{\"/\":\"%s\"}}],\"magic\":{\"/\":\"%s\"},\"sub\":{\"dict\":\"ionary\",\"beep\":[0,\"bop\"]}}" $HASH1 $HASH2 $HASH3 > ipld_object ' test_dag_cmd() { @@ -31,7 +31,7 @@ test_dag_cmd() { ' test_expect_success "output looks correct" ' - EXPHASH="zdpuAzn7KZcQmKJvpEM1DgHXaybVj7mRP4ZMrkW94taYEuZHp" + EXPHASH="zdpuAsXfkHapxohc8LtsCzYiAsy84ESqKRD8eWuY64tt9r2CE" test $EXPHASH = $IPLDHASH ' @@ -47,6 +47,27 @@ test_dag_cmd() { test_cmp file3 out3 ' + test_expect_success "resolving sub-objects works" ' + ipfs dag get $IPLDHASH/hello > sub1 && + ipfs dag get $IPLDHASH/sub > sub2 && + ipfs dag get $IPLDHASH/sub/beep > sub3 && + ipfs dag get $IPLDHASH/sub/beep/0 > sub4 && + ipfs dag get $IPLDHASH/sub/beep/1 > sub5 + ' + + test_expect_success "sub-objects look right" ' + echo "\"world\"" > sub1_exp && + test_cmp sub1_exp sub1 && + echo "{\"beep\":[0,\"bop\"],\"dict\":\"ionary\"}" > sub2_exp && + test_cmp sub2_exp sub2 && + echo "[0,\"bop\"]" > sub3_exp && + test_cmp sub3_exp sub3 && + echo "0" > sub4_exp && + test_cmp sub4_exp sub4 && + echo "\"bop\"" > sub5_exp && + test_cmp sub5_exp sub5 + ' + test_expect_success "can pin cbor object" ' ipfs pin add $EXPHASH '