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

Commit 9e6d39f

Browse files
committed
docs: javadoc, readme
1 parent e22ecef commit 9e6d39f

File tree

2 files changed

+38
-3
lines changed

2 files changed

+38
-3
lines changed

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,42 @@
33
Jenvtest is similar to envtest, to support unit testing with API Server - just for Java:
44
https://book.kubebuilder.io/reference/envtest.html
55

6+
It runs the API Server binaries directly (without nodes and other components). Thus, only etcd and Kubernetes API Server.
7+
68
Project is in early phases, heading towards mvp release.
79

810
## Usage
911

12+
### Unit Tests
13+
14+
See sample unit test [here](https://github.com/csviri/jenvtest/blob/e22ecef78b916f43e35832e1154da90361db2802/src/test/java/com/csviri/kubeapi/JUnitExtensionTest.java)
15+
16+
```java
17+
@EnableAPIServer
18+
class JUnitExtensionTest {
19+
20+
@Test
21+
void testCommunication() {
22+
var client = new KubernetesClientBuilder().build();
23+
client.resource(configMap()).createOrReplace();
24+
var cm = client.resource(configMap()).get();
25+
26+
assertThat(cm).isNotNull();
27+
}
28+
29+
private ConfigMap configMap() {
30+
return new ConfigMapBuilder()
31+
.withMetadata(new ObjectMetaBuilder()
32+
.withName("test1")
33+
.withNamespace("default")
34+
.build())
35+
.withData(Map.of("key","data"))
36+
.build();
37+
}
38+
39+
}
40+
```
41+
1042
### Download binaries
1143

1244
[`setup-envtest`](https://pkg.go.dev/sigs.k8s.io/controller-runtime/tools/setup-envtest#section-readme) can be used

src/main/java/com/csviri/kubeapi/APIServerConfig.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ public class APIServerConfig {
66

77
public static final String DIRECTORY_NAME = ".jenvtest";
88

9+
/**
10+
* Set home directory of the project. Default is ~/.jenvtest
11+
**/
912
private String jenvtestDir;
10-
// todo support wildcard 1.26.*
13+
1114
/**
1215
* Sample: 1.26.1, 1.25.0
1316
*/
1417
private String apiServerVersion;
1518

1619
public APIServerConfig() {
17-
this.jenvtestDir = System.getProperty("user.home") + File.separator + DIRECTORY_NAME;
20+
this.jenvtestDir = new File(System.getProperty("user.home"), DIRECTORY_NAME).getPath();
1821
}
1922

2023
public String getJenvtestDirectory() {
@@ -36,6 +39,6 @@ public APIServerConfig setApiServerVersion(String apiServerVersion) {
3639
}
3740

3841
public String logDirectory() {
39-
return new File(jenvtestDir,"logs").getPath();
42+
return new File(jenvtestDir, "logs").getPath();
4043
}
4144
}

0 commit comments

Comments
 (0)