-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmetadata_test.go
62 lines (47 loc) · 1.3 KB
/
metadata_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package rrpc
import (
"crypto/rand"
"fmt"
"testing"
"github.com/stretchr/testify/require"
)
func TestEncodeMetadata(t *testing.T) {
service := "foo"
method := "bar"
var md [20]byte
_, _ = rand.Read(md[:])
m, err := EncodeMetadata(service, method, nil, md[:])
require.NoError(t, err, "encode failed")
require.Equal(t, service, string(m.Service()), "bad service")
require.Equal(t, method, string(m.Method()), "bad method")
require.Equal(t, "", string(m.Tracing()), "bad tracing")
require.Equal(t, md[:], m.Metadata(), "bad metadata")
}
func TestSliceEmptyMetadata(t *testing.T) {
service := "foo"
method := "bar"
m, err := EncodeMetadata(service, method, nil, nil)
require.NoError(t, err, "encode failed")
md := m.Metadata()
require.Equal(t, md, []byte{}, "should be empty byte array")
}
func TestStringWithEmptyMetadata(t *testing.T) {
service := "foo"
method := "bar"
var md [20]byte
_, _ = rand.Read(md[:])
m, err := EncodeMetadata(service, method, nil, md[:])
require.NoError(t, err, "encode failed")
s := m.String()
fmt.Println(s)
}
func TestStringWithNilMetadata(t *testing.T) {
service := "foo"
method := "bar"
var md [20]byte
_, _ = rand.Read(md[:])
m, err := EncodeMetadata(service, method, nil, nil)
require.NoError(t, err, "encode failed")
s := m.String()
fmt.Println(s)
}