mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-05-12 22:10:25 +00:00
75 lines
1.4 KiB
Go
75 lines
1.4 KiB
Go
|
|
// Copyright 2024 The Forgejo Authors.
|
||
|
|
// SPDX-License-Identifier: GPLv3-or-later
|
||
|
|
|
||
|
|
package setting
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"forgejo.org/modules/test"
|
||
|
|
|
||
|
|
"github.com/stretchr/testify/assert"
|
||
|
|
"github.com/stretchr/testify/require"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestSettingF3(t *testing.T) {
|
||
|
|
restoreF3 := test.MockProtect(&F3)
|
||
|
|
restoreAppDataPath := test.MockProtect(&AppDataPath)
|
||
|
|
restore := func() {
|
||
|
|
restoreF3()
|
||
|
|
restoreAppDataPath()
|
||
|
|
}
|
||
|
|
defer restore()
|
||
|
|
|
||
|
|
t.Run("enabled", func(t *testing.T) {
|
||
|
|
restore()
|
||
|
|
cfg, err := NewConfigProviderFromData(`
|
||
|
|
[f3]
|
||
|
|
ENABLED = true
|
||
|
|
`)
|
||
|
|
require.NoError(t, err)
|
||
|
|
loadF3From(cfg)
|
||
|
|
assert.True(t, F3.Enabled)
|
||
|
|
assert.DirExists(t, F3.Path)
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("disabled by default", func(t *testing.T) {
|
||
|
|
restore()
|
||
|
|
cfg, err := NewConfigProviderFromData(`
|
||
|
|
[f3]
|
||
|
|
`)
|
||
|
|
require.NoError(t, err)
|
||
|
|
loadF3From(cfg)
|
||
|
|
assert.False(t, F3.Enabled)
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("default f3 path", func(t *testing.T) {
|
||
|
|
restore()
|
||
|
|
cfg, err := NewConfigProviderFromData(`
|
||
|
|
[f3]
|
||
|
|
ENABLED = true
|
||
|
|
`)
|
||
|
|
require.NoError(t, err)
|
||
|
|
AppDataPath = t.TempDir()
|
||
|
|
loadF3From(cfg)
|
||
|
|
assert.Equal(t, AppDataPath+"/f3", F3.Path)
|
||
|
|
assert.DirExists(t, F3.Path)
|
||
|
|
})
|
||
|
|
|
||
|
|
t.Run("absolute f3 path", func(t *testing.T) {
|
||
|
|
restore()
|
||
|
|
other := t.TempDir()
|
||
|
|
cfg, err := NewConfigProviderFromData(fmt.Sprintf(`
|
||
|
|
[f3]
|
||
|
|
ENABLED = true
|
||
|
|
PATH = %[1]s
|
||
|
|
`, other))
|
||
|
|
require.NoError(t, err)
|
||
|
|
AppDataPath = t.TempDir()
|
||
|
|
loadF3From(cfg)
|
||
|
|
assert.Equal(t, other, F3.Path)
|
||
|
|
assert.DirExists(t, F3.Path)
|
||
|
|
})
|
||
|
|
}
|