MCPcopy Create free account
hub / github.com/pydio/cells / TestProcess

Function TestProcess

common/sync/proc/processor_test.go:41–125  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

39)
40
41func TestProcess(t *testing.T) {
42
43 Convey("Test basic processing", t, func() {
44
45 m := NewProcessor(testCtx)
46 So(m, ShouldNotBeNil)
47
48 source := memory.NewMemDB()
49 target := memory.NewMemDB()
50 patch := merger.NewPatch(source, target, merger.PatchOptions{MoveDetection: true})
51
52 source.CreateNode(testCtx, &tree.Node{
53 Path: "mkfile",
54 Type: tree.NodeType_LEAF,
55 Etag: "hash",
56 }, true)
57
58 source.CreateNode(testCtx, &tree.Node{
59 Path: "mkdir",
60 Type: tree.NodeType_COLLECTION,
61 Uuid: "uuid",
62 }, true)
63 target.CreateNode(testCtx, &tree.Node{
64 Path: "to-be-deleted",
65 Type: tree.NodeType_LEAF,
66 Etag: "delhash",
67 }, true)
68 target.CreateNode(testCtx, &tree.Node{
69 Path: "to-be-moved",
70 Type: tree.NodeType_LEAF,
71 Etag: "mvhash",
72 }, true)
73
74 target.CreateNode(testCtx, &tree.Node{
75 Path: "folder-to-be-moved",
76 Type: tree.NodeType_COLLECTION,
77 Uuid: "uuid",
78 }, true)
79 target.CreateNode(testCtx, &tree.Node{
80 Path: "folder-to-be-moved/subfolder",
81 Type: tree.NodeType_COLLECTION,
82 Uuid: "uuid1",
83 }, true)
84 target.CreateNode(testCtx, &tree.Node{
85 Path: "folder-to-be-moved/subfolder/subfile",
86 Type: tree.NodeType_LEAF,
87 Etag: "filehash",
88 }, true)
89
90 patch.Enqueue(merger.NewOperation(merger.OpCreateFile, model.EventInfo{Path: "mkfile"}, &tree.Node{Path: "mkfile", Type: tree.NodeType_LEAF, Etag: "hash"}))
91 patch.Enqueue(merger.NewOperation(merger.OpCreateFolder, model.EventInfo{Path: "mkdir"}, &tree.Node{Path: "mkdir", Type: tree.NodeType_COLLECTION, Uuid: "uuid"}))
92 patch.Enqueue(merger.NewOperation(merger.OpDelete, model.EventInfo{Path: "to-be-deleted"}, &tree.Node{Path: "to-be-deleted", Type: tree.NodeType_LEAF, Etag: "delhash"}))
93 patch.Enqueue(merger.NewOperation(merger.OpMoveFile, model.EventInfo{Path: "moved-file"}, &tree.Node{Path: "to-be-moved", Type: tree.NodeType_LEAF}))
94 patch.Enqueue(merger.NewOperation(merger.OpMoveFolder, model.EventInfo{Path: "moved-folder"}, &tree.Node{Path: "folder-to-be-moved", Type: tree.NodeType_COLLECTION}))
95
96 m.Process(patch, nil)
97 time.Sleep(2 * time.Second)
98

Callers

nothing calls this directly

Calls 9

CreateNodeMethod · 0.95
EnqueueMethod · 0.95
ProcessMethod · 0.95
LoadNodeMethod · 0.95
NewMemDBFunction · 0.92
NewPatchFunction · 0.92
NewOperationFunction · 0.92
NewProcessorFunction · 0.85
GetEtagMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…