From 47dca4d0ace2308950712ad2bc2c7d09f32bf8dd Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Sun, 23 May 2021 16:44:54 +0200 Subject: [PATCH] improve coverage --- pkg/base/request_test.go | 13 +++++++++++++ pkg/base/response_test.go | 13 +++++++++++++ pkg/base/url_test.go | 13 +++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/pkg/base/request_test.go b/pkg/base/request_test.go index 8a66176d..084477c9 100644 --- a/pkg/base/request_test.go +++ b/pkg/base/request_test.go @@ -288,3 +288,16 @@ func TestRequestReadIgnoreFramesError(t *testing.T) { err := req.ReadIgnoreFrames(rb, buf) require.Equal(t, "EOF", err.Error()) } + +func TestRequestString(t *testing.T) { + byts := []byte("OPTIONS rtsp://example.com/media.mp4 RTSP/1.0\r\n" + + "CSeq: 1\r\n" + + "Content-Length: 7\r\n" + + "\r\n" + + "testing") + + var req Request + err := req.Read(bufio.NewReader(bytes.NewBuffer(byts))) + require.NoError(t, err) + require.Equal(t, string(byts), req.String()) +} diff --git a/pkg/base/response_test.go b/pkg/base/response_test.go index 0fc0bb60..10278358 100644 --- a/pkg/base/response_test.go +++ b/pkg/base/response_test.go @@ -273,3 +273,16 @@ func TestResponseReadIgnoreFramesError(t *testing.T) { err := res.ReadIgnoreFrames(rb, buf) require.Equal(t, "EOF", err.Error()) } + +func TestResponseString(t *testing.T) { + byts := []byte("RTSP/1.0 200 OK\r\n" + + "CSeq: 3\r\n" + + "Content-Length: 7\r\n" + + "\r\n" + + "testing") + + var res Response + err := res.Read(bufio.NewReader(bytes.NewBuffer(byts))) + require.NoError(t, err) + require.Equal(t, string(byts), res.String()) +} diff --git a/pkg/base/url_test.go b/pkg/base/url_test.go index 4c16fbe5..4fd0ad71 100644 --- a/pkg/base/url_test.go +++ b/pkg/base/url_test.go @@ -10,23 +10,32 @@ func TestURLError(t *testing.T) { for _, ca := range []struct { name string enc string + err string }{ { "invalid", - "testing", + ":testing", + "parse \":testing\": missing protocol scheme", + }, + { + "unsupported scheme", + "http://testing", + "unsupported scheme 'http'", }, { "with opaque data", "rtsp:opaque?query", + "URLs with opaque data are not supported", }, { "with fragment", "rtsp://localhost:8554/teststream#fragment", + "URLs with fragments are not supported", }, } { t.Run(ca.name, func(t *testing.T) { _, err := ParseURL(ca.enc) - require.Error(t, err) + require.Equal(t, ca.err, err.Error()) }) } }