github.com/hamba/avro/v2@v2.22.1-0.20240518180522-aff3955acf7d/encoder_test.go (about) 1 package avro_test 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/hamba/avro/v2" 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestNewEncoder_SchemaError(t *testing.T) { 13 defer ConfigTeardown() 14 15 schema := "{}" 16 _, err := avro.NewEncoder(schema, nil) 17 18 assert.Error(t, err) 19 } 20 21 func TestEncoder_EncodeUnsupportedType(t *testing.T) { 22 defer ConfigTeardown() 23 24 schema := avro.NewPrimitiveSchema(avro.Type("test"), nil) 25 buf := bytes.NewBuffer([]byte{}) 26 enc := avro.NewEncoderForSchema(schema, buf) 27 28 err := enc.Encode(true) 29 30 assert.Error(t, err) 31 } 32 33 func TestMarshal(t *testing.T) { 34 defer ConfigTeardown() 35 36 schema := avro.MustParse("boolean") 37 38 b, err := avro.Marshal(schema, true) 39 40 require.NoError(t, err) 41 assert.Equal(t, []byte{0x01}, b) 42 } 43 44 func TestMarshal_Error(t *testing.T) { 45 defer ConfigTeardown() 46 47 schema := avro.MustParse("int") 48 49 _, err := avro.Marshal(schema, true) 50 51 assert.Error(t, err) 52 }