MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestReplicateManagerReplications

Function TestReplicateManagerReplications

db/sg_replicate_cfg_test.go:24–86  ·  view source on GitHub ↗

Test node operations on SGReplicateManager

(t *testing.T)

Source from the content-addressed store, hash-verified

22
23// Test node operations on SGReplicateManager
24func TestReplicateManagerReplications(t *testing.T) {
25
26 ctx := base.TestCtx(t)
27 testBucket := base.GetTestBucket(t)
28 defer testBucket.Close(ctx)
29
30 testCfg, err := base.NewCfgSG(ctx, testBucket.GetSingleDataStore(), "")
31 require.NoError(t, err)
32
33 manager, err := NewSGReplicateManager(ctx, &DatabaseContext{Name: "test"}, testCfg)
34 require.NoError(t, err)
35 defer manager.Stop()
36
37 replication1_id := "replication1"
38 err = manager.AddReplication(testReplicationCfg(replication1_id, ""))
39 require.NoError(t, err)
40
41 r, err := manager.GetReplication(replication1_id)
42 require.NoError(t, err)
43 assert.Equal(t, replication1_id, r.ID)
44
45 // Request non-existent replication
46 _, err = manager.GetReplication("dne")
47 require.Error(t, err, base.ErrNotFound)
48
49 // Attempt to add existing replication
50 err = manager.AddReplication(testReplicationCfg(replication1_id, ""))
51 require.Error(t, err, base.ErrAlreadyExists)
52
53 // Add a second replication
54 replication2_id := "replication2"
55 err = manager.AddReplication(testReplicationCfg(replication2_id, ""))
56 require.NoError(t, err)
57
58 r, err = manager.GetReplication(replication1_id)
59 require.NoError(t, err)
60 assert.Equal(t, replication1_id, r.ID)
61
62 replications, err := manager.GetReplications()
63 require.NoError(t, err)
64 assert.Len(t, replications, 2)
65
66 // Remove replication
67 err = manager.DeleteReplication(replication1_id)
68 require.NoError(t, err)
69 replications, err = manager.GetReplications()
70 require.NoError(t, err)
71 assert.Len(t, replications, 1)
72
73 // Remove non-existent replication
74 err = manager.DeleteReplication(replication1_id)
75 require.Error(t, base.ErrNotFound, err)
76 replications, err = manager.GetReplications()
77 require.NoError(t, err)
78 assert.Len(t, replications, 1)
79
80 // Remove last replication
81 err = manager.DeleteReplication(replication2_id)

Callers

nothing calls this directly

Calls 15

TestCtxFunction · 0.92
GetTestBucketFunction · 0.92
NewCfgSGFunction · 0.92
NewSGReplicateManagerFunction · 0.85
testReplicationCfgFunction · 0.85
AddReplicationMethod · 0.80
GetReplicationMethod · 0.80
CloseMethod · 0.65
StopMethod · 0.65
LenMethod · 0.65
GetSingleDataStoreMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected