Skip to content

Commit

Permalink
[fix] 修复ps和hls拉流时 /api/stat/all_group接口获取流协议等消息为空的情况
Browse files Browse the repository at this point in the history
  • Loading branch information
cuteLittleDevil committed Oct 25, 2023
1 parent e4f0bcb commit ee36bd8
Show file tree
Hide file tree
Showing 2 changed files with 208 additions and 0 deletions.
10 changes: 10 additions & 0 deletions pkg/base/basic_session_stat.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,16 @@ func NewBasicSessionStat(sessionType SessionType, remoteAddr string) BasicSessio
s.stat.SessionId = GenUkPsPubSession()
s.stat.BaseType = SessionBaseTypePubStr
s.stat.Protocol = SessionProtocolPsStr
case SessionTypeHlsSub:
s.stat.SessionId = GenUkHlsSubSession()
s.stat.BaseType = SessionBaseTypeSubStr
s.stat.Protocol = SessionProtocolHlsStr
case SessionTypeTsSub:
s.stat.SessionId = GenUkTsSubSession()
s.stat.BaseType = SessionBaseTypeSubStr
s.stat.Protocol = SessionProtocolTsStr
default:
nazalog.Errorf("unknown session type: [d%]", sessionType)

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.16, ubuntu-latest)

Errorf format %] has unknown verb ]

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.16, macos-latest)

Errorf format %] has unknown verb ]

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.20, ubuntu-latest)

github.com/q191201771/naza/pkg/nazalog.Errorf format %] has unknown verb ]

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.20, ubuntu-latest)

github.com/q191201771/naza/pkg/nazalog.Errorf format %] has unknown verb ]

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.20, macos-latest)

github.com/q191201771/naza/pkg/nazalog.Errorf format %] has unknown verb ]

Check failure on line 94 in pkg/base/basic_session_stat.go

View workflow job for this annotation

GitHub Actions / build (1.20, macos-latest)

github.com/q191201771/naza/pkg/nazalog.Errorf format %] has unknown verb ]
}
return s
}
Expand Down
198 changes: 198 additions & 0 deletions pkg/base/basic_session_stat_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
package base

import (
"testing"
)

func TestNewBasicSessionStat(t *testing.T) {
type args struct {
sessionType SessionType
remoteAddr string
}
tests := []struct {
name string
args args
want BasicSessionStat
}{
{
name: "rtmp_server",
args: args{
sessionType: SessionTypeRtmpServerSession,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtmpServerSession(),
BaseType: SessionBaseTypePubSubStr,
Protocol: SessionProtocolRtmpStr,
},
},
},
{
name: "rtmp_push",
args: args{
sessionType: SessionTypeRtmpPush,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtmpPushSession(),
BaseType: SessionBaseTypePushStr,
Protocol: SessionProtocolRtmpStr,
},
},
},
{
name: "rtmp_pull",
args: args{
sessionType: SessionTypeRtmpPull,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtmpPullSession(),
BaseType: SessionBaseTypePullStr,
Protocol: SessionProtocolRtmpStr,
},
},
},
{
name: "rtsp_pub",
args: args{
sessionType: SessionTypeRtspPub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtspPubSession(),
BaseType: SessionBaseTypePubStr,
Protocol: SessionProtocolRtspStr,
},
},
},
{
name: "rtsp_sub",
args: args{
sessionType: SessionTypeRtspSub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtspSubSession(),
BaseType: SessionBaseTypeSubStr,
Protocol: SessionProtocolRtspStr,
},
},
},
{
name: "rtsp_push",
args: args{
sessionType: SessionTypeRtspPush,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtspPushSession(),
BaseType: SessionBaseTypePushStr,
Protocol: SessionProtocolRtspStr,
},
},
},
{
name: "rtsp_pull",
args: args{
sessionType: SessionTypeRtspPull,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkRtspPullSession(),
BaseType: SessionBaseTypePullStr,
Protocol: SessionProtocolRtspStr,
},
},
},
{
name: "flv_sub",
args: args{
sessionType: SessionTypeFlvSub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkFlvSubSession(),
BaseType: SessionBaseTypeSubStr,
Protocol: SessionProtocolFlvStr,
},
},
},
{
name: "ps_pub",
args: args{
sessionType: SessionTypePsPub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkPsPubSession(),
BaseType: SessionBaseTypePubStr,
Protocol: SessionProtocolPsStr,
},
},
},
{
name: "ts_sub",
args: args{
sessionType: SessionTypeTsSub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkTsSubSession(),
BaseType: SessionBaseTypeSubStr,
Protocol: SessionProtocolTsStr,
},
},
},
{
name: "hls_sub",
args: args{
sessionType: SessionTypeHlsSub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: GenUkHlsSubSession(),
BaseType: SessionBaseTypeSubStr,
Protocol: SessionProtocolHlsStr,
},
},
},
{
name: "customize_pub",
args: args{
sessionType: SessionTypeCustomizePub,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: "",
BaseType: "",
Protocol: "",
},
},
},
{
name: "other",
args: args{
sessionType: -1,
},
want: BasicSessionStat{
stat: StatSession{
SessionId: "",
BaseType: "",
Protocol: "",
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := NewBasicSessionStat(tt.args.sessionType, tt.args.remoteAddr)
if got.stat.Protocol != tt.want.stat.Protocol {
t.Errorf("NewBasicSessionStat() Protocol = %s, want %s", got.stat.Protocol, tt.want.stat.Protocol)
}
if got.stat.BaseType != tt.want.stat.BaseType {
t.Errorf("NewBasicSessionStat() BaseType = %s, want %s", got.stat.BaseType, tt.want.stat.BaseType)
}
})
}
}

0 comments on commit ee36bd8

Please sign in to comment.