debian-mirror-gitlab/workhorse/internal/gitaly/unmarshal_test.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
887 B
Go
Raw Normal View History

2021-02-22 17:27:13 +05:30
package gitaly
import (
"testing"
2021-11-18 22:05:49 +05:30
"github.com/golang/protobuf/proto" //lint:ignore SA1019 https://gitlab.com/gitlab-org/gitlab/-/issues/324868
2021-02-22 17:27:13 +05:30
"github.com/stretchr/testify/require"
2021-09-04 01:27:46 +05:30
"gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb"
2021-02-22 17:27:13 +05:30
)
func TestUnmarshalJSON(t *testing.T) {
testCases := []struct {
desc string
in string
2021-11-18 22:05:49 +05:30
out *gitalypb.Repository
2021-02-22 17:27:13 +05:30
}{
{
desc: "basic example",
in: `{"relative_path":"foo/bar.git"}`,
2021-11-18 22:05:49 +05:30
out: &gitalypb.Repository{RelativePath: "foo/bar.git"},
2021-02-22 17:27:13 +05:30
},
{
desc: "unknown field",
in: `{"relative_path":"foo/bar.git","unknown_field":12345}`,
2021-11-18 22:05:49 +05:30
out: &gitalypb.Repository{RelativePath: "foo/bar.git"},
2021-02-22 17:27:13 +05:30
},
}
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
2021-11-18 22:05:49 +05:30
result := &gitalypb.Repository{}
require.NoError(t, UnmarshalJSON(tc.in, result))
require.True(t, proto.Equal(tc.out, result))
2021-02-22 17:27:13 +05:30
})
}
}