Skip to content
This repository was archived by the owner on Apr 10, 2024. It is now read-only.

Commit a413475

Browse files
authored
Additional test (#15)
1 parent cc73de4 commit a413475

File tree

3 files changed

+54
-17
lines changed

3 files changed

+54
-17
lines changed

src/main/java/com/csviri/jenvtest/binary/BinaryManager.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public BinaryManager(APIServerConfig config) {
2727
}
2828

2929
public void initAndDownloadIfRequired() {
30-
Optional<File> maybeBinaryDir = findLatestBinariesAvailable();
30+
Optional<File> maybeBinaryDir = findTargetBinariesIfAvailable();
3131
File binaryDir = maybeBinaryDir.orElse(null);
3232

3333
if (maybeBinaryDir.isEmpty()) {
@@ -63,11 +63,16 @@ public Binaries binaries() {
6363
return binaries;
6464
}
6565

66-
private Optional<File> findLatestBinariesAvailable() {
66+
private Optional<File> findTargetBinariesIfAvailable() {
6767
var platformSuffix = Utils.platformSuffix(osInfoProvider);
6868
if (config.getApiServerVersion().isPresent()) {
69-
return Optional.of(new File(config.getJenvtestDir(), BINARY_LIST_DIR
70-
+ File.separator + config.getApiServerVersion() + platformSuffix));
69+
var targetVersionDir = new File(config.getJenvtestDir(), BINARY_LIST_DIR
70+
+ File.separator + config.getApiServerVersion().get() + platformSuffix);
71+
if (targetVersionDir.exists()){
72+
return Optional.of(targetVersionDir);
73+
} else {
74+
return Optional.empty();
75+
}
7176
}
7277
File binariesListDir = new File(config.getJenvtestDir(), BINARY_LIST_DIR);
7378
if (!binariesListDir.exists()) {

src/test/java/com/csviri/jenvtest/ApiServerTest.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,29 @@
1010
class ApiServerTest {
1111

1212
@Test
13-
void sanityTest() {
14-
var kubeApi = new APIServer();
15-
try {
16-
kubeApi.start();
17-
18-
var client = new KubernetesClientBuilder().build();
19-
client.resource(testConfigMap()).createOrReplace();
20-
var cm = client.resource(testConfigMap()).get();
21-
22-
assertThat(cm).isNotNull();
23-
} finally {
24-
kubeApi.stop();
25-
}
13+
void trivialCase() {
14+
testWithAPIServer(new APIServer());
2615
}
2716

17+
@Test
18+
void apiServerWithSpecificVersion() {
19+
testWithAPIServer(new APIServer(APIServerConfigBuilder.anAPIServerConfig()
20+
.withApiServerVersion("1.26.0")
21+
.build()));
22+
}
23+
24+
25+
void testWithAPIServer(APIServer kubeApi) {
26+
kubeApi.start();
27+
28+
var client = new KubernetesClientBuilder().build();
29+
client.resource(testConfigMap()).create();
30+
var cm = client.resource(testConfigMap()).get();
31+
32+
assertThat(cm).isNotNull();
33+
34+
kubeApi.stop();
35+
}
36+
37+
2838
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.csviri.jenvtest.binary;
2+
3+
import com.csviri.jenvtest.APIServerConfig;
4+
import com.csviri.jenvtest.APIServerConfigBuilder;
5+
import com.csviri.jenvtest.JenvtestException;
6+
import org.junit.jupiter.api.Test;
7+
8+
import static org.junit.jupiter.api.Assertions.*;
9+
10+
class BinaryManagerTest {
11+
12+
@Test
13+
void throwsExceptionIfBinaryNotPresentAndInOfflineMode() {
14+
BinaryManager binaryManager = new BinaryManager(APIServerConfigBuilder.anAPIServerConfig()
15+
.withDownloadBinaries(false)
16+
.withApiServerVersion("1.0.1")
17+
.build());
18+
19+
assertThrows(JenvtestException.class, binaryManager::initAndDownloadIfRequired);
20+
}
21+
22+
}

0 commit comments

Comments
 (0)