added more client methods

This commit is contained in:
Jan Halfar 2016-03-09 22:17:07 +01:00
parent b8102b5164
commit c0b61188de
2 changed files with 33 additions and 4 deletions

View File

@ -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)

View File

@ -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) {