simplify tests

This commit is contained in:
aler9
2023-08-14 16:51:07 +02:00
committed by Alessandro Ros
parent 8857e25353
commit 98e6e8239e
5 changed files with 60 additions and 145 deletions

View File

@@ -25,6 +25,10 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio" "github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
) )
func ipPtr(v net.IP) *net.IP {
return &v
}
func mustMarshalMedias(medias media.Medias) []byte { func mustMarshalMedias(medias media.Medias) []byte {
byts, err := medias.Marshal(false).Marshal() byts, err := medias.Marshal(false).Marshal()
if err != nil { if err != nil {
@@ -2818,10 +2822,7 @@ func TestClientPlayDifferentSource(t *testing.T) {
Protocol: headers.TransportProtocolUDP, Protocol: headers.TransportProtocolUDP,
ClientPorts: inTH.ClientPorts, ClientPorts: inTH.ClientPorts,
ServerPorts: &[2]int{34556, 34557}, ServerPorts: &[2]int{34556, 34557},
Source: func() *net.IP { Source: ipPtr(net.ParseIP("127.0.1.1")),
i := net.ParseIP("127.0.1.1")
return &i
}(),
} }
l1, err := net.ListenPacket("udp", "127.0.1.1:34556") l1, err := net.ListenPacket("udp", "127.0.1.1:34556")

View File

@@ -8,6 +8,10 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/base" "github.com/bluenviron/gortsplib/v3/pkg/base"
) )
func stringPtr(v string) *string {
return &v
}
var casesAuthenticate = []struct { var casesAuthenticate = []struct {
name string name string
vin base.HeaderValue vin base.HeaderValue
@@ -20,10 +24,7 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Basic realm="4419b63f5e51"`}, base.HeaderValue{`Basic realm="4419b63f5e51"`},
Authenticate{ Authenticate{
Method: AuthBasic, Method: AuthBasic,
Realm: func() *string { Realm: stringPtr("4419b63f5e51"),
v := "4419b63f5e51"
return &v
}(),
}, },
}, },
{ {
@@ -32,18 +33,9 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`}, base.HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Realm: func() *string { Realm: stringPtr("4419b63f5e51"),
v := "4419b63f5e51" Nonce: stringPtr("8b84a3b789283a8bea8da7fa7d41f08b"),
return &v Stale: stringPtr("FALSE"),
}(),
Nonce: func() *string {
v := "8b84a3b789283a8bea8da7fa7d41f08b"
return &v
}(),
Stale: func() *string {
v := "FALSE"
return &v
}(),
}, },
}, },
{ {
@@ -52,18 +44,9 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`}, base.HeaderValue{`Digest realm="4419b63f5e51", nonce="8b84a3b789283a8bea8da7fa7d41f08b", stale="FALSE"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Realm: func() *string { Realm: stringPtr("4419b63f5e51"),
v := "4419b63f5e51" Nonce: stringPtr("8b84a3b789283a8bea8da7fa7d41f08b"),
return &v Stale: stringPtr("FALSE"),
}(),
Nonce: func() *string {
v := "8b84a3b789283a8bea8da7fa7d41f08b"
return &v
}(),
Stale: func() *string {
v := "FALSE"
return &v
}(),
}, },
}, },
{ {
@@ -72,18 +55,9 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Digest realm="4419b63f5e51", nonce="133767111917411116111311118211673010032", stale="FALSE"`}, base.HeaderValue{`Digest realm="4419b63f5e51", nonce="133767111917411116111311118211673010032", stale="FALSE"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Realm: func() *string { Realm: stringPtr("4419b63f5e51"),
v := "4419b63f5e51" Nonce: stringPtr("133767111917411116111311118211673010032"),
return &v Stale: stringPtr("FALSE"),
}(),
Nonce: func() *string {
v := "133767111917411116111311118211673010032"
return &v
}(),
Stale: func() *string {
v := "FALSE"
return &v
}(),
}, },
}, },
{ {
@@ -91,27 +65,12 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`}, base.HeaderValue{`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`},
base.HeaderValue{`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`}, base.HeaderValue{`Digest username="aa", realm="bb", nonce="cc", uri="dd", response="ee"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Username: func() *string { Username: stringPtr("aa"),
v := "aa" Realm: stringPtr("bb"),
return &v Nonce: stringPtr("cc"),
}(), URI: stringPtr("dd"),
Realm: func() *string { Response: stringPtr("ee"),
v := "bb"
return &v
}(),
Nonce: func() *string {
v := "cc"
return &v
}(),
URI: func() *string {
v := "dd"
return &v
}(),
Response: func() *string {
v := "ee"
return &v
}(),
}, },
}, },
{ {
@@ -123,27 +82,12 @@ var casesAuthenticate = []struct {
`nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", uri="rtsp://localhost:8554/mystream", ` + `nonce="5d17cd12b9fa8a85ac5ceef0926ea5a6", uri="rtsp://localhost:8554/mystream", ` +
`response="c072ae90eb4a27f4cdcb90d62266b2a1"`}, `response="c072ae90eb4a27f4cdcb90d62266b2a1"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Username: func() *string { Username: stringPtr(""),
v := "" Realm: stringPtr("IPCAM"),
return &v Nonce: stringPtr("5d17cd12b9fa8a85ac5ceef0926ea5a6"),
}(), URI: stringPtr("rtsp://localhost:8554/mystream"),
Realm: func() *string { Response: stringPtr("c072ae90eb4a27f4cdcb90d62266b2a1"),
v := "IPCAM"
return &v
}(),
Nonce: func() *string {
v := "5d17cd12b9fa8a85ac5ceef0926ea5a6"
return &v
}(),
URI: func() *string {
v := "rtsp://localhost:8554/mystream"
return &v
}(),
Response: func() *string {
v := "c072ae90eb4a27f4cdcb90d62266b2a1"
return &v
}(),
}, },
}, },
{ {
@@ -153,27 +97,12 @@ var casesAuthenticate = []struct {
base.HeaderValue{`Digest realm="Please log in with a valid username", ` + base.HeaderValue{`Digest realm="Please log in with a valid username", ` +
`nonce="752a62306daf32b401a41004555c7663", opaque="", stale="FALSE", algorithm="MD5"`}, `nonce="752a62306daf32b401a41004555c7663", opaque="", stale="FALSE", algorithm="MD5"`},
Authenticate{ Authenticate{
Method: AuthDigest, Method: AuthDigest,
Realm: func() *string { Realm: stringPtr("Please log in with a valid username"),
v := "Please log in with a valid username" Nonce: stringPtr("752a62306daf32b401a41004555c7663"),
return &v Opaque: stringPtr(""),
}(), Stale: stringPtr("FALSE"),
Nonce: func() *string { Algorithm: stringPtr("MD5"),
v := "752a62306daf32b401a41004555c7663"
return &v
}(),
Opaque: func() *string {
v := ""
return &v
}(),
Stale: func() *string {
v := "FALSE"
return &v
}(),
Algorithm: func() *string {
v := "MD5"
return &v
}(),
}, },
}, },
} }

View File

@@ -32,18 +32,9 @@ var casesAuthorization = []struct {
Method: AuthDigest, Method: AuthDigest,
DigestValues: Authenticate{ DigestValues: Authenticate{
Method: AuthDigest, Method: AuthDigest,
Realm: func() *string { Realm: stringPtr("4419b63f5e51"),
v := "4419b63f5e51" Nonce: stringPtr("8b84a3b789283a8bea8da7fa7d41f08b"),
return &v Stale: stringPtr("FALSE"),
}(),
Nonce: func() *string {
v := "8b84a3b789283a8bea8da7fa7d41f08b"
return &v
}(),
Stale: func() *string {
v := "FALSE"
return &v
}(),
}, },
}, },
}, },

View File

@@ -9,6 +9,14 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/base" "github.com/bluenviron/gortsplib/v3/pkg/base"
) )
func durationPtr(v time.Duration) *time.Duration {
return &v
}
func timePtr(v time.Time) *time.Time {
return &v
}
var casesRange = []struct { var casesRange = []struct {
name string name string
vin base.HeaderValue vin base.HeaderValue
@@ -64,10 +72,7 @@ var casesRange = []struct {
Range{ Range{
Value: &RangeNPT{ Value: &RangeNPT{
Start: time.Duration(123.45 * float64(time.Second)), Start: time.Duration(123.45 * float64(time.Second)),
End: func() *time.Duration { End: durationPtr(125 * time.Second),
v := 125 * time.Second
return &v
}(),
}, },
}, },
}, },
@@ -88,10 +93,7 @@ var casesRange = []struct {
Range{ Range{
Value: &RangeUTC{ Value: &RangeUTC{
Start: time.Date(1996, 11, 8, 14, 23, 0, 0, time.UTC), Start: time.Date(1996, 11, 8, 14, 23, 0, 0, time.UTC),
End: func() *time.Time { End: timePtr(time.Date(1996, 11, 8, 14, 35, 20, 0, time.UTC)),
v := time.Date(1996, 11, 8, 14, 35, 20, 0, time.UTC)
return &v
}(),
}, },
}, },
}, },
@@ -113,10 +115,7 @@ var casesRange = []struct {
Value: &RangeUTC{ Value: &RangeUTC{
Start: time.Date(1996, 2, 13, 14, 32, 5, 0, time.UTC), Start: time.Date(1996, 2, 13, 14, 32, 5, 0, time.UTC),
}, },
Time: func() *time.Time { Time: timePtr(time.Date(1997, 1, 23, 14, 37, 20, 0, time.UTC)),
v := time.Date(1997, 1, 23, 14, 37, 20, 0, time.UTC)
return &v
}(),
}, },
}, },
} }

View File

@@ -9,6 +9,10 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/base" "github.com/bluenviron/gortsplib/v3/pkg/base"
) )
func ipPtr(v net.IP) *net.IP {
return &v
}
var casesTransport = []struct { var casesTransport = []struct {
name string name string
vin base.HeaderValue vin base.HeaderValue
@@ -56,12 +60,9 @@ var casesTransport = []struct {
v := TransportDeliveryMulticast v := TransportDeliveryMulticast
return &v return &v
}(), }(),
Destination: func() *net.IP { Destination: ipPtr(net.ParseIP("225.219.201.15")),
v := net.ParseIP("225.219.201.15") TTL: uintPtr(127),
return &v Ports: &[2]int{7000, 7001},
}(),
TTL: uintPtr(127),
Ports: &[2]int{7000, 7001},
}, },
}, },
{ {
@@ -108,10 +109,7 @@ var casesTransport = []struct {
}(), }(),
ClientPorts: &[2]int{14186, 14187}, ClientPorts: &[2]int{14186, 14187},
ServerPorts: &[2]int{5000, 5001}, ServerPorts: &[2]int{5000, 5001},
Source: func() *net.IP { Source: ipPtr(net.ParseIP("127.0.0.1")),
v := net.ParseIP("127.0.0.1")
return &v
}(),
}, },
}, },
{ {
@@ -208,10 +206,7 @@ var casesTransport = []struct {
v := TransportDeliveryUnicast v := TransportDeliveryUnicast
return &v return &v
}(), }(),
Source: func() *net.IP { Source: ipPtr(net.ParseIP("172.16.8.2")),
v := net.ParseIP("172.16.8.2")
return &v
}(),
ClientPorts: &[2]int{14236, 14237}, ClientPorts: &[2]int{14236, 14237},
ServerPorts: &[2]int{56002, 56003}, ServerPorts: &[2]int{56002, 56003},
}, },