2022-03-14 18:18:27 +03:00
// Copyright 2022 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2022-03-14 18:18:27 +03:00
package storage
import (
2023-03-13 13:23:51 +03:00
"os"
"path/filepath"
2022-03-14 18:18:27 +03:00
"testing"
2023-06-14 06:42:38 +03:00
"code.gitea.io/gitea/modules/setting"
2022-03-14 18:18:27 +03:00
"github.com/stretchr/testify/assert"
)
2022-03-23 00:02:26 +03:00
func TestBuildLocalPath ( t * testing . T ) {
2022-03-14 18:18:27 +03:00
kases := [ ] struct {
2022-03-23 00:02:26 +03:00
localDir string
path string
expected string
2022-03-14 18:18:27 +03:00
} {
{
2023-03-21 23:02:49 +03:00
"/a" ,
2022-03-23 00:02:26 +03:00
"0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2023-03-21 23:02:49 +03:00
"/a/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2022-03-14 18:18:27 +03:00
} ,
{
2023-03-21 23:02:49 +03:00
"/a" ,
2022-03-23 00:02:26 +03:00
"../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2023-03-21 23:02:49 +03:00
"/a/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2022-03-14 18:18:27 +03:00
} ,
{
2023-03-21 23:02:49 +03:00
"/a" ,
2022-03-23 00:02:26 +03:00
"0\\a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2023-03-21 23:02:49 +03:00
"/a/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2022-03-14 18:18:27 +03:00
} ,
{
2023-03-21 23:02:49 +03:00
"/b" ,
2022-03-23 00:02:26 +03:00
"a/../0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2023-03-21 23:02:49 +03:00
"/b/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2022-03-14 18:18:27 +03:00
} ,
{
2023-03-21 23:02:49 +03:00
"/b" ,
2022-03-23 00:02:26 +03:00
"a\\..\\0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2023-03-21 23:02:49 +03:00
"/b/0/a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14" ,
2022-03-14 18:18:27 +03:00
} ,
}
for _ , k := range kases {
t . Run ( k . path , func ( t * testing . T ) {
2022-03-23 00:02:26 +03:00
l := LocalStorage { dir : k . localDir }
assert . EqualValues ( t , k . expected , l . buildLocalPath ( k . path ) )
2022-03-14 18:18:27 +03:00
} )
}
}
2023-03-13 13:23:51 +03:00
func TestLocalStorageIterator ( t * testing . T ) {
dir := filepath . Join ( os . TempDir ( ) , "TestLocalStorageIteratorTestDir" )
2023-06-14 06:42:38 +03:00
testStorageIterator ( t , setting . LocalStorageType , & setting . Storage { Path : dir } )
2023-03-13 13:23:51 +03:00
}