/
rest_test.go
67 lines (50 loc) · 2.43 KB
/
rest_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package tests
import (
"testing"
"github.com/couchbase/backup/couchbase"
"github.com/couchbase/backup/value"
)
func TestGetPutViews(t *testing.T) {
bucket := "default"
defer deleteAllBuckets(testHost, t)
deleteAllBuckets(testHost, t)
createCouchbaseBucket(testHost, bucket, "", t)
rest := couchbase.CreateRestClient(testHost, rbacUsername, rbacPassword, nil)
ddocs := make([]value.DDoc, 0)
single := make(map[string]map[string]map[string]string)
single["views"] = make(map[string]map[string]string)
single["views"]["single"] = make(map[string]string)
single["views"]["single"]["map"] = "function (doc, meta) {\n emit(meta.id, null);\n}"
ddocs = append(ddocs, value.DDoc{"_design/single", "xxxxx", single})
multi := make(map[string]map[string]map[string]string)
multi["views"] = make(map[string]map[string]string)
multi["views"]["first"] = make(map[string]string)
multi["views"]["first"]["map"] = "function (doc, meta) {\n emit(meta.id, null);\n}"
multi["views"]["second"] = make(map[string]string)
multi["views"]["second"]["map"] = "function (doc, meta) {\n emit(meta.id, null);\n}"
ddocs = append(ddocs, value.DDoc{"_design/multi", "xxxxx", multi})
withreduce := make(map[string]map[string]map[string]string)
withreduce["views"] = make(map[string]map[string]string)
withreduce["views"]["reduced"] = make(map[string]string)
withreduce["views"]["reduced"]["map"] = "function (doc, meta) {\n emit(meta.id, null);\n}"
withreduce["views"]["reduced"]["reduce"] = "_count"
ddocs = append(ddocs, value.DDoc{"_design/red", "xxxxx", withreduce})
spatialsingle := make(map[string]map[string]string)
spatialsingle["spatial"] = make(map[string]string)
spatialsingle["spatial"]["spat"] = "function (doc) {\n if (doc.geometry) {\n" +
" emit([doc.geometry], null);\n }\n}"
ddocs = append(ddocs, value.DDoc{"_design/spatsingle", "xxxxx", spatialsingle})
spatialmulti := make(map[string]map[string]string)
spatialmulti["spatial"] = make(map[string]string)
spatialmulti["spatial"]["locate"] = "function (doc) {\n if (doc.geometry) {\n" +
" emit([doc.geometry], null);\n }\n}"
spatialmulti["spatial"]["plot"] = "function (doc) {\n if (doc.geometry) {\n" +
" emit([doc.geometry], null);\n }\n}"
ddocs = append(ddocs, value.DDoc{"_design/spatmulti", "xxxxx", spatialmulti})
checkError(rest.PutViews(bucket, ddocs), t)
views, err := rest.GetViews(bucket)
checkError(err, t)
if len(views) != 5 {
t.Fatal("Expected to get 5 views")
}
}