...
1
2
3
4
5
6
7
8
9
10
11
12
13 package db
14
15 import (
16 "context"
17
18 "github.com/go-kivik/kivik/v4"
19 "github.com/go-kivik/kivik/v4/kiviktest/kt"
20 )
21
22 func init() {
23 kt.Register("DeleteIndex", delindex)
24 }
25
26 func delindex(ctx *kt.Context) {
27 ctx.RunRW(func(ctx *kt.Context) {
28 ctx.RunAdmin(func(ctx *kt.Context) {
29 ctx.Parallel()
30 testDelIndex(ctx, ctx.Admin)
31 })
32 ctx.RunNoAuth(func(ctx *kt.Context) {
33 ctx.Parallel()
34 testDelIndex(ctx, ctx.NoAuth)
35 })
36 })
37 }
38
39 func testDelIndex(ctx *kt.Context, client *kivik.Client) {
40 dbname := ctx.TestDB()
41
42 dba := ctx.Admin.DB(dbname, ctx.Options("db"))
43 if err := dba.Err(); err != nil {
44 ctx.Fatalf("Failed to open db as admin: %s", err)
45 }
46 if err := dba.CreateIndex(context.Background(), "foo", "bar", `{"fields":["foo"]}`); err != nil {
47 ctx.Fatalf("Failed to create index: %s", err)
48 }
49 db := client.DB(dbname, ctx.Options("db"))
50 if err := db.Err(); err != nil {
51 ctx.Fatalf("Failed to open db: %s", err)
52 }
53 ctx.Run("group", func(ctx *kt.Context) {
54 ctx.Run("ValidIndex", func(ctx *kt.Context) {
55 ctx.Parallel()
56 ctx.CheckError(db.DeleteIndex(context.Background(), "foo", "bar"))
57 })
58 ctx.Run("NotFoundDdoc", func(ctx *kt.Context) {
59 ctx.Parallel()
60 ctx.CheckError(db.DeleteIndex(context.Background(), "notFound", "bar"))
61 })
62 ctx.Run("NotFoundName", func(ctx *kt.Context) {
63 ctx.Parallel()
64 ctx.CheckError(db.DeleteIndex(context.Background(), "foo", "notFound"))
65 })
66 })
67 }
68
View as plain text