aboutsummaryrefslogtreecommitdiffstats
path: root/entity/dag
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2021-02-09 10:46:33 +0100
committerMichael Muré <batolettre@gmail.com>2021-02-14 12:19:02 +0100
commit2bdb1b60ff83de157f1a0d9ed42555d96b945fa6 (patch)
treefe51b44176ac1c6d279f651efd7cc19bc8cae88a /entity/dag
parent26a4b0332e0f0a52026ac6e333e0bbd78a588171 (diff)
downloadgit-bug-2bdb1b60ff83de157f1a0d9ed42555d96b945fa6.tar.gz
entity: working commit signatures
Diffstat (limited to 'entity/dag')
-rw-r--r--entity/dag/operation_pack_test.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/entity/dag/operation_pack_test.go b/entity/dag/operation_pack_test.go
index ad2a9859..ac979776 100644
--- a/entity/dag/operation_pack_test.go
+++ b/entity/dag/operation_pack_test.go
@@ -4,6 +4,8 @@ import (
"testing"
"github.com/stretchr/testify/require"
+
+ "github.com/MichaelMure/git-bug/identity"
)
func TestOperationPackReadWrite(t *testing.T) {
@@ -42,3 +44,45 @@ func TestOperationPackReadWrite(t *testing.T) {
}
require.Equal(t, opp.Id(), opp3.Id())
}
+
+func TestOperationPackSignedReadWrite(t *testing.T) {
+ repo, id1, _, def := makeTestContext()
+
+ err := id1.(*identity.Identity).Mutate(repo, func(orig *identity.Mutator) {
+ orig.Keys = append(orig.Keys, identity.GenerateKey())
+ })
+ require.NoError(t, err)
+
+ opp := &operationPack{
+ Author: id1,
+ Operations: []Operation{
+ newOp1(id1, "foo"),
+ newOp2(id1, "bar"),
+ },
+ CreateTime: 123,
+ EditTime: 456,
+ }
+
+ commitHash, err := opp.Write(def, repo)
+ require.NoError(t, err)
+
+ commit, err := repo.ReadCommit(commitHash)
+ require.NoError(t, err)
+
+ opp2, err := readOperationPack(def, repo, commit)
+ require.NoError(t, err)
+
+ require.Equal(t, opp, opp2)
+
+ // make sure we get the same Id with the same data
+ opp3 := &operationPack{
+ Author: id1,
+ Operations: []Operation{
+ newOp1(id1, "foo"),
+ newOp2(id1, "bar"),
+ },
+ CreateTime: 123,
+ EditTime: 456,
+ }
+ require.Equal(t, opp.Id(), opp3.Id())
+}