From c20020e9c21dc265f2a8f44f22fbdaf0bced22ff Mon Sep 17 00:00:00 2001 From: Woodrow Douglass Date: Wed, 27 Mar 2019 13:45:01 -0400 Subject: [PATCH] Add some tests * ntp timestamp conversion * RTP Extension validation Relates to #15 --- packet_test.go | 11 +++++++++++ packetizer_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 packetizer_test.go diff --git a/packet_test.go b/packet_test.go index b1d0274..e768dc1 100644 --- a/packet_test.go +++ b/packet_test.go @@ -82,6 +82,17 @@ func TestExtension(t *testing.T) { t.Fatal("Unmarshal did not error on packet with invalid extension length") } + p = &Packet{Header: Header{ + Extension: true, + ExtensionProfile: 3, + ExtensionPayload: []byte{0}, + }, + Payload: []byte{}, + } + if _, err := p.Marshal(); err == nil { + t.Fatal("Marshal did not error on packet with invalid extension length") + } + } func BenchmarkMarshal(b *testing.B) { diff --git a/packetizer_test.go b/packetizer_test.go new file mode 100644 index 0000000..0e20a86 --- /dev/null +++ b/packetizer_test.go @@ -0,0 +1,26 @@ +package rtp + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" +) + +func TestNtpConversion(t *testing.T) { + loc := time.FixedZone("UTC-5", -5*60*60) + + tests := []struct { + t time.Time + n uint64 + }{ + {t: time.Date(1985, time.June, 23, 4, 0, 0, 0, loc), n: 0xa0c65b1000000000}, + {t: time.Date(1999, time.December, 31, 23, 59, 59, 500000, loc), n: 0xbc18084f0020c49b}, + {t: time.Date(2019, time.March, 27, 13, 39, 30, 8675309, loc), n: 0xe04641e202388b88}, + } + + for _, in := range tests { + out := toNtpTime(in.t) + assert.Equal(t, in.n, out) + } +}