// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package s3 import ( "fmt" "strings" "testing" ) type mockUseARNRegion func() (value bool, ok bool, err error) func (m mockUseARNRegion) GetS3UseARNRegion() (value bool, ok bool, err error) { return m() } func TestExternalConfigResolver(t *testing.T) { t.Run("UseARNRegion", func(t *testing.T) { t.Run("value not found", func(t *testing.T) { svc := &Client{} err := resolveClientConfig(svc, []interface{}{ mockUseARNRegion(func() (value bool, ok bool, err error) { return value, ok, err }), }) if err != nil { t.Errorf("expected no error, got %v", err) } if e, a := false, svc.UseARNRegion; e != a { t.Errorf("expected %v, got %v", e, a) } }) t.Run("resolve error", func(t *testing.T) { svc := &Client{} err := resolveClientConfig(svc, []interface{}{ mockUseARNRegion(func() (value bool, ok bool, err error) { err = fmt.Errorf("resolve error") return value, ok, err }), }) if err == nil { t.Fatalf("expected error, got none") } if e, a := "resolve error", err.Error(); !strings.Contains(a, e) { t.Errorf("expected %v, got %v", e, a) } }) t.Run("value found", func(t *testing.T) { svc := &Client{} err := resolveClientConfig(svc, []interface{}{ mockUseARNRegion(func() (value bool, ok bool, err error) { value = true return value, true, err }), mockUseARNRegion(func() (value bool, ok bool, err error) { return value, true, err }), }) if err != nil { t.Errorf("expected no error, got %v", err) } if e, a := true, svc.UseARNRegion; e != a { t.Errorf("expected %v, got %v", e, a) } }) }) }