mirror of
https://github.com/datarhei/core.git
synced 2025-09-27 20:32:35 +08:00
54 lines
1.7 KiB
Go
54 lines
1.7 KiB
Go
package value
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestS3Value(t *testing.T) {
|
|
filesystems := []S3Storage{}
|
|
|
|
v := NewS3StorageListValue(&filesystems, nil, " ")
|
|
require.Equal(t, "(empty)", v.String())
|
|
|
|
v.Set("https://access_key_id1:secret_access_id1@region1.subdomain.endpoint1.com/bucket1?name=aaa1&mount=/abc1&username=xxx1&password=yyy1 http://access_key_id2:secret_access_id2@region2.endpoint2.com/bucket2?name=aaa2&mount=/abc2&username=xxx2&password=yyy2")
|
|
require.Equal(t, []S3Storage{
|
|
{
|
|
Name: "aaa1",
|
|
Mountpoint: "/abc1",
|
|
Auth: S3StorageAuth{
|
|
Enable: true,
|
|
Username: "xxx1",
|
|
Password: "yyy1",
|
|
},
|
|
Endpoint: "subdomain.endpoint1.com",
|
|
AccessKeyID: "access_key_id1",
|
|
SecretAccessKey: "secret_access_id1",
|
|
Bucket: "bucket1",
|
|
Region: "region1",
|
|
UseSSL: true,
|
|
},
|
|
{
|
|
Name: "aaa2",
|
|
Mountpoint: "/abc2",
|
|
Auth: S3StorageAuth{
|
|
Enable: true,
|
|
Username: "xxx2",
|
|
Password: "yyy2",
|
|
},
|
|
Endpoint: "endpoint2.com",
|
|
AccessKeyID: "access_key_id2",
|
|
SecretAccessKey: "secret_access_id2",
|
|
Bucket: "bucket2",
|
|
Region: "region2",
|
|
UseSSL: false,
|
|
},
|
|
}, filesystems)
|
|
require.Equal(t, "https://access_key_id1:---@region1.subdomain.endpoint1.com/bucket1?mount=%2Fabc1&name=aaa1&password=---&username=xxx1 http://access_key_id2:---@region2.endpoint2.com/bucket2?mount=%2Fabc2&name=aaa2&password=---&username=xxx2", v.String())
|
|
require.NoError(t, v.Validate())
|
|
|
|
v.Set("https://access_key_id1:secret_access_id1@region1.endpoint1.com/bucket1?name=djk*;..&mount=/abc1&username=xxx1&password=yyy1")
|
|
require.Error(t, v.Validate())
|
|
}
|