Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions bug/op_add_comment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"testing"
"time"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/MichaelMure/git-bug/identity"
Expand All @@ -22,18 +21,17 @@ func TestAddCommentSerialize(t *testing.T) {
before := NewAddCommentOp(rene, unix, "message", nil)

data, err := json.Marshal(before)
assert.NoError(t, err)
require.NoError(t, err)

var after AddCommentOperation
err = json.Unmarshal(data, &after)
assert.NoError(t, err)
require.NoError(t, err)

// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
assert.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

assert.Equal(t, before, &after)
require.Equal(t, before, &after)
}
3 changes: 1 addition & 2 deletions bug/op_create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,7 @@ func TestCreateSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_edit_comment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,7 @@ func TestEditCommentSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_label_change_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ func TestLabelChangeSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_noop_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ func TestNoopSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
assert.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

assert.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_set_metadata_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ func TestSetMetadataSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_set_status_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ func TestSetStatusSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
3 changes: 1 addition & 2 deletions bug/op_set_title_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ func TestSetTitleSerialize(t *testing.T) {
// enforce creating the ID
before.Id()

// Replace the identity stub with the real thing
require.Equal(t, rene.Id(), after.Author().Id())
// Replace the identity as it's not serialized
after.Author_ = rene

require.Equal(t, before, &after)
Expand Down
10 changes: 1 addition & 9 deletions bug/operation.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ func operationUnmarshaller(author identity.Interface, raw json.RawMessage, resol
// OpBase implement the common code for all operations
type OpBase struct {
OperationType OperationType `json:"type"`
Author_ identity.Interface `json:"author"`
Author_ identity.Interface `json:"-"` // not serialized
// TODO: part of the data model upgrade, this should eventually be a timestamp + lamport
UnixTime int64 `json:"timestamp"`
Metadata map[string]string `json:"metadata,omitempty"`
Expand Down Expand Up @@ -178,7 +178,6 @@ func (base *OpBase) UnmarshalJSON(data []byte) error {

aux := struct {
OperationType OperationType `json:"type"`
Author json.RawMessage `json:"author"`
UnixTime int64 `json:"timestamp"`
Metadata map[string]string `json:"metadata,omitempty"`
Nonce []byte `json:"nonce"`
Expand All @@ -188,14 +187,7 @@ func (base *OpBase) UnmarshalJSON(data []byte) error {
return err
}

// delegate the decoding of the identity
author, err := identity.UnmarshalJSON(aux.Author)
if err != nil {
return err
}

base.OperationType = aux.OperationType
base.Author_ = author
base.UnixTime = aux.UnixTime
base.Metadata = aux.Metadata
base.Nonce = aux.Nonce
Expand Down