2929import org .eclipse .edc .spi .system .configuration .ConfigFactory ;
3030import org .eclipse .edc .vault .azure .AzureVault ;
3131import org .junit .jupiter .api .AfterAll ;
32+ import org .junit .jupiter .api .BeforeAll ;
3233import org .junit .jupiter .api .Disabled ;
3334import org .junit .jupiter .api .Test ;
3435import org .junit .jupiter .api .extension .RegisterExtension ;
@@ -63,8 +64,7 @@ class AzureDataFactoryTransferIntegrationTest {
6364 private static final String EDC_FS_CONFIG = "edc.fs.config" ;
6465 private static final String EDC_VAULT_NAME = "edc.vault.name" ;
6566 private static final String PROVIDER_CONTAINER_NAME = UUID .randomUUID ().toString ();
66- private static final AzureSettings AZURE_SETTINGS = new AzureSettings ();
67- private static final String KEY_VAULT_NAME = AZURE_SETTINGS .getProperty ("test.key.vault.name" );
67+ private static AzureSettings azureSettings ;
6868 private static final String AZURE_TENANT_ID = getenv (PROPERTY_AZURE_TENANT_ID );
6969 private static final String AZURE_CLIENT_ID = getenv (PROPERTY_AZURE_CLIENT_ID );
7070 private static final String AZURE_CLIENT_SECRET = getenv (PROPERTY_AZURE_CLIENT_SECRET );
@@ -84,7 +84,7 @@ class AzureDataFactoryTransferIntegrationTest {
8484 entry ("web.http.protocol.path" , ConsumerConstants .PROTOCOL_PATH ),
8585 entry ("edc.dsp.callback.address" , ConsumerConstants .PROTOCOL_URL ),
8686 entry (EDC_FS_CONFIG , AzureSettings .azureSettingsFileAbsolutePath ()),
87- entry (EDC_VAULT_NAME , KEY_VAULT_NAME ),
87+ entry (EDC_VAULT_NAME , azureSettings . getProperty ( "test.key.vault.name" ) ),
8888 entry (PROPERTY_AZURE_CLIENT_ID , AZURE_CLIENT_ID ),
8989 entry (PROPERTY_AZURE_TENANT_ID , AZURE_TENANT_ID ),
9090 entry (PROPERTY_AZURE_CLIENT_SECRET , AZURE_CLIENT_SECRET )
@@ -103,15 +103,13 @@ class AzureDataFactoryTransferIntegrationTest {
103103 entry ("web.http.protocol.path" , ProviderConstants .PROTOCOL_PATH ),
104104 entry ("edc.dsp.callback.address" , ProviderConstants .PROTOCOL_URL ),
105105 entry (EDC_FS_CONFIG , AzureSettings .azureSettingsFileAbsolutePath ()),
106- entry (EDC_VAULT_NAME , KEY_VAULT_NAME ),
106+ entry (EDC_VAULT_NAME , azureSettings . getProperty ( "test.key.vault.name" ) ),
107107 entry (PROPERTY_AZURE_CLIENT_ID , AZURE_CLIENT_ID ),
108108 entry (PROPERTY_AZURE_TENANT_ID , AZURE_TENANT_ID ),
109109 entry (PROPERTY_AZURE_CLIENT_SECRET , AZURE_CLIENT_SECRET )
110110 )))
111111 );
112112
113- private static final String PROVIDER_STORAGE_ACCOUNT_NAME = AZURE_SETTINGS .getProperty ("test.provider.storage.name" );
114- private static final String CONSUMER_STORAGE_ACCOUNT_NAME = AZURE_SETTINGS .getProperty ("test.consumer.storage.name" );
115113 private static final String BLOB_STORE_ENDPOINT_TEMPLATE = "https://%s.blob.core.windows.net" ;
116114 private final BlobTransferParticipant consumerClient = BlobTransferParticipant .Builder .newInstance ()
117115 .id (ConsumerConstants .PARTICIPANT_ID )
@@ -130,38 +128,45 @@ class AzureDataFactoryTransferIntegrationTest {
130128 .controlProtocolEndpoint (ProviderConstants .PROTOCOL_URL )
131129 .build ();
132130
131+ @ BeforeAll
132+ static void setUp () {
133+ azureSettings = new AzureSettings ();
134+ }
135+
133136 @ AfterAll
134137 static void cleanUp () {
135138 CONTAINER_CLEANUP .parallelStream ().forEach (Runnable ::run );
136139 }
137140
138141 @ Test
139142 void transferBlob_success () {
140- // Arrange
143+ var providerStorageAccountName = azureSettings .getProperty ("test.provider.storage.name" );
144+ var consumerStorageAccountName = azureSettings .getProperty ("test.consumer.storage.name" );
145+ var keyVaultName = azureSettings .getProperty ("test.key.vault.name" );
141146 var secretClient = new SecretClientBuilder ()
142- .vaultUrl ("https://" + KEY_VAULT_NAME + ".vault.azure.net" )
147+ .vaultUrl ("https://" + keyVaultName + ".vault.azure.net" )
143148 .credential (new DefaultAzureCredentialBuilder ().build ())
144149 .buildClient ();
145150 var vault = new AzureVault (new ConsoleMonitor (), secretClient );
146- var consumerAccountKey = Objects .requireNonNull (vault .resolveSecret (format ("%s-key1" , CONSUMER_STORAGE_ACCOUNT_NAME )));
151+ var consumerAccountKey = Objects .requireNonNull (vault .resolveSecret (format ("%s-key1" , consumerStorageAccountName )));
147152 var blobStoreApi = new BlobStoreApiImpl (vault , BLOB_STORE_CORE_EXTENSION_CONFIG );
148153
149154 // Upload a blob with test data on provider blob container
150- blobStoreApi .createContainer (PROVIDER_STORAGE_ACCOUNT_NAME , PROVIDER_CONTAINER_NAME );
151- blobStoreApi .putBlob (PROVIDER_STORAGE_ACCOUNT_NAME , PROVIDER_CONTAINER_NAME , ProviderConstants .ASSET_FILE , BLOB_CONTENT .getBytes (UTF_8 ));
155+ blobStoreApi .createContainer (providerStorageAccountName , PROVIDER_CONTAINER_NAME );
156+ blobStoreApi .putBlob (providerStorageAccountName , PROVIDER_CONTAINER_NAME , ProviderConstants .ASSET_FILE , BLOB_CONTENT .getBytes (UTF_8 ));
152157 // Add for cleanup
153- CONTAINER_CLEANUP .add (() -> blobStoreApi .deleteContainer (PROVIDER_STORAGE_ACCOUNT_NAME , PROVIDER_CONTAINER_NAME ));
158+ CONTAINER_CLEANUP .add (() -> blobStoreApi .deleteContainer (providerStorageAccountName , PROVIDER_CONTAINER_NAME ));
154159
155160 // Seed data to provider
156- var assetId = providerClient .createBlobAsset (PROVIDER_STORAGE_ACCOUNT_NAME , PROVIDER_CONTAINER_NAME , ProviderConstants .ASSET_FILE );
161+ var assetId = providerClient .createBlobAsset (providerStorageAccountName , PROVIDER_CONTAINER_NAME , ProviderConstants .ASSET_FILE );
157162 var policyId = providerClient .createPolicyDefinition (noConstraintPolicy ());
158163 var definitionId = UUID .randomUUID ().toString ();
159164 providerClient .createContractDefinition (assetId , definitionId , policyId , policyId );
160165
161166
162- var blobServiceClient = TestFunctions .getBlobServiceClient (CONSUMER_STORAGE_ACCOUNT_NAME , consumerAccountKey , TestFunctions .getBlobServiceTestEndpoint (format ("https://%s.blob.core.windows.net" , CONSUMER_STORAGE_ACCOUNT_NAME )));
167+ var blobServiceClient = TestFunctions .getBlobServiceClient (consumerStorageAccountName , consumerAccountKey , TestFunctions .getBlobServiceTestEndpoint (format ("https://%s.blob.core.windows.net" , consumerStorageAccountName )));
163168
164- var transferProcessId = consumerClient .requestAssetAndTransferToBlob (providerClient , assetId , CONSUMER_STORAGE_ACCOUNT_NAME );
169+ var transferProcessId = consumerClient .requestAssetAndTransferToBlob (providerClient , assetId , consumerStorageAccountName );
165170 await ().pollInterval (POLL_INTERVAL ).atMost (TIMEOUT ).untilAsserted (() -> {
166171 var state = consumerClient .getTransferProcessState (transferProcessId );
167172 // should be STARTED or some state after that to make it more robust.
0 commit comments