Skip to content

Commit 7887fef

Browse files
authored
chore: fix k8s functional tests (#66)
1 parent d7bbe29 commit 7887fef

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

src/test/java/com/epam/aidial/deployment/manager/functional/K8sFunctionalTests.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,18 @@
1616
* Pre-requisites:<br>
1717
* - Kubernetes cluster should have Knative installed & configured<br>
1818
* - Env variable 'SPRING_PROFILES_ACTIVE' should be set to 'k8s-local'<br>
19-
* - Env variables 'MCP_PROXY_EXECUTABLE_IMAGE_DEBIAN' & 'MCP_PROXY_EXECUTABLE_IMAGE_ALPINE' should be set<br>
2019
* - Env variables in 'app.registry' section in application.yaml should be set<br>
20+
* - Env variables for mcp-proxy images should be set:<br>
21+
* 'MCP_PROXY_EXECUTABLE_IMAGE_DEBIAN', 'MCP_PROXY_EXECUTABLE_IMAGE_ALPINE'<br>
22+
* - Env variables for images should be set:<br>
23+
* 'K8S_TEST_INTERCEPTOR_IMAGE_URI', 'K8S_TEST_MCP_GIT_SSE_IMAGE_URI', 'K8S_TEST_MCP_GIT_STDIO_IMAGE_URI'<br>
2124
*/
2225
@EnabledIfEnvironmentVariable(named = "SPRING_PROFILES_ACTIVE", matches = "k8s-local")
2326
@DataJpaTest
2427
@TestPropertySource(properties = {
2528
"datasource.vendor=H2",
29+
"app.nim.enabled=false",
30+
"app.kserve.enabled=false",
2631
})
2732
@ActiveProfiles("k8s-local")
2833
@Import(K8sLocalConfiguration.class)

src/test/java/com/epam/aidial/deployment/manager/functional/tests/FullWorkflowFunctionalTest.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ public void shouldSuccessfullyPassFullWorkflow(ImageDefinition imageDefinition,
8787
// Delete deployment
8888
deploymentService.deleteDeployment(deployedDeployment.getId());
8989

90+
waitForDeployment(deployedDeployment.getId(), null, "Deletion timed out");
91+
9092
var maybeDeletedDeployment = deploymentService.getDeployment(deployedDeployment.getId());
9193
Assertions.assertTrue(maybeDeletedDeployment.isEmpty());
9294
}
@@ -117,6 +119,9 @@ private void waitForDeployment(String deploymentId, DeploymentStatus expectedSta
117119
long deployStartTime = System.currentTimeMillis();
118120
while (true) {
119121
var maybeDeployment = deploymentService.getDeployment(deploymentId);
122+
if (maybeDeployment.isEmpty() && expectedStatus == null) {
123+
break;
124+
}
120125
if (maybeDeployment.isPresent() && maybeDeployment.get().getStatus().equals(expectedStatus)) {
121126
break;
122127
}
@@ -130,12 +135,9 @@ private void waitForDeployment(String deploymentId, DeploymentStatus expectedSta
130135
private static Stream<Arguments> getFullWorkflowParams() {
131136
var dialUrlEnv = new EnvVarDefinition("DIAL_URL", new SimpleEnvVarValue("http://test-dial-url.svc.cluster.local"),
132137
EnvVarMountType.CONTENT, "Sample DIAL URL");
133-
var interceptorImageUri = getEnvVarOrDefault("K8S_TEST_INTERCEPTOR_IMAGE_URI",
134-
"dialadminartefactslocal.azurecr.io/dial-interceptor-example-1:latest");
135-
var mcpGitSseImageGitUrl = getEnvVarOrDefault("K8S_TEST_MCP_GIT_SSE_IMAGE_URI",
136-
"https://github.com/siarhei-fedziukovich/PubChem-MCP-Server.git");
137-
var mcpGitStdioImageGitUrl = getEnvVarOrDefault("K8S_TEST_MCP_GIT_STDIO_IMAGE_URI",
138-
"https://github.com/ekarankow/an-uniprot-mcp");
138+
var interceptorImageUri = getEnvVarOrThrow("K8S_TEST_INTERCEPTOR_IMAGE_URI");
139+
var mcpGitSseImageGitUrl = getEnvVarOrThrow("K8S_TEST_MCP_GIT_SSE_IMAGE_URI");
140+
var mcpGitStdioImageGitUrl = getEnvVarOrThrow("K8S_TEST_MCP_GIT_STDIO_IMAGE_URI");
139141
return Stream.of(
140142
Arguments.of(FunctionalTestHelper.createRealInterceptorImageDefinition(interceptorImageUri),
141143
FunctionalTestHelper.createRealInterceptorDeploymentRequest("interceptor-docker-deployment", List.of(dialUrlEnv))),
@@ -148,8 +150,11 @@ private static Stream<Arguments> getFullWorkflowParams() {
148150
);
149151
}
150152

151-
private static String getEnvVarOrDefault(String envVarName, String defaultValue) {
153+
private static String getEnvVarOrThrow(String envVarName) {
152154
String value = System.getenv(envVarName);
153-
return StringUtils.isNotEmpty(value) ? value : defaultValue;
155+
if (StringUtils.isBlank(value)) {
156+
throw new IllegalArgumentException("Environment variable '%s' should be set");
157+
}
158+
return value;
154159
}
155160
}

0 commit comments

Comments
 (0)