@@ -0,0 +1,29 @@
|
||||
package oci
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// namespace 为租户常量:缓存命中时直接返回,不构造客户端、不发起远程调用
|
||||
// (凭据为空也能取到,证明未走回源路径)。
|
||||
func TestGetObjectStorageNamespaceCached(t *testing.T) {
|
||||
c := NewClient()
|
||||
tests := []struct {
|
||||
name string
|
||||
tenancy string
|
||||
seed string
|
||||
}{
|
||||
{name: "缓存命中直接返回", tenancy: "ocid1.tenancy.oc1..aaaa", seed: "ns-a"},
|
||||
{name: "不同租户各取各的", tenancy: "ocid1.tenancy.oc1..bbbb", seed: "ns-b"},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
c.namespaces.Store(tt.tenancy, tt.seed)
|
||||
got, err := c.GetObjectStorageNamespace(context.Background(), Credentials{TenancyOCID: tt.tenancy}, "us-ashburn-1")
|
||||
if err != nil || got != tt.seed {
|
||||
t.Fatalf("GetObjectStorageNamespace = %q, %v; want %q", got, err, tt.seed)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user