Skip to content

Commit b3ce32f

Browse files
committed
fix ut
1 parent bfd8358 commit b3ce32f

File tree

1 file changed

+25
-40
lines changed

1 file changed

+25
-40
lines changed

pkg/blob/azure_test.go

Lines changed: 25 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2022-07-01/network"
2828
"github.com/Azure/azure-sdk-for-go/storage"
2929
"github.com/golang/mock/gomock"
30+
"k8s.io/client-go/kubernetes"
3031

3132
"github.com/Azure/go-autorest/autorest/azure"
3233
"github.com/stretchr/testify/assert"
@@ -61,12 +62,7 @@ kind: Config
6162
users:
6263
- name: foo-user
6364
user:
64-
exec:
65-
apiVersion: client.authentication.k8s.io/v1alpha1
66-
args:
67-
- arg-1
68-
- arg-2
69-
command: foo-command
65+
token: 2fef7f7c64127579b48d61434c44ad46d87793169ee6a4199af3ce16a3cf5be3371
7066
`
7167

7268
err := createTestFile(emptyKubeConfig)
@@ -87,55 +83,41 @@ users:
8783
nodeID string
8884
userAgent string
8985
allowEmptyCloudConfig bool
90-
expectedErr error
86+
expectedErrorMessage string
87+
expectError bool
9188
}{
9289
{
93-
desc: "out of cluster, no kubeconfig, no credential file",
94-
kubeconfig: "",
90+
desc: "[success] out of cluster, no kubeconfig, no credential file",
9591
nodeID: "",
9692
allowEmptyCloudConfig: true,
97-
expectedErr: nil,
93+
expectError: false,
9894
},
9995
{
100-
desc: "[failure][disallowEmptyCloudConfig] out of cluster, no kubeconfig, no credential file",
101-
kubeconfig: "",
96+
desc: "[failure][disallowEmptyCloudConfig] out of cluster, no kubeconfig, no credential file",
10297
nodeID: "",
10398
allowEmptyCloudConfig: false,
104-
expectedErr: nil,
99+
expectError: true,
100+
expectedErrorMessage: "no cloud config provided, error: open /etc/kubernetes/azure.json: no such file or directory",
105101
},
106102
{
107-
desc: "[failure] out of cluster & in cluster, specify a non-exist kubeconfig, no credential file",
108-
kubeconfig: "/tmp/non-exist.json",
109-
nodeID: "",
110-
allowEmptyCloudConfig: true,
111-
expectedErr: nil,
112-
},
113-
{
114-
desc: "[failure] out of cluster & in cluster, specify a empty kubeconfig, no credential file",
115-
kubeconfig: emptyKubeConfig,
116-
nodeID: "",
117-
allowEmptyCloudConfig: true,
118-
expectedErr: fmt.Errorf("invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"),
119-
},
120-
{
121-
desc: "[failure] out of cluster & in cluster, specify a fake kubeconfig, no credential file",
103+
desc: "[success] out of cluster & in cluster, specify a fake kubeconfig, no credential file",
122104
createFakeKubeConfig: true,
123105
kubeconfig: fakeKubeConfig,
124106
nodeID: "",
125107
allowEmptyCloudConfig: true,
126-
expectedErr: nil,
108+
expectError: false,
127109
},
128110
{
129111
desc: "[success] out of cluster & in cluster, no kubeconfig, a fake credential file",
130112
createFakeCredFile: true,
131-
kubeconfig: "",
132113
nodeID: "",
133114
userAgent: "useragent",
134115
allowEmptyCloudConfig: true,
135-
expectedErr: nil,
116+
expectError: false,
136117
},
137118
}
138119

120+
var kubeClient kubernetes.Interface
139121
for _, test := range tests {
140122
if test.createFakeKubeConfig {
141123
if err := createTestFile(fakeKubeConfig); err != nil {
@@ -150,6 +132,13 @@ users:
150132
if err := os.WriteFile(fakeKubeConfig, []byte(fakeContent), 0666); err != nil {
151133
t.Error(err)
152134
}
135+
136+
kubeClient, err = util.GetKubeClient(test.kubeconfig, 25.0, 50, "")
137+
if err != nil {
138+
t.Error(err)
139+
}
140+
} else {
141+
kubeClient = nil
153142
}
154143
if test.createFakeCredFile {
155144
if err := createTestFile(fakeCredFile); err != nil {
@@ -169,17 +158,13 @@ users:
169158
}
170159
os.Setenv(DefaultAzureCredentialFileEnv, fakeCredFile)
171160
}
172-
kubeClient, err := util.GetKubeClient(test.kubeconfig, 25.0, 50, "")
173-
if err != nil {
174-
if !reflect.DeepEqual(err, test.expectedErr) && test.expectedErr != nil && !strings.Contains(err.Error(), test.expectedErr.Error()) {
175-
t.Errorf("desc: %s,\n input: %q, GetCloudProvider err: %v, expectedErr: %v", test.desc, test.kubeconfig, err, test.expectedErr)
176-
}
177-
continue
178-
}
161+
179162
cloud, err := GetCloudProvider(context.Background(), kubeClient, test.nodeID, "", "", test.userAgent, test.allowEmptyCloudConfig)
180-
if !reflect.DeepEqual(err, test.expectedErr) && test.expectedErr != nil && !strings.Contains(err.Error(), test.expectedErr.Error()) {
181-
t.Errorf("desc: %s,\n input: %q, GetCloudProvider err: %v, expectedErr: %v", test.desc, test.kubeconfig, err, test.expectedErr)
163+
assert.Equal(t, test.expectError, err != nil)
164+
if test.expectError {
165+
assert.Equal(t, test.expectedErrorMessage, err.Error())
182166
}
167+
183168
if cloud == nil {
184169
t.Errorf("return value of getCloudProvider should not be nil even there is error")
185170
} else {

0 commit comments

Comments
 (0)