1package dag
2
3import (
4 "testing"
5
6 "github.com/stretchr/testify/require"
7)
8
9func TestOperationPackReadWrite(t *testing.T) {
10 repo, id1, _, def := makeTestContext()
11
12 opp := &operationPack{
13 Author: id1,
14 Operations: []Operation{
15 newOp1(id1, "foo"),
16 newOp2(id1, "bar"),
17 },
18 CreateTime: 123,
19 EditTime: 456,
20 }
21
22 commitHash, err := opp.Write(def, repo)
23 require.NoError(t, err)
24
25 commit, err := repo.ReadCommit(commitHash)
26 require.NoError(t, err)
27
28 opp2, err := readOperationPack(def, repo, commit)
29 require.NoError(t, err)
30
31 require.Equal(t, opp, opp2)
32
33 // make sure we get the same Id with the same data
34 opp3 := &operationPack{
35 Author: id1,
36 Operations: []Operation{
37 newOp1(id1, "foo"),
38 newOp2(id1, "bar"),
39 },
40 CreateTime: 123,
41 EditTime: 456,
42 }
43 require.Equal(t, opp.Id(), opp3.Id())
44}