2021-04-23 23:07:18 +02:00
|
|
|
package models_test
|
2020-10-30 17:14:09 +01:00
|
|
|
|
|
|
|
import (
|
2021-04-23 23:07:18 +02:00
|
|
|
"fmt"
|
2020-10-30 17:14:09 +01:00
|
|
|
"testing"
|
2021-04-23 23:07:18 +02:00
|
|
|
|
|
|
|
"github.com/photoview/photoview/api/graphql/models"
|
|
|
|
"github.com/stretchr/testify/assert"
|
2020-10-30 17:14:09 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestSanitizeMediaName(t *testing.T) {
|
|
|
|
tests := [][2]string{
|
|
|
|
{"filename.png", "filename_png"},
|
|
|
|
{"../..\\escape", "____escape"},
|
|
|
|
{"..", "__"},
|
|
|
|
{"..\\/", "__"},
|
|
|
|
}
|
|
|
|
|
2021-04-23 23:07:18 +02:00
|
|
|
for _, test := range tests {
|
|
|
|
t.Run(fmt.Sprintf("sanitize: %s", test[0]), func(t *testing.T) {
|
|
|
|
assert.Equal(t, test[1], models.SanitizeMediaName(test[0]))
|
|
|
|
})
|
2020-10-30 17:14:09 +01:00
|
|
|
}
|
|
|
|
}
|
2021-04-23 23:07:18 +02:00
|
|
|
|
|
|
|
func TestMediaURLCachePath(t *testing.T) {
|
|
|
|
mediaUrl := models.MediaURL{}
|
|
|
|
mediaUrl.Media = nil
|
|
|
|
|
|
|
|
_, err := mediaUrl.CachedPath()
|
|
|
|
assert.EqualError(t, err, "mediaURL.Media is nil")
|
|
|
|
|
|
|
|
mediaUrl = models.MediaURL{
|
|
|
|
Purpose: models.PhotoThumbnail,
|
|
|
|
MediaID: 1,
|
|
|
|
Media: &models.Media{
|
|
|
|
Model: models.Model{
|
|
|
|
ID: 1,
|
|
|
|
},
|
|
|
|
Title: "media.jpg",
|
|
|
|
AlbumID: 2,
|
|
|
|
},
|
|
|
|
MediaName: "media_thumb.jpg",
|
|
|
|
}
|
|
|
|
|
|
|
|
path, err := mediaUrl.CachedPath()
|
|
|
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, "media_cache/2/1/media_thumb.jpg", path)
|
|
|
|
|
|
|
|
}
|