From c0b61188def30a4c49a70e02cb902fd312504d8e Mon Sep 17 00:00:00 2001 From: Jan Halfar Date: Wed, 9 Mar 2016 22:17:07 +0100 Subject: [PATCH] added more client methods --- client/client.go | 12 +++++++++--- client/client_test.go | 25 ++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/client/client.go b/client/client.go index 50a566d..beb0e01 100644 --- a/client/client.go +++ b/client/client.go @@ -52,12 +52,18 @@ func (c *Client) GetURIs(dimension string, IDs []string) (uriMap map[string]stri return } -func (c *Client) GetNodes(r *requests.Nodes) (nodes map[string]*content.Node, err error) { - nodes = map[string]*content.Node{} - err = c.call(server.HandlerUpdate, r, &nodes) +// GetNodes request nodes +func (c *Client) GetNodes(env *requests.Env, nodes map[string]*requests.Node) (nodesResponse map[string]*content.Node, err error) { + r := &requests.Nodes{ + Env: env, + Nodes: nodes, + } + nodesResponse = map[string]*content.Node{} + err = c.call(server.HandlerGetNodes, r, &nodesResponse) return } +// GetRepo get the whole repo func (c *Client) GetRepo() (response map[string]*content.RepoNode, err error) { response = map[string]*content.RepoNode{} err = c.call(server.HandlerGetRepo, &requests.Repo{}, &response) diff --git a/client/client_test.go b/client/client_test.go index aece3eb..7dbebf5 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -70,7 +70,30 @@ func TestGetRepo(t *testing.T) { if err != nil { t.Fatal(err) } - t.Log(r) + if r["dimension_foo"].Nodes["id-a"].Data["baz"].(float64) != float64(1) { + t.Fatal("failed to drill deep for data") + } +} + +func TestGetNodes(t *testing.T) { + c := getTestClient(t) + nodesRequest := mock.MakeNodesRequest() + nodes, err := c.GetNodes(nodesRequest.Env, nodesRequest.Nodes) + if err != nil { + t.Fatal(err) + } + testNode, ok := nodes["test"] + if !ok { + t.Fatal("that should be a node") + } + testData, ok := testNode.Item.Data["foo"] + if !ok { + t.Fatal("where is foo") + } + if testData != "bar" { + t.Fatal("testData should have bennd bar not", testData) + } + } func TestGetContent(t *testing.T) {