@@ -17,11 +17,16 @@ limitations under the License.
1717package blob
1818
1919import (
20+ "context"
2021 "fmt"
2122 "io/ioutil"
2223 "os"
2324 "reflect"
2425 "testing"
26+
27+ "github.com/Azure/go-autorest/autorest/azure"
28+ "github.com/stretchr/testify/assert"
29+ azure2 "k8s.io/legacy-cloud-providers/azure"
2530)
2631
2732// TestGetCloudProvider tests the func GetCloudProvider().
@@ -139,6 +144,87 @@ users:
139144 }
140145}
141146
147+ func TestGetServicePrincipalToken (t * testing.T ) {
148+ env := azure.Environment {
149+ ActiveDirectoryEndpoint : "unit-test" ,
150+ }
151+ resource := "unit-test"
152+ d := NewFakeDriver ()
153+ d .cloud = & azure2.Cloud {}
154+ _ , err := d .getServicePrincipalToken (env , resource )
155+ expectedErr := fmt .Errorf ("parameter 'clientID' cannot be empty" )
156+ if ! reflect .DeepEqual (expectedErr , err ) {
157+ t .Errorf ("actualErr: (%v), expectedErr: (%v)" , err , expectedErr )
158+ }
159+ d .cloud .AADClientID = "unit-test"
160+ d .cloud .AADClientSecret = "unit-test"
161+ _ , err = d .getServicePrincipalToken (env , resource )
162+ assert .NoError (t , err )
163+ }
164+
165+ func TestGetKeyvaultToken (t * testing.T ) {
166+ env := azure.Environment {
167+ ActiveDirectoryEndpoint : "unit-test" ,
168+ KeyVaultEndpoint : "unit-test" ,
169+ }
170+ d := NewFakeDriver ()
171+ d .cloud = & azure2.Cloud {}
172+ d .cloud .Environment = env
173+ _ , err := d .getKeyvaultToken ()
174+ expectedErr := fmt .Errorf ("parameter 'clientID' cannot be empty" )
175+ if ! reflect .DeepEqual (expectedErr , err ) {
176+ t .Errorf ("actualErr: (%v), expectedErr: (%v)" , err , expectedErr )
177+ }
178+ d .cloud .AADClientID = "unit-test"
179+ d .cloud .AADClientSecret = "unit-test"
180+ _ , err = d .getKeyvaultToken ()
181+ assert .NoError (t , err )
182+
183+ }
184+
185+ func TestInitializeKvClient (t * testing.T ) {
186+ env := azure.Environment {
187+ ActiveDirectoryEndpoint : "unit-test" ,
188+ KeyVaultEndpoint : "unit-test" ,
189+ }
190+ d := NewFakeDriver ()
191+ d .cloud = & azure2.Cloud {}
192+ d .cloud .Environment = env
193+ _ , err := d .initializeKvClient ()
194+ expectedErr := fmt .Errorf ("parameter 'clientID' cannot be empty" )
195+ if ! reflect .DeepEqual (expectedErr , err ) {
196+ t .Errorf ("actualErr: (%v), expectedErr: (%v)" , err , expectedErr )
197+ }
198+ d .cloud .AADClientID = "unit-test"
199+ d .cloud .AADClientSecret = "unit-test"
200+ _ , err = d .initializeKvClient ()
201+ assert .NoError (t , err )
202+ }
203+
204+ func TestGetKeyVaultSecretContent (t * testing.T ) {
205+ env := azure.Environment {
206+ ActiveDirectoryEndpoint : "unit-test" ,
207+ KeyVaultEndpoint : "unit-test" ,
208+ }
209+ d := NewFakeDriver ()
210+ d .cloud = & azure2.Cloud {}
211+ d .cloud .Environment = env
212+ valueURL := "unit-test"
213+ secretName := "unit-test"
214+ secretVersion := "v1"
215+ _ , err := d .getKeyVaultSecretContent (context .TODO (), valueURL , secretName , secretVersion )
216+ expectedErr := fmt .Errorf ("failed to get keyvaultClient: parameter 'clientID' cannot be empty" )
217+ if ! reflect .DeepEqual (expectedErr , err ) {
218+ t .Errorf ("actualErr: (%v), expectedErr: (%v)" , err , expectedErr )
219+ }
220+ d .cloud .AADClientID = "unit-test"
221+ d .cloud .AADClientSecret = "unit-test"
222+ expectedErr = fmt .Errorf ("failed to use vaultURL(unit-test), sercretName(unit-test), secretVersion(v1) to get secret: keyvault.BaseClient#GetSecret: Failure preparing request: StatusCode=0 -- Original Error: autorest: No scheme detected in URL unit-test" )
223+ _ , err = d .getKeyVaultSecretContent (context .TODO (), valueURL , secretName , secretVersion )
224+ if ! reflect .DeepEqual (expectedErr , err ) {
225+ t .Errorf ("actualErr: (%v), expectedErr: (%v)" , err , expectedErr )
226+ }
227+ }
142228func createTestFile (path string ) error {
143229 f , err := os .Create (path )
144230 if err != nil {
0 commit comments