From 2d90031e5d451ebc6dfaee0a2a93738d38fe9f5a Mon Sep 17 00:00:00 2001 From: Andrea Marchini <123945788+man8pr@users.noreply.github.com> Date: Thu, 11 Apr 2024 10:16:55 +0200 Subject: [PATCH] fix: impersonated credentials generation and provisioner test (#161) --- DEPENDENCIES | 6 +++--- .../edc/gcp/bigquery/service/BigQueryFactoryImpl.java | 2 +- .../connector/provision/gcp/BigQueryProvisionerTest.java | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 730e8bc..01f7a39 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -189,9 +189,9 @@ maven/mavencentral/org.apache.maven.doxia/doxia-sink-api/1.12.0, Apache-2.0, app maven/mavencentral/org.apache.xbean/xbean-reflect/3.7, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apiguardian/apiguardian-api/1.1.2, Apache-2.0, approved, clearlydefined maven/mavencentral/org.assertj/assertj-core/3.25.3, Apache-2.0, approved, #12585 -maven/mavencentral/org.bouncycastle/bcpkix-jdk18on/1.77, MIT, approved, #11593 -maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.77, MIT AND CC0-1.0, approved, #11595 -maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.77, MIT, approved, #11596 +maven/mavencentral/org.bouncycastle/bcpkix-jdk18on/1.78, MIT, approved, #14235 +maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.78, MIT AND CC0-1.0, approved, #14237 +maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.78, MIT, approved, #14238 maven/mavencentral/org.checkerframework/checker-compat-qual/2.5.6, GPL-2.0-only with Classpath-Exception-2.0, approved, #11598 maven/mavencentral/org.checkerframework/checker-qual/3.37.0, MIT, approved, clearlydefined maven/mavencentral/org.checkerframework/checker-qual/3.42.0, MIT, approved, clearlydefined diff --git a/extensions/common/gcp/gcp-core/src/main/java/org/eclipse/edc/gcp/bigquery/service/BigQueryFactoryImpl.java b/extensions/common/gcp/gcp-core/src/main/java/org/eclipse/edc/gcp/bigquery/service/BigQueryFactoryImpl.java index 0b9d364..4541a05 100644 --- a/extensions/common/gcp/gcp-core/src/main/java/org/eclipse/edc/gcp/bigquery/service/BigQueryFactoryImpl.java +++ b/extensions/common/gcp/gcp-core/src/main/java/org/eclipse/edc/gcp/bigquery/service/BigQueryFactoryImpl.java @@ -47,7 +47,7 @@ public BigQuery createBigQuery(GcpServiceAccount serviceAccount) throws IOExcept "' using service account '" + serviceAccount.getName() + "'"); credentials = ImpersonatedCredentials.create( credentials, - serviceAccount.getName(), + serviceAccount.getEmail(), null, Arrays.asList("https://www.googleapis.com/auth/bigquery"), 3600); diff --git a/extensions/control-plane/provision/provision-bigquery/src/test/java/org/eclipse/edc/connector/provision/gcp/BigQueryProvisionerTest.java b/extensions/control-plane/provision/provision-bigquery/src/test/java/org/eclipse/edc/connector/provision/gcp/BigQueryProvisionerTest.java index 04dc49f..3834363 100644 --- a/extensions/control-plane/provision/provision-bigquery/src/test/java/org/eclipse/edc/connector/provision/gcp/BigQueryProvisionerTest.java +++ b/extensions/control-plane/provision/provision-bigquery/src/test/java/org/eclipse/edc/connector/provision/gcp/BigQueryProvisionerTest.java @@ -219,8 +219,11 @@ void provisionSuccessUsingServiceAccount() throws IOException { @Test void provisionFailsIfTableDoesntExist() throws IOException { + var serviceAccount = new GcpServiceAccount(TEST_EMAIL, TEST_SERVICE_ACCOUNT_NAME, TEST_DESCRIPTION); + when(iamService.getServiceAccount(null)).thenReturn(serviceAccount); + var bqFactory = mock(BigQueryFactory.class); - when(bqFactory.createBigQuery(null)).thenReturn(bigQuery); + when(bqFactory.createBigQuery(serviceAccount)).thenReturn(bigQuery); var bigQueryProvisioner = new BigQueryProvisioner(gcpConfiguration, bqFactory, iamService, monitor);