-
Notifications
You must be signed in to change notification settings - Fork 0
/
db_test.go
121 lines (104 loc) · 2.15 KB
/
db_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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package stewdy
import (
"log"
"testing"
)
func TestDB(t *testing.T) {
testBucket := "test"
db.deleteBucket(testBucket)
defer db.deleteBucket(testBucket)
t.Run("Targets", func(t *testing.T) {
tr := Target{Id: "T1", CampaignID: "C1"}
err := db.saveTarget(testBucket, tr)
if err != nil {
t.Fatal(err)
}
trg, err := db.getTarget(testBucket, tr.GetId())
if err != nil {
t.Fatal(err)
}
if trg.CampaignID != tr.CampaignID {
t.Fatalf("trg.CampaignID = %s, expected %s", trg.CampaignID, tr.CampaignID)
}
})
t.Run("Campaigns", func(t *testing.T) {
c := Campaign{Id: "11", QueueID: "11"}
err := db.saveCampaign(c)
if err != nil {
t.Fatal(err)
}
cmp, err := db.getCampaign(c.GetId())
if err != nil {
t.Fatal(err)
}
if cmp.QueueID != c.QueueID {
t.Errorf("cmp.QueueID = %s, expected %s", cmp.QueueID, c.QueueID)
}
_, err = db.getCampaign("123321")
if err == nil {
log.Fatal("db.getCampaign(\"123321\") returns no error")
}
})
t.Run("Many", func(t *testing.T) {
campaigns := []interface{}{
&Campaign{
Id: "C1",
QueueID: "Q11",
},
&Campaign{
Id: "C2",
QueueID: "Q22",
},
}
err := db.saveMany(testBucket, campaigns)
if err != nil {
t.Fatal(err)
}
})
t.Run("ManyTargets", func(t *testing.T) {
targets := []*Target{
{
Id: "1",
PhoneNumber: "11",
},
{
Id: "2",
PhoneNumber: "22",
},
}
err := db.saveManyTargets(testBucket, targets)
if err != nil {
t.Fatal(err)
}
})
t.Run("DeleteMany", func(t *testing.T) {
targets := []*Target{
{
Id: "1",
PhoneNumber: "11",
},
{
Id: "2",
PhoneNumber: "22",
},
}
db.saveManyTargets(testBucket, targets)
ids := []string{"1", "2"}
for _, id := range ids {
trg, err := db.getTarget(testBucket, id)
if err != nil {
t.Fatal(err)
}
if trg.GetId() != id {
t.Fatalf("trg.Id = %s, expected %s", trg.GetId(), id)
}
}
db.deleteMany(testBucket, ids)
for _, id := range ids {
_, err := db.getTarget(testBucket, id)
if err == nil {
t.Errorf("no error returned, expected %v", ErrNotFound)
}
}
})
}