Skip to content

Commit 8d1552b

Browse files
authored
Run MHSM tests weekly, disable attestation in Canary (Azure#36651)
* Run MHSM tests weekly, disable attestation in Canary * Fixed cspell issues.
1 parent 3c084d3 commit 8d1552b

File tree

7 files changed

+28
-5
lines changed

7 files changed

+28
-5
lines changed

.vscode/cspell.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,11 @@
152152
"sdk/identity/azure-identity/**",
153153
"sdk/keyvault/azure-security-keyvault-administration/**",
154154
"sdk/keyvault/azure-security-keyvault-certificates/**",
155-
"sdk/keyvault/azure-security-test-keyvault-jca/**",
156155
"sdk/keyvault/azure-security-keyvault-jca/**",
157-
"sdk/keyvault/azure-security-keyvault-secrets/**",
158156
"sdk/keyvault/azure-security-keyvault-keys/**",
157+
"sdk/keyvault/azure-security-keyvault-secrets/**",
158+
"sdk/keyvault/azure-security-test-keyvault-jca/**",
159+
"sdk/keyvault/test-resources.json",
159160
"sdk/formrecognizer/azure-ai-formrecognizer/**",
160161
"sdk/core/azure-core/**",
161162
"sdk/maps/azure-maps-render/**",

sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyAsyncClientTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ public void listKeys(HttpClient httpClient, KeyServiceVersion serviceVersion) {
587587
@MethodSource("getTestParameters")
588588
public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) {
589589
// TODO: Remove assumption once Key Vault allows for creating exportable keys.
590-
Assumptions.assumeTrue(runManagedHsmTest);
590+
Assumptions.assumeTrue(runManagedHsmTest && runReleaseKeyTest);
591591

592592
createKeyAsyncClient(httpClient, serviceVersion);
593593

sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ public void listKeyVersions(HttpClient httpClient, KeyServiceVersion serviceVers
566566
@MethodSource("getTestParameters")
567567
public void releaseKey(HttpClient httpClient, KeyServiceVersion serviceVersion) {
568568
// TODO: Remove assumption once Key Vault allows for creating exportable keys.
569-
Assumptions.assumeTrue(runManagedHsmTest);
569+
Assumptions.assumeTrue(runManagedHsmTest && runReleaseKeyTest);
570570

571571
createKeyClient(httpClient, serviceVersion);
572572

sdk/keyvault/azure-security-keyvault-keys/src/test/java/com/azure/security/keyvault/keys/KeyClientTestBase.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.azure.core.http.policy.RetryStrategy;
2222
import com.azure.core.http.policy.UserAgentPolicy;
2323
import com.azure.core.http.rest.Response;
24+
import com.azure.core.test.TestMode;
2425
import com.azure.core.test.TestProxyTestBase;
2526
import com.azure.core.test.models.BodilessMatcher;
2627
import com.azure.core.test.models.CustomMatcher;
@@ -79,6 +80,8 @@ public abstract class KeyClientTestBase extends TestProxyTestBase {
7980

8081
protected boolean isHsmEnabled = false;
8182
protected boolean runManagedHsmTest = false;
83+
protected boolean runReleaseKeyTest = getTestMode() == TestMode.PLAYBACK
84+
|| Configuration.getGlobalConfiguration().get("AZURE_KEYVAULT_ATTESTATION_URL") != null;
8285

8386
@Override
8487
protected String getTestName() {

sdk/keyvault/platform-matrix.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
{
22
"displayNames": {
3+
"@{ enableAttestation = $true }": "",
4+
"@{ enableAttestation = $false }": "NoAttestation",
35
"@{ enableHsm = $true }": "HSM"
46
},
57
"matrix": {
6-
"$IMPORT": "eng/pipelines/templates/stages/platform-matrix.json"
8+
"$IMPORT": "eng/pipelines/templates/stages/platform-matrix.json",
9+
"ArmTemplateParameters": "@{ enableAttestation = $true }"
710
},
811
"exclude": [
912
{

sdk/keyvault/test-resources.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@
6969
"description": "The location of the Managed HSM. By default, this is 'northcentralus'."
7070
}
7171
},
72+
"enableAttestation": {
73+
"type": "bool",
74+
"defaultValue": true,
75+
"metadata": {
76+
"description": "Whether to enable deployment of attestation resources. The default is true."
77+
}
78+
},
7279
"enableHsm": {
7380
"type": "bool",
7481
"defaultValue": false,
@@ -405,6 +412,7 @@
405412
"type": "Microsoft.Web/serverfarms",
406413
"apiVersion": "2020-12-01",
407414
"name": "[variables('attestationFarm')]",
415+
"condition": "[parameters('enableAttestation')]",
408416
"location": "[parameters('location')]",
409417
"kind": "linux",
410418
"sku": {
@@ -418,6 +426,7 @@
418426
"type": "Microsoft.Web/sites",
419427
"apiVersion": "2020-12-01",
420428
"name": "[variables('attestationSite')]",
429+
"condition": "[parameters('enableAttestation')]",
421430
"dependsOn": [
422431
"[resourceId('Microsoft.Web/serverfarms', variables('attestationFarm'))]"
423432
],
@@ -556,6 +565,7 @@
556565
},
557566
"AZURE_KEYVAULT_ATTESTATION_URL": {
558567
"type": "string",
568+
"condition": "[parameters('enableAttestation')]",
559569
"value": "[format('https://{0}/', reference(variables('attestationSite')).defaultHostName)]"
560570
},
561571
"KEY_VAULT_ENDPOINT_SUFFIX": {

sdk/keyvault/tests.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ stages:
1111
CloudConfig:
1212
Public:
1313
SubscriptionConfiguration: $(sub-config-azure-cloud-test-resources)
14+
${{ if not(contains(variables['Build.DefinitionName'], 'tests-weekly')) }}:
15+
MatrixFilters:
16+
- ArmTemplateParameters=^(?!.*enableHsm.*true)
1417
UsGov:
1518
SubscriptionConfiguration: $(sub-config-gov-test-resources)
1619
MatrixFilters:
@@ -26,6 +29,9 @@ stages:
2629
# Given test coverage of non-canary regions we probably don't need to test in canary.
2730
MatrixFilters:
2831
- ArmTemplateParameters=^(?!.*enableHsm.*true)
32+
# Some resource providers required for attestation are not supported in canary.
33+
MatrixReplace:
34+
- 'ArmTemplateParameters=(.*)enableAttestation.*?\$true(.*)/$1enableAttestation \= $false$2'
2935
MatrixConfigs:
3036
- Name: Key_Vault_live_test
3137
Path: sdk/keyvault/platform-matrix.json

0 commit comments

Comments
 (0)