(t *testing.T)
| 39 | ) |
| 40 | |
| 41 | func 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 |
nothing calls this directly
no test coverage detected
searching dependent graphs…