/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
pkg/http/header/cdn_test.go
102 строки
2 KB
Michael Mayer
Pkg: Move /service/http/... to /http/... and add package /http/dns
19 окт 2025, 22:08
19 окт 2025, 22:08
a921f82
Код
Авторство
О чём код?
package header import ( "net/http" "net/url" "testing" "github.com/stretchr/testify/assert" ) func TestCdn(t *testing.T) { t.Run("Header", func(t *testing.T) { assert.Equal(t, "Cdn-Host", CdnHost) assert.Equal(t, "Cdn-Mobiledevice", CdnMobileDevice) assert.Equal(t, "Cdn-Serverzone", CdnServerZone) assert.Equal(t, "Cdn-Serverid", CdnServerID) assert.Equal(t, "Cdn-Connectionid", CdnConnectionID) }) } func TestIsCdn(t *testing.T) { t.Run("Header", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{CdnHost: []string{"host.cdn.com"}}, Method: http.MethodGet, } assert.True(t, IsCdn(r)) }) t.Run("EmptyHeader", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{CdnHost: []string{""}}, Method: http.MethodPost, } assert.False(t, IsCdn(r)) }) t.Run("NoHeader", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{Accept: []string{"application/json"}}, Method: http.MethodPost, } assert.False(t, IsCdn(r)) }) } func TestAbortCdnRequest(t *testing.T) { t.Run("Allow", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{CdnHost: []string{"host.cdn.com"}}, Method: http.MethodGet, } assert.False(t, AbortCdnRequest(r)) }) t.Run("UnsafeMethod", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{CdnHost: []string{"host.cdn.com"}}, Method: http.MethodPost, } assert.True(t, AbortCdnRequest(r)) }) t.Run("Root", func(t *testing.T) { u, _ := url.Parse("/") r := &http.Request{ URL: u, Header: http.Header{CdnHost: []string{"host.cdn.com"}}, Method: http.MethodGet, } assert.True(t, AbortCdnRequest(r)) }) t.Run("NoCdn", func(t *testing.T) { u, _ := url.Parse("/foo") r := &http.Request{ URL: u, Header: http.Header{Accept: []string{"application/json"}}, Method: http.MethodPost, } assert.False(t, AbortCdnRequest(r)) }) }