Skip to content

Commit 6322176

Browse files
committed
GODRIVER-2963 Use more environment variables in Azure KMS test (#1367)
* use environment variables for key_name and key_vault_endpoint This may prevent future code changes if Azure test data changes.
1 parent c8bbc62 commit 6322176

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

.evergreen/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2237,7 +2237,7 @@ tasks:
22372237
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
22382238
echo '${testazurekms_privatekey}' > /tmp/testazurekms.prikey
22392239
export AZUREKMS_PRIVATEKEYPATH=/tmp/testazurekms.prikey
2240-
AZUREKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib MONGODB_URI='mongodb://localhost:27017' PROVIDER='azure' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/azurekms/run-command.sh
2240+
AZUREKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib MONGODB_URI='mongodb://localhost:27017' PROVIDER='azure' AZUREKMS_KEY_NAME='${AZUREKMS_KEY_NAME}' AZUREKMS_KEY_VAULT_ENDPOINT='${AZUREKMS_KEY_VAULT_ENDPOINT}' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/azurekms/run-command.sh
22412241
22422242
- name: "testazurekms-fail-task"
22432243
# testazurekms-fail-task runs without environment variables.
@@ -2259,7 +2259,7 @@ tasks:
22592259
LD_LIBRARY_PATH=./install/libmongocrypt/lib \
22602260
MONGODB_URI='mongodb://localhost:27017' \
22612261
EXPECT_ERROR='unable to retrieve azure credentials' \
2262-
PROVIDER='azure' \
2262+
PROVIDER='azure' AZUREKMS_KEY_NAME='${AZUREKMS_KEY_NAME}' AZUREKMS_KEY_VAULT_ENDPOINT='${AZUREKMS_KEY_VAULT_ENDPOINT}' \
22632263
./testkms
22642264
22652265
- name: "test-fuzz"

cmd/testkms/main.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ var datakeyopts = map[string]primitive.M{
2424
"key": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0",
2525
},
2626
"azure": bson.M{
27-
"keyVaultEndpoint": "https://keyvault-drivers-2411.vault.azure.net/keys/",
28-
"keyName": "KEY-NAME",
27+
"keyVaultEndpoint": "",
28+
"keyName": "",
2929
},
3030
"gcp": bson.M{
3131
"projectId": "devprod-drivers",
@@ -53,6 +53,20 @@ func main() {
5353
default:
5454
ok = true
5555
}
56+
if provider == "azure" {
57+
azureKmsKeyName := os.Getenv("AZUREKMS_KEY_NAME")
58+
azureKmsKeyVaultEndpoint := os.Getenv("AZUREKMS_KEY_VAULT_ENDPOINT")
59+
if azureKmsKeyName == "" {
60+
fmt.Println("ERROR: Please set required AZUREKMS_KEY_NAME environment variable.")
61+
ok = false
62+
}
63+
if azureKmsKeyVaultEndpoint == "" {
64+
fmt.Println("ERROR: Please set required AZUREKMS_KEY_VAULT_ENDPOINT environment variable.")
65+
ok = false
66+
}
67+
datakeyopts["azure"]["keyName"] = azureKmsKeyName
68+
datakeyopts["azure"]["keyVaultEndpoint"] = azureKmsKeyVaultEndpoint
69+
}
5670
if !ok {
5771
providers := make([]string, 0, len(datakeyopts))
5872
for p := range datakeyopts {
@@ -63,6 +77,8 @@ func main() {
6377
fmt.Println("- MONGODB_URI as a MongoDB URI. Example: 'mongodb://localhost:27017'")
6478
fmt.Println("- EXPECT_ERROR as an optional expected error substring.")
6579
fmt.Println("- PROVIDER as a KMS provider, which supports:", strings.Join(providers, ", "))
80+
fmt.Println("- AZUREKMS_KEY_NAME as the Azure key name. Required if PROVIDER=azure.")
81+
fmt.Println("- AZUREKMS_KEY_VAULT_ENDPOINT as the Azure key name. Required if PROVIDER=azure.")
6682
os.Exit(1)
6783
}
6884

0 commit comments

Comments
 (0)