@@ -131,14 +131,107 @@ func (f *FakeDynamicProvisioner) GetSkuValuesForLocation(_ context.Context, loca
131131}
132132
133133func TestNewDriver (t * testing.T ) {
134+ fakeConfigFile := "fake-cred-file.json"
135+ fakeConfigContent := `{
136+ "tenantId": "fake-tenant-id",
137+ "subscriptionId": "fake-subscription-id",
138+ "aadClientId": "fake-client-id",
139+ "aadClientSecret": "fake-client-secret",
140+ "resourceGroup": "fake-resource-group",
141+ "location": "fake-location",
142+ }`
143+
144+ if err := os .WriteFile (fakeConfigFile , []byte (fakeConfigContent ), 0o600 ); err != nil {
145+ t .Error (err )
146+ }
147+
148+ defer func () {
149+ if err := os .Remove (fakeConfigFile ); err != nil {
150+ t .Error (err )
151+ }
152+ }()
153+
154+ t .Setenv (DefaultAzureConfigFileEnv , fakeConfigFile )
155+
134156 driverOptions := DriverOptions {
135157 NodeID : fakeNodeID ,
136- DriverName : DefaultDriverName ,
158+ DriverName : fakeDriverName ,
159+ EnableAzureLustreMockMount : false ,
160+ EnableAzureLustreMockDynProv : true ,
161+ WorkingMountDir : "/tmp" ,
162+ RemoveNotReadyTaint : true ,
163+ }
164+ d := NewDriver (& driverOptions )
165+ assert .NotNil (t , d )
166+ assert .NotNil (t , d .cloud )
167+ assert .NotNil (t , d .dynamicProvisioner )
168+ assert .Equal (t , "fake-resource-group" , d .resourceGroup )
169+ assert .Equal (t , "fake-location" , d .location )
170+ assert .Equal (t , fakeNodeID , d .NodeID )
171+ assert .Equal (t , fakeDriverName , d .Name )
172+ assert .Equal (t , "fake-subscription-id" , d .cloud .SubscriptionID )
173+ assert .Equal (t , "fake-tenant-id" , d .cloud .TenantID )
174+ assert .Equal (t , "fake-client-id" , d .cloud .AADClientID )
175+ assert .Equal (t , "fake-client-secret" , d .cloud .AADClientSecret )
176+ assert .Equal (t , "fake-location" , d .cloud .Location )
177+ assert .Equal (t , "fake-resource-group" , d .cloud .ResourceGroup )
178+ assert .Equal (t , "/tmp" , d .workingMountDir )
179+ assert .True (t , d .enableAzureLustreMockDynProv , "enableAzureLustreMockDynProv should be true" )
180+ assert .False (t , d .enableAzureLustreMockMount , "enableAzureLustreMockMount should be false" )
181+ assert .True (t , d .removeNotReadyTaint , "removeNotReadyTaint should be true" )
182+ }
183+
184+ func TestNewDriverInvalidConfigFileLocation (t * testing.T ) {
185+ fakeConfigFile := "fake-cred-file.json"
186+
187+ if err := os .Remove (fakeConfigFile ); err != nil && ! os .IsNotExist (err ) {
188+ t .Error (err )
189+ }
190+
191+ t .Setenv (DefaultAzureConfigFileEnv , fakeConfigFile )
192+
193+ driverOptions := DriverOptions {
194+ NodeID : fakeNodeID ,
195+ DriverName : fakeDriverName ,
196+ EnableAzureLustreMockMount : false ,
197+ EnableAzureLustreMockDynProv : true ,
198+ WorkingMountDir : "/tmp" ,
199+ RemoveNotReadyTaint : true ,
200+ }
201+ d := NewDriver (& driverOptions )
202+ assert .NotNil (t , d )
203+ assert .Equal (t , & azure.Cloud {}, d .cloud )
204+ assert .Equal (t , & DynamicProvisioner {}, d .dynamicProvisioner )
205+ }
206+
207+ func TestNewDriverInvalidConfigFileContents (t * testing.T ) {
208+ invalidConfigFile := "fake-cred-file.json"
209+ invalidConfigContent := `;;;....invalid########`
210+
211+ if err := os .WriteFile (invalidConfigFile , []byte (invalidConfigContent ), 0o600 ); err != nil {
212+ t .Error (err )
213+ }
214+
215+ defer func () {
216+ if err := os .Remove (invalidConfigFile ); err != nil {
217+ t .Error (err )
218+ }
219+ }()
220+
221+ t .Setenv (DefaultAzureConfigFileEnv , invalidConfigFile )
222+
223+ driverOptions := DriverOptions {
224+ NodeID : fakeNodeID ,
225+ DriverName : fakeDriverName ,
137226 EnableAzureLustreMockMount : false ,
138227 EnableAzureLustreMockDynProv : true ,
228+ WorkingMountDir : "/tmp" ,
229+ RemoveNotReadyTaint : true ,
139230 }
140231 d := NewDriver (& driverOptions )
141232 assert .NotNil (t , d )
233+ assert .Equal (t , & azure.Cloud {}, d .cloud )
234+ assert .Equal (t , & DynamicProvisioner {}, d .dynamicProvisioner )
142235}
143236
144237func TestIsCorruptedDir (t * testing.T ) {
0 commit comments