1234567891011121314151617181920212223242526272829303132333435 |
- package rtmp
- import "testing"
- func Test_secretMatch(t *testing.T) {
- tests := []struct {
- name string
- streamKey string
- path string
- want bool
- }{
- {"positive", "abc", "/live/abc", true},
- {"negative", "abc", "/live/def", false},
- {"positive with numbers", "abc123", "/live/abc123", true},
- {"negative with numbers", "abc123", "/live/def456", false},
- {"positive with url chars", "one/two/three", "/live/one/two/three", true},
- {"negative with url chars", "one/two/three", "/live/four/five/six", false},
- {"check the entire secret", "three", "/live/one/two/three", false},
- {"with /live/ in secret", "one/live/three", "/live/one/live/three", true},
- {"bad path", "anything", "nonsense", false},
- {"missing secret", "abc", "/live/", false},
- {"missing secret and missing last slash", "abc", "/live", false},
- {"streamkey before /live/", "streamkey", "/streamkey/live", false},
- {"missing /live/", "anything", "/something/else", false},
- {"stuff before and after /live/", "after", "/before/live/after", false},
- }
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- if got := secretMatch(tt.streamKey, tt.path); got != tt.want {
- t.Errorf("secretMatch() = %v, want %v", got, tt.want)
- }
- })
- }
- }
|