Skip to content

Commit

Permalink
control-service: append integration test name to job name (#2093)
Browse files Browse the repository at this point in the history
This change aims to improve the troubleshooting of integration tests by
appending the test name to the job name.

Before:

![image](https://github.com/vmware/versatile-data-kit/assets/40535952/8b1b00d7-9c73-459a-a9a0-233aff6f0d95)
After:

![image](https://github.com/vmware/versatile-data-kit/assets/40535952/40d3701d-ad27-49f7-913c-66042b90c4f8)

---------

Co-authored-by: github-actions <>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
mivanov1988 and github-actions[bot] authored May 22, 2023
1 parent 6acf3f6 commit f354de0
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.vmware.taurus.controlplane.model.data.DataJobMode;
import com.vmware.taurus.controlplane.model.data.DataJobVersion;
import com.vmware.taurus.datajobs.it.common.BaseIT;
import com.vmware.taurus.datajobs.it.common.JobExecutionUtil;
import com.vmware.taurus.service.deploy.JobImageDeployer;
import com.vmware.taurus.service.model.JobDeploymentStatus;
import org.apache.commons.io.IOUtils;
Expand All @@ -33,7 +34,6 @@

import java.time.format.DateTimeFormatter;
import java.util.Optional;
import java.util.UUID;

import static com.vmware.taurus.datajobs.it.common.WebHookServerMockExtension.TEST_TEAM_NAME;
import static com.vmware.taurus.datajobs.it.common.WebHookServerMockExtension.TEST_TEAM_WRONG_NAME;
Expand All @@ -53,7 +53,7 @@
public class DataJobDeploymentCrudIT extends BaseIT {

private static final String TEST_JOB_NAME =
"integration-test-" + UUID.randomUUID().toString().substring(0, 8);
JobExecutionUtil.generateJobName(DataJobDeploymentCrudIT.class.getSimpleName());
private static final Object DEPLOYMENT_ID = "testing";

@TestConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
import com.vmware.taurus.ControlplaneApplication;
import com.vmware.taurus.controlplane.model.data.DataJobVersion;
import com.vmware.taurus.datajobs.it.common.BaseIT;
import com.vmware.taurus.datajobs.it.common.JobExecutionUtil;
import com.vmware.taurus.service.credentials.AWSCredentialsService;
import com.vmware.taurus.service.deploy.DockerRegistryService;
import com.vmware.taurus.service.deploy.EcrRegistryInterface;
import com.vmware.taurus.service.deploy.JobImageDeployer;
import com.vmware.taurus.service.model.JobDeploymentStatus;
import java.time.Duration;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.AfterEach;
Expand Down Expand Up @@ -61,7 +61,7 @@
public class TestJobDeployTempCredsIT extends BaseIT {

private static final String TEST_JOB_NAME =
"integration-test-" + UUID.randomUUID().toString().substring(0, 8);
JobExecutionUtil.generateJobName(TestJobDeployTempCredsIT.class.getSimpleName());

@Autowired DockerRegistryService dockerRegistryService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.vmware.taurus.controlplane.model.data.DataJobMode;
import com.vmware.taurus.controlplane.model.data.DataJobVersion;
import com.vmware.taurus.datajobs.it.common.BaseIT;
import com.vmware.taurus.datajobs.it.common.JobExecutionUtil;
import com.vmware.taurus.service.deploy.JobImageDeployer;
import com.vmware.taurus.service.model.JobDeploymentStatus;
import org.apache.commons.io.IOUtils;
Expand All @@ -34,7 +35,6 @@

import java.time.format.DateTimeFormatter;
import java.util.Optional;
import java.util.UUID;

import static com.vmware.taurus.datajobs.it.common.WebHookServerMockExtension.TEST_TEAM_NAME;
import static org.hamcrest.Matchers.is;
Expand All @@ -55,7 +55,7 @@
classes = ControlplaneApplication.class)
public class TestJobImageBuilderDynamicVdkImageIT extends BaseIT {
private static final String TEST_JOB_NAME =
"integration-test-" + UUID.randomUUID().toString().substring(0, 8);
JobExecutionUtil.generateJobName(TestJobImageBuilderDynamicVdkImageIT.class.getSimpleName());
private static final Object DEPLOYMENT_ID = "testing";

@TestConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@

import com.vmware.taurus.ControlplaneApplication;
import com.vmware.taurus.datajobs.it.common.BaseIT;
import com.vmware.taurus.datajobs.it.common.JobExecutionUtil;
import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.TestPropertySource;

import java.util.UUID;

import static com.vmware.taurus.datajobs.it.common.WebHookServerMockExtension.TEST_TEAM_NAME;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.user;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
Expand All @@ -30,7 +29,7 @@
classes = ControlplaneApplication.class)
public class UploadSourceValidationIT extends BaseIT {
protected static final String TEST_JOB_NAME =
"integration-test-upload-test-" + UUID.randomUUID().toString().substring(0, 8);
JobExecutionUtil.generateJobName(UploadSourceValidationIT.class.getSimpleName());

@BeforeEach
public void setup() throws Exception {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import java.lang.reflect.Parameter;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.TimeUnit;

import com.fasterxml.jackson.databind.ObjectMapper;
Expand Down Expand Up @@ -75,23 +74,13 @@ public class DataJobDeploymentExtension

protected final ObjectMapper MAPPER = new ObjectMapper();

private String jobName =
JobExecutionUtil.JOB_NAME_PREFIX + UUID.randomUUID().toString().substring(0, 8);
private String jobName;

private String jobSource = "simple_job.zip";

private boolean initialized = false;

private final Map<String, Object> SUPPORTED_PARAMETERS =
Map.of(
"jobName",
jobName,
"username",
USER_NAME,
"deploymentId",
DEPLOYMENT_ID,
"teamName",
TEAM_NAME);
private Map<String, Object> SUPPORTED_PARAMETERS;

public DataJobDeploymentExtension() {}

Expand All @@ -106,7 +95,22 @@ public void beforeEach(ExtensionContext context) throws Exception {
SpringExtension.getApplicationContext(context).getBean(DataJobsKubernetesService.class);

// Setup
if (!initialized) {
jobName = JobExecutionUtil.generateJobName(context.getTestClass().get().getSimpleName());
SUPPORTED_PARAMETERS =
Map.of(
"jobName",
jobName,
"username",
USER_NAME,
"deploymentId",
DEPLOYMENT_ID,
"teamName",
TEAM_NAME);
}

String dataJobRequestBody = BaseIT.getDataJobRequestBody(TEAM_NAME, jobName);

// Create the data job
mockMvc
.perform(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.vmware.taurus.service.model.DataJobExecution;
import com.vmware.taurus.service.model.ExecutionStatus;
import com.vmware.taurus.service.model.ExecutionType;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -39,7 +40,7 @@

public class JobExecutionUtil {

public static final String JOB_NAME_PREFIX = "integration-test-";
public static final String JOB_NAME_PREFIX = "it";

private static final ObjectMapper objectMapper =
new ObjectMapper()
Expand Down Expand Up @@ -268,6 +269,14 @@ public static void testDataJobDeploymentExecutionList(
executionId, executionStatus, opId, dataJobExecutions.get(0), jobName, username);
}

public static String generateJobName(String className) {
return String.format(
"%s-%s-%s",
JobExecutionUtil.JOB_NAME_PREFIX,
StringUtils.truncate(className, 35).toLowerCase(),
UUID.randomUUID().toString().substring(0, 8));
}

private static void testDataJobExecutionLogs(
String executionId, String jobName, String teamName, String username, MockMvc mockMvc)
throws Exception {
Expand Down

0 comments on commit f354de0

Please sign in to comment.