|
|
@@ -27,12 +27,15 @@ MINIO_BUCKET = gitea-storage |
|
|
|
|
|
|
|
assert.NoError(t, loadAttachmentFrom(cfg)) |
|
|
|
assert.EqualValues(t, "gitea-attachment", Attachment.Storage.MinioConfig.Bucket) |
|
|
|
assert.EqualValues(t, "attachments/", Attachment.Storage.MinioConfig.BasePath) |
|
|
|
|
|
|
|
assert.NoError(t, loadLFSFrom(cfg)) |
|
|
|
assert.EqualValues(t, "gitea-lfs", LFS.Storage.MinioConfig.Bucket) |
|
|
|
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath) |
|
|
|
|
|
|
|
assert.NoError(t, loadAvatarsFrom(cfg)) |
|
|
|
assert.EqualValues(t, "gitea-storage", Avatar.Storage.MinioConfig.Bucket) |
|
|
|
assert.EqualValues(t, "avatars/", Avatar.Storage.MinioConfig.BasePath) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageUseOtherNameAsType(t *testing.T) { |
|
|
@@ -49,9 +52,11 @@ MINIO_BUCKET = gitea-storage |
|
|
|
|
|
|
|
assert.NoError(t, loadAttachmentFrom(cfg)) |
|
|
|
assert.EqualValues(t, "gitea-storage", Attachment.Storage.MinioConfig.Bucket) |
|
|
|
assert.EqualValues(t, "attachments/", Attachment.Storage.MinioConfig.BasePath) |
|
|
|
|
|
|
|
assert.NoError(t, loadLFSFrom(cfg)) |
|
|
|
assert.EqualValues(t, "gitea-storage", LFS.Storage.MinioConfig.Bucket) |
|
|
|
assert.EqualValues(t, "lfs/", LFS.Storage.MinioConfig.BasePath) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageInheritStorageType(t *testing.T) { |
|
|
@@ -117,6 +122,9 @@ func Test_getStorageInheritStorageTypeLocal(t *testing.T) { |
|
|
|
[storage] |
|
|
|
STORAGE_TYPE = local |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/repo-archive"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/actions_log"}, |
|
|
@@ -131,6 +139,9 @@ func Test_getStorageInheritStorageTypeLocalPath(t *testing.T) { |
|
|
|
STORAGE_TYPE = local |
|
|
|
PATH = /data/gitea |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/data/gitea/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/data/gitea/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/data/gitea/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/data/gitea/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/repo-archive"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/data/gitea/actions_log"}, |
|
|
@@ -145,6 +156,9 @@ func Test_getStorageInheritStorageTypeLocalRelativePath(t *testing.T) { |
|
|
|
STORAGE_TYPE = local |
|
|
|
PATH = storages |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/storages/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/storages/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/storages/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/storages/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/storages/repo-archive"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/storages/actions_log"}, |
|
|
@@ -162,6 +176,9 @@ PATH = /data/gitea |
|
|
|
[repo-archive] |
|
|
|
PATH = /data/gitea/the-archives-dir |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/data/gitea/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/data/gitea/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/data/gitea/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/data/gitea/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/the-archives-dir"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/data/gitea/actions_log"}, |
|
|
@@ -178,6 +195,9 @@ PATH = /data/gitea |
|
|
|
|
|
|
|
[repo-archive] |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/data/gitea/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/data/gitea/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/data/gitea/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/data/gitea/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/repo-archive"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/data/gitea/actions_log"}, |
|
|
@@ -195,6 +215,9 @@ PATH = /data/gitea |
|
|
|
[repo-archive] |
|
|
|
PATH = the-archives-dir |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/data/gitea/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/data/gitea/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/data/gitea/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/data/gitea/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/the-archives-dir"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/data/gitea/actions_log"}, |
|
|
@@ -209,6 +232,9 @@ func Test_getStorageInheritStorageTypeLocalPathOverride3(t *testing.T) { |
|
|
|
STORAGE_TYPE = local |
|
|
|
PATH = /data/gitea/archives |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/archives"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/actions_log"}, |
|
|
@@ -217,6 +243,23 @@ PATH = /data/gitea/archives |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageInheritStorageTypeLocalPathOverride3_5(t *testing.T) { |
|
|
|
testLocalStoragePath(t, "/appdata", ` |
|
|
|
[storage.repo-archive] |
|
|
|
STORAGE_TYPE = local |
|
|
|
PATH = a-relative-path |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/a-relative-path"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/actions_log"}, |
|
|
|
{loadAvatarsFrom, &Avatar.Storage, "/appdata/avatars"}, |
|
|
|
{loadRepoAvatarFrom, &RepoAvatar.Storage, "/appdata/repo-avatars"}, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageInheritStorageTypeLocalPathOverride4(t *testing.T) { |
|
|
|
testLocalStoragePath(t, "/appdata", ` |
|
|
|
[storage.repo-archive] |
|
|
@@ -226,6 +269,9 @@ PATH = /data/gitea/archives |
|
|
|
[repo-archive] |
|
|
|
PATH = /tmp/gitea/archives |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/tmp/gitea/archives"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/actions_log"}, |
|
|
@@ -242,6 +288,9 @@ PATH = /data/gitea/archives |
|
|
|
|
|
|
|
[repo-archive] |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadAttachmentFrom, &Attachment.Storage, "/appdata/attachments"}, |
|
|
|
{loadLFSFrom, &LFS.Storage, "/appdata/lfs"}, |
|
|
|
{loadActionsFrom, &Actions.ArtifactStorage, "/appdata/actions_artifacts"}, |
|
|
|
{loadPackagesFrom, &Packages.Storage, "/appdata/packages"}, |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/data/gitea/archives"}, |
|
|
|
{loadActionsFrom, &Actions.LogStorage, "/appdata/actions_log"}, |
|
|
@@ -249,3 +298,117 @@ PATH = /data/gitea/archives |
|
|
|
{loadRepoAvatarFrom, &RepoAvatar.Storage, "/appdata/repo-avatars"}, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageInheritStorageTypeLocalPathOverride72(t *testing.T) { |
|
|
|
testLocalStoragePath(t, "/appdata", ` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = local |
|
|
|
PATH = archives |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/archives"}, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration20(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = my_storage |
|
|
|
PATH = archives |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
assert.Error(t, loadRepoArchiveFrom(cfg)) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration21(t *testing.T) { |
|
|
|
testLocalStoragePath(t, "/appdata", ` |
|
|
|
[storage.repo-archive] |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/repo-archive"}, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration22(t *testing.T) { |
|
|
|
testLocalStoragePath(t, "/appdata", ` |
|
|
|
[storage.repo-archive] |
|
|
|
PATH = archives |
|
|
|
`, []testLocalStoragePathCase{ |
|
|
|
{loadRepoArchiveFrom, &RepoArchive.Storage, "/appdata/archives"}, |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration23(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = minio |
|
|
|
MINIO_ACCESS_KEY_ID = my_access_key |
|
|
|
MINIO_SECRET_ACCESS_KEY = my_secret_key |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
|
|
|
|
_, err = getStorage(cfg, "", "", nil) |
|
|
|
assert.Error(t, err) |
|
|
|
|
|
|
|
assert.NoError(t, loadRepoArchiveFrom(cfg)) |
|
|
|
cp := RepoArchive.Storage.ToShadowCopy() |
|
|
|
assert.EqualValues(t, "******", cp.MinioConfig.AccessKeyID) |
|
|
|
assert.EqualValues(t, "******", cp.MinioConfig.SecretAccessKey) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration24(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = my_archive |
|
|
|
|
|
|
|
[storage.my_archive] |
|
|
|
; unsupported, storage type should be defined explicitly |
|
|
|
PATH = archives |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
assert.Error(t, loadRepoArchiveFrom(cfg)) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration25(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = my_archive |
|
|
|
|
|
|
|
[storage.my_archive] |
|
|
|
; unsupported, storage type should be known type |
|
|
|
STORAGE_TYPE = unknown // should be local or minio |
|
|
|
PATH = archives |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
assert.Error(t, loadRepoArchiveFrom(cfg)) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration26(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[repo-archive] |
|
|
|
STORAGE_TYPE = minio |
|
|
|
MINIO_ACCESS_KEY_ID = my_access_key |
|
|
|
MINIO_SECRET_ACCESS_KEY = my_secret_key |
|
|
|
; wrong configuration |
|
|
|
MINIO_USE_SSL = abc |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
// assert.Error(t, loadRepoArchiveFrom(cfg)) |
|
|
|
// FIXME: this should return error but now ini package's MapTo() doesn't check type |
|
|
|
assert.NoError(t, loadRepoArchiveFrom(cfg)) |
|
|
|
} |
|
|
|
|
|
|
|
func Test_getStorageConfiguration27(t *testing.T) { |
|
|
|
cfg, err := NewConfigProviderFromData(` |
|
|
|
[storage.repo-archive] |
|
|
|
STORAGE_TYPE = minio |
|
|
|
MINIO_ACCESS_KEY_ID = my_access_key |
|
|
|
MINIO_SECRET_ACCESS_KEY = my_secret_key |
|
|
|
MINIO_USE_SSL = true |
|
|
|
`) |
|
|
|
assert.NoError(t, err) |
|
|
|
assert.NoError(t, loadRepoArchiveFrom(cfg)) |
|
|
|
assert.EqualValues(t, "my_access_key", RepoArchive.Storage.MinioConfig.AccessKeyID) |
|
|
|
assert.EqualValues(t, "my_secret_key", RepoArchive.Storage.MinioConfig.SecretAccessKey) |
|
|
|
assert.EqualValues(t, true, RepoArchive.Storage.MinioConfig.UseSSL) |
|
|
|
assert.EqualValues(t, "repo-archive/", RepoArchive.Storage.MinioConfig.BasePath) |
|
|
|
} |