blob: 97293597f4caca67af5dadcff7c23d0de041a470 [file] [log] [blame]
package ingestevents
import (
"testing"
"github.com/stretchr/testify/assert"
"go.skia.org/infra/go/paramtools"
"go.skia.org/infra/go/testutils/unittest"
)
func TestCreatePubSubBody(t *testing.T) {
unittest.SmallTest(t)
tests := []struct {
name string
args *IngestEvent
}{
{
name: "nils",
args: &IngestEvent{
TraceIDs: nil,
ParamSet: nil,
},
},
{
name: "empty",
args: &IngestEvent{
TraceIDs: []string{},
ParamSet: paramtools.NewReadOnlyParamSet(),
},
},
{
name: "some data",
args: &IngestEvent{
TraceIDs: []string{",foo=bar,baz=quux,"},
ParamSet: paramtools.NewReadOnlyParamSet(paramtools.Params{"foo": "bar", "baz": "quux"}),
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// Test that the IngestEvents round trip correctly.
encoded, err := CreatePubSubBody(tt.args)
assert.NoError(t, err)
want, err := DecodePubSubBody(encoded)
assert.NoError(t, err)
assert.Equal(t, want, tt.args)
})
}
}