test: consolidate Go tests (#39962)

Consolidate all Go tests. Coverage is identical to before. Go tests are
around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-24 13:48:19 +00:00
1 parent ce7364e215
commit 8abda62312
388 files changed
+18410 -29561

No files matched your search

+17 -39
View File
@@ -52,18 +52,21 @@ func TestMinioCredentials(t *testing.T) {
FakeEndpoint = "http://localhost"
)
t.Run("Static Credentials", func(t *testing.T) {
cfg := setting.MinioStorageConfig{
AccessKeyID: ExpectedAccessKey,
SecretAccessKey: ExpectedSecretAccessKey,
IamEndpoint: FakeEndpoint,
}
checkCredentials := func(t *testing.T, cfg setting.MinioStorageConfig, suffix string) {
creds := buildMinioCredentials(cfg)
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey, v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey, v.SecretAccessKey)
assert.Equal(t, ExpectedAccessKey+suffix, v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+suffix, v.SecretAccessKey)
}
t.Run("Static Credentials", func(t *testing.T) {
checkCredentials(t, setting.MinioStorageConfig{
AccessKeyID: ExpectedAccessKey,
SecretAccessKey: ExpectedSecretAccessKey,
IamEndpoint: FakeEndpoint,
}, "")
})
t.Run("Chain", func(t *testing.T) {
@@ -75,24 +78,14 @@ func TestMinioCredentials(t *testing.T) {
t.Setenv("MINIO_ACCESS_KEY", ExpectedAccessKey+"Minio")
t.Setenv("MINIO_SECRET_KEY", ExpectedSecretAccessKey+"Minio")
creds := buildMinioCredentials(cfg)
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"Minio", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"Minio", v.SecretAccessKey)
checkCredentials(t, cfg, "Minio")
})
t.Run("EnvAWS", func(t *testing.T) {
t.Setenv("AWS_ACCESS_KEY", ExpectedAccessKey+"AWS")
t.Setenv("AWS_SECRET_KEY", ExpectedSecretAccessKey+"AWS")
creds := buildMinioCredentials(cfg)
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"AWS", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"AWS", v.SecretAccessKey)
checkCredentials(t, cfg, "AWS")
})
t.Run("FileMinio", func(t *testing.T) {
@@ -100,12 +93,7 @@ func TestMinioCredentials(t *testing.T) {
t.Setenv("MINIO_SHARED_CREDENTIALS_FILE", "testdata/minio.json")
t.Setenv("AWS_SHARED_CREDENTIALS_FILE", "testdata/fake")
creds := buildMinioCredentials(cfg)
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"MinioFile", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"MinioFile", v.SecretAccessKey)
checkCredentials(t, cfg, "MinioFile")
})
t.Run("FileAWS", func(t *testing.T) {
@@ -113,12 +101,7 @@ func TestMinioCredentials(t *testing.T) {
t.Setenv("MINIO_SHARED_CREDENTIALS_FILE", "testdata/fake.json")
t.Setenv("AWS_SHARED_CREDENTIALS_FILE", "testdata/aws_credentials")
creds := buildMinioCredentials(cfg)
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"AWSFile", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"AWSFile", v.SecretAccessKey)
checkCredentials(t, cfg, "AWSFile")
})
t.Run("IAM", func(t *testing.T) {
@@ -139,14 +122,9 @@ func TestMinioCredentials(t *testing.T) {
defer server.Close()
// Use the provided EC2 Instance Metadata server
creds := buildMinioCredentials(setting.MinioStorageConfig{
checkCredentials(t, setting.MinioStorageConfig{
IamEndpoint: server.URL,
})
v, err := creds.Get()
assert.NoError(t, err)
assert.Equal(t, ExpectedAccessKey+"IAM", v.AccessKeyID)
assert.Equal(t, ExpectedSecretAccessKey+"IAM", v.SecretAccessKey)
}, "IAM")
})
})
}
+16 -31
View File
@@ -15,37 +15,22 @@ import (
)
func TestObjectStoragePath(t *testing.T) {
base := ""
assert.Empty(t, buildObjectStorePath(base, "/"))
assert.Empty(t, buildObjectStorePath(base, "."))
assert.Equal(t, "a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "a/b", buildObjectStorePath(base, "/a/b/"))
assert.Empty(t, buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "a/", buildObjectStorePathPrefix(base, "/a/"))
base = "/"
assert.Empty(t, buildObjectStorePath(base, "/"))
assert.Empty(t, buildObjectStorePath(base, "."))
assert.Equal(t, "a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "a/b", buildObjectStorePath(base, "/a/b/"))
assert.Empty(t, buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "a/", buildObjectStorePathPrefix(base, "/a/"))
base = "/base"
assert.Equal(t, "base", buildObjectStorePath(base, "/"))
assert.Equal(t, "base", buildObjectStorePath(base, "."))
assert.Equal(t, "base/a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "base/a/b", buildObjectStorePath(base, "/a/b/"))
assert.Equal(t, "base/", buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "base/a/", buildObjectStorePathPrefix(base, "/a/"))
base = "/base/"
assert.Equal(t, "base", buildObjectStorePath(base, "/"))
assert.Equal(t, "base", buildObjectStorePath(base, "."))
assert.Equal(t, "base/a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "base/a/b", buildObjectStorePath(base, "/a/b/"))
assert.Equal(t, "base/", buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "base/a/", buildObjectStorePathPrefix(base, "/a/"))
for _, base := range []string{"", "/"} {
assert.Empty(t, buildObjectStorePath(base, "/"))
assert.Empty(t, buildObjectStorePath(base, "."))
assert.Equal(t, "a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "a/b", buildObjectStorePath(base, "/a/b/"))
assert.Empty(t, buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "a/", buildObjectStorePathPrefix(base, "/a/"))
}
for _, base := range []string{"/base", "/base/"} {
assert.Equal(t, "base", buildObjectStorePath(base, "/"))
assert.Equal(t, "base", buildObjectStorePath(base, "."))
assert.Equal(t, "base/a", buildObjectStorePath(base, "/a"))
assert.Equal(t, "base/a/b", buildObjectStorePath(base, "/a/b/"))
assert.Equal(t, "base/", buildObjectStorePathPrefix(base, ""))
assert.Equal(t, "base/a/", buildObjectStorePathPrefix(base, "/a/"))
}
}
func testStorageAccess(t *testing.T, objStore ObjectStorage) {