merge tests

This commit is contained in:
aler9
2020-12-13 21:57:54 +01:00
parent aaae3b45a7
commit 0674c08d2b
2 changed files with 56 additions and 62 deletions

View File

@@ -217,38 +217,6 @@ func TestServerTeardownResponse(t *testing.T) {
require.Equal(t, io.EOF, err) require.Equal(t, io.EOF, err)
} }
func TestServerPublishReadTCP(t *testing.T) {
ts, err := newTestServ(nil)
require.NoError(t, err)
defer ts.close()
cnt1, err := newContainer("ffmpeg", "publish", []string{
"-re",
"-stream_loop", "-1",
"-i", "/emptyvideo.ts",
"-c", "copy",
"-f", "rtsp",
"-rtsp_transport", "tcp",
"rtsp://localhost:8554/teststream",
})
require.NoError(t, err)
defer cnt1.close()
time.Sleep(1 * time.Second)
cnt2, err := newContainer("ffmpeg", "read", []string{
"-rtsp_transport", "tcp",
"-i", "rtsp://localhost:8554/teststream",
"-vframes", "1",
"-f", "image2",
"-y", "/dev/null",
})
require.NoError(t, err)
defer cnt2.close()
require.Equal(t, 0, cnt2.wait())
}
var serverCert = []byte(`-----BEGIN CERTIFICATE----- var serverCert = []byte(`-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUXw1hEC3LFpTsllv7D3ARJyEq7sIwDQYJKoZIhvcNAQEL MIIDazCCAlOgAwIBAgIUXw1hEC3LFpTsllv7D3ARJyEq7sIwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
@@ -301,38 +269,64 @@ y++U32uuSFiXDcSLarfIsE992MEJLSAynbF1Rsgsr3gXbGiuToJRyxbIeVy7gwzD
-----END RSA PRIVATE KEY----- -----END RSA PRIVATE KEY-----
`) `)
func TestServerPublishReadTLS(t *testing.T) { func TestServerPublishReadTCP(t *testing.T) {
cert, err := tls.X509KeyPair(serverCert, serverKey) for _, ca := range []struct {
require.NoError(t, err) publisher string
tlsConf := &tls.Config{Certificates: []tls.Certificate{cert}} encrypted bool
}{
{"ffmpeg", false},
{"ffmpeg", true},
} {
encryptedStr := func() string {
if ca.encrypted {
return "encrypted"
}
return "plain"
}()
ts, err := newTestServ(tlsConf) t.Run(ca.publisher+"_"+encryptedStr, func(t *testing.T) {
require.NoError(t, err) var proto string
defer ts.close() var tlsConf *tls.Config
if !ca.encrypted {
proto = "rtsp"
tlsConf = nil
cnt1, err := newContainer("ffmpeg", "publish", []string{ } else {
"-re", proto = "rtsps"
"-stream_loop", "-1", cert, err := tls.X509KeyPair(serverCert, serverKey)
"-i", "/emptyvideo.ts", require.NoError(t, err)
"-c", "copy", tlsConf = &tls.Config{Certificates: []tls.Certificate{cert}}
"-f", "rtsp", }
"-rtsp_transport", "tcp",
"rtsps://localhost:8554/teststream",
})
require.NoError(t, err)
defer cnt1.close()
time.Sleep(1 * time.Second) ts, err := newTestServ(tlsConf)
require.NoError(t, err)
defer ts.close()
cnt2, err := newContainer("ffmpeg", "read", []string{ cnt1, err := newContainer("ffmpeg", "publish", []string{
"-rtsp_transport", "tcp", "-re",
"-i", "rtsps://localhost:8554/teststream", "-stream_loop", "-1",
"-vframes", "1", "-i", "/emptyvideo.ts",
"-f", "image2", "-c", "copy",
"-y", "/dev/null", "-f", "rtsp",
}) "-rtsp_transport", "tcp",
require.NoError(t, err) proto + "://localhost:8554/teststream",
defer cnt2.close() })
require.NoError(t, err)
defer cnt1.close()
require.Equal(t, 0, cnt2.wait()) time.Sleep(1 * time.Second)
cnt2, err := newContainer("ffmpeg", "read", []string{
"-rtsp_transport", "tcp",
"-i", proto + "://localhost:8554/teststream",
"-vframes", "1",
"-f", "image2",
"-y", "/dev/null",
})
require.NoError(t, err)
defer cnt2.close()
require.Equal(t, 0, cnt2.wait())
})
}
} }

View File

@@ -1,3 +1,3 @@
#!/bin/sh -e #!/bin/sh -e
exec ffmpeg -hide_banner -loglevel error $@ exec ffmpeg -hide_banner -loglevel error $@ 2>&1