diff --git a/spark-3.1-spanner-lib/src/test/java/com/google/cloud/spark/spanner/acceptance/DataprocServerlessAcceptanceTestBase.java b/spark-3.1-spanner-lib/src/test/java/com/google/cloud/spark/spanner/acceptance/DataprocServerlessAcceptanceTestBase.java index 1e20640f..b0d1a591 100644 --- a/spark-3.1-spanner-lib/src/test/java/com/google/cloud/spark/spanner/acceptance/DataprocServerlessAcceptanceTestBase.java +++ b/spark-3.1-spanner-lib/src/test/java/com/google/cloud/spark/spanner/acceptance/DataprocServerlessAcceptanceTestBase.java @@ -18,6 +18,8 @@ import com.google.api.gax.longrunning.OperationFuture; import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; import com.google.cloud.dataproc.v1.*; import com.google.cloud.dataproc.v1.Batch; import com.google.cloud.dataproc.v1.BatchControllerClient; @@ -49,12 +51,16 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * The acceptance test on the Dataproc Serverless. The test have to be running on the project with * requireOsLogin disabled, otherwise an org policy violation error will be thrown. */ public class DataprocServerlessAcceptanceTestBase { + private static final Logger logger = + LoggerFactory.getLogger(DataprocServerlessAcceptanceTestBase.class); public static final String REGION = "us-central1"; public static final String DATAPROC_ENDPOINT = REGION + "-dataproc.googleapis.com:443"; public static final String PROJECT_ID = @@ -85,21 +91,37 @@ public class DataprocServerlessAcceptanceTestBase { private static String classTestBaseGcsDir; BatchControllerClient batchController; - String testName = - getClass() - .getSimpleName() - .substring(0, getClass().getSimpleName().length() - 32) - .toLowerCase(Locale.ENGLISH); - String testId = String.format("%s-%s", testName, System.currentTimeMillis()); - String testBaseGcsDir = AcceptanceTestUtils.createTestBaseGcsDir(testId); - AcceptanceTestContext context = - new AcceptanceTestContext( - testId, generateClusterName(testId), testBaseGcsDir, classConnectorJarUri); - private final String s8sImageVersion; + private final String testName; + private AcceptanceTestContext context; public DataprocServerlessAcceptanceTestBase(String s8sImageVersion) { this.s8sImageVersion = s8sImageVersion; + testName = s8sImageVersion.replace(".", "").toLowerCase(Locale.ENGLISH); + } + + private AcceptanceTestContext generateContext(String testId) { + // Cluster name has a length limit of 63 characters. The name format is: + // --