diff options
author | KN4CK3R <KN4CK3R@users.noreply.github.com> | 2021-03-18 14:58:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-18 13:58:47 +0000 |
commit | e8ad6c1ff36b257506bcc30482e9ad02badd0566 (patch) | |
tree | 906ec06e9315009ef83b09b1099ddb1709bf9ca4 /integrations/migrate_test.go | |
parent | 032f4c396901085bd3dd850ed173397cd4ff70bf (diff) | |
download | gitea-e8ad6c1ff36b257506bcc30482e9ad02badd0566.tar.gz gitea-e8ad6c1ff36b257506bcc30482e9ad02badd0566.zip |
Do not convert file path to lowercase (#15023)
* Do not convert file path to lowercase.
* lint
* Check against lowercase hostname.
Diffstat (limited to 'integrations/migrate_test.go')
-rw-r--r-- | integrations/migrate_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/integrations/migrate_test.go b/integrations/migrate_test.go new file mode 100644 index 0000000000..b0395fbc3d --- /dev/null +++ b/integrations/migrate_test.go @@ -0,0 +1,42 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package integrations + +import ( + "io/ioutil" + "os" + "testing" + + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/migrations" + "code.gitea.io/gitea/modules/setting" + + "github.com/stretchr/testify/assert" +) + +func TestMigrateLocalPath(t *testing.T) { + assert.NoError(t, models.PrepareTestDatabase()) + + adminUser := models.AssertExistsAndLoadBean(t, &models.User{Name: "user1"}).(*models.User) + + old := setting.ImportLocalPaths + setting.ImportLocalPaths = true + + lowercasePath, err := ioutil.TempDir("", "lowercase") // may not be lowercase because TempDir creates a random directory name which may be mixedcase + assert.NoError(t, err) + defer os.RemoveAll(lowercasePath) + + err = migrations.IsMigrateURLAllowed(lowercasePath, adminUser) + assert.NoError(t, err, "case lowercase path") + + mixedcasePath, err := ioutil.TempDir("", "mIxeDCaSe") + assert.NoError(t, err) + defer os.RemoveAll(mixedcasePath) + + err = migrations.IsMigrateURLAllowed(mixedcasePath, adminUser) + assert.NoError(t, err, "case mixedcase path") + + setting.ImportLocalPaths = old +} |