Skip to content

Commit d7e1cdc

Browse files
committed
Server sside part of #641
1 parent 9566d04 commit d7e1cdc

File tree

6 files changed

+42
-38
lines changed

6 files changed

+42
-38
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>org.springframework.boot</groupId>
1212
<artifactId>spring-boot-starter-parent</artifactId>
13-
<version>3.5.5</version>
13+
<version>3.5.9</version>
1414
<relativePath/>
1515
<!-- lookup parent from repository -->
1616
</parent>
@@ -29,15 +29,15 @@
2929
<plugin>
3030
<groupId>org.apache.maven.plugins</groupId>
3131
<artifactId>maven-compiler-plugin</artifactId>
32-
<version>3.14.0</version>
32+
<version>3.14.1</version>
3333
<configuration>
3434
<release>21</release>
3535
</configuration>
3636
</plugin>
3737
<plugin>
3838
<groupId>org.apache.maven.plugins</groupId>
3939
<artifactId>maven-enforcer-plugin</artifactId>
40-
<version>3.6.1</version>
40+
<version>3.6.2</version>
4141
<executions>
4242
<execution>
4343
<id>enforce-versions</id>

provisioning-mock/pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<dependency>
3131
<groupId>com.fasterxml.jackson.datatype</groupId>
3232
<artifactId>jackson-datatype-jdk8</artifactId>
33-
<version>2.19.2</version>
33+
<version>2.21.0</version>
3434
</dependency>
3535
<dependency>
3636
<groupId>io.hypersistence</groupId>
@@ -40,12 +40,12 @@
4040
<dependency>
4141
<groupId>org.projectlombok</groupId>
4242
<artifactId>lombok</artifactId>
43-
<version>1.18.38</version>
43+
<version>1.18.42</version>
4444
</dependency>
4545
<dependency>
4646
<groupId>com.mysql</groupId>
4747
<artifactId>mysql-connector-j</artifactId>
48-
<version>9.4.0</version>
48+
<version>9.6.0</version>
4949
</dependency>
5050
<dependency>
5151
<groupId>org.springframework.boot</groupId>
@@ -55,19 +55,19 @@
5555
<dependency>
5656
<groupId>io.rest-assured</groupId>
5757
<artifactId>rest-assured</artifactId>
58-
<version>5.5.6</version>
58+
<version>5.5.7</version>
5959
<scope>test</scope>
6060
</dependency>
6161
<dependency>
6262
<groupId>io.rest-assured</groupId>
6363
<artifactId>json-path</artifactId>
64-
<version>5.5.6</version>
64+
<version>5.5.7</version>
6565
<scope>test</scope>
6666
</dependency>
6767
<dependency>
6868
<groupId>io.rest-assured</groupId>
6969
<artifactId>xml-path</artifactId>
70-
<version>5.5.6</version>
70+
<version>5.5.7</version>
7171
<scope>test</scope>
7272
</dependency>
7373
</dependencies>

server/pom.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<dependency>
2828
<groupId>io.hypersistence</groupId>
2929
<artifactId>hypersistence-utils-hibernate-63</artifactId>
30-
<version>3.10.3</version>
30+
<version>3.15.1</version>
3131
</dependency>
3232
<dependency>
3333
<groupId>org.springframework.boot</groupId>
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>io.micrometer</groupId>
4343
<artifactId>micrometer-registry-prometheus</artifactId>
44-
<version>1.15.1</version>
44+
<version>1.15.7</version>
4545
</dependency>
4646
<dependency>
4747
<groupId>ch.qos.logback.contrib</groupId>
@@ -117,7 +117,7 @@
117117
<dependency>
118118
<groupId>com.fasterxml.jackson.datatype</groupId>
119119
<artifactId>jackson-datatype-jdk8</artifactId>
120-
<version>2.19.2</version>
120+
<version>2.21.0</version>
121121
</dependency>
122122
<dependency>
123123
<groupId>com.squareup.okhttp3</groupId>
@@ -127,17 +127,17 @@
127127
<dependency>
128128
<groupId>org.flywaydb</groupId>
129129
<artifactId>flyway-core</artifactId>
130-
<version>11.11.1</version>
130+
<version>11.20.3</version>
131131
</dependency>
132132
<dependency>
133133
<groupId>org.flywaydb</groupId>
134134
<artifactId>flyway-mysql</artifactId>
135-
<version>11.11.1</version>
135+
<version>11.20.3</version>
136136
</dependency>
137137
<dependency>
138138
<groupId>org.mariadb.jdbc</groupId>
139139
<artifactId>mariadb-java-client</artifactId>
140-
<version>3.5.5</version>
140+
<version>3.5.7</version>
141141
</dependency>
142142
<dependency>
143143
<groupId>org.springframework.retry</groupId>
@@ -164,7 +164,7 @@
164164
<dependency>
165165
<groupId>commons-codec</groupId>
166166
<artifactId>commons-codec</artifactId>
167-
<version>1.19.0</version>
167+
<version>1.21.0</version>
168168
</dependency>
169169
<dependency>
170170
<groupId>org.openconext</groupId>
@@ -174,7 +174,7 @@
174174
<dependency>
175175
<groupId>org.projectlombok</groupId>
176176
<artifactId>lombok</artifactId>
177-
<version>1.18.38</version>
177+
<version>1.18.42</version>
178178
<scope>provided</scope>
179179
</dependency>
180180
<dependency>
@@ -185,19 +185,19 @@
185185
<dependency>
186186
<groupId>io.rest-assured</groupId>
187187
<artifactId>rest-assured</artifactId>
188-
<version>5.5.6</version>
188+
<version>5.5.7</version>
189189
<scope>test</scope>
190190
</dependency>
191191
<dependency>
192192
<groupId>io.rest-assured</groupId>
193193
<artifactId>json-path</artifactId>
194-
<version>5.5.6</version>
194+
<version>5.5.7</version>
195195
<scope>test</scope>
196196
</dependency>
197197
<dependency>
198198
<groupId>io.rest-assured</groupId>
199199
<artifactId>xml-path</artifactId>
200-
<version>5.5.6</version>
200+
<version>5.5.7</version>
201201
<scope>test</scope>
202202
</dependency>
203203
<dependency>
@@ -209,7 +209,7 @@
209209
<dependency>
210210
<groupId>com.icegreen</groupId>
211211
<artifactId>greenmail-junit5</artifactId>
212-
<version>2.1.5</version>
212+
<version>2.1.8</version>
213213
<scope>test</scope>
214214
</dependency>
215215
<dependency>
@@ -227,17 +227,17 @@
227227
<dependency>
228228
<groupId>org.springdoc</groupId>
229229
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
230-
<version>2.8.14</version>
230+
<version>2.8.15</version>
231231
</dependency>
232232
<dependency>
233233
<groupId>org.bouncycastle</groupId>
234234
<artifactId>bcprov-jdk18on</artifactId>
235-
<version>1.81</version>
235+
<version>1.83</version>
236236
</dependency>
237237
<dependency>
238238
<groupId>org.bouncycastle</groupId>
239239
<artifactId>bcpkix-jdk18on</artifactId>
240-
<version>1.81</version>
240+
<version>1.83</version>
241241
</dependency>
242242
</dependencies>
243243
<build>

server/src/main/java/invite/model/APIToken.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public APIToken(String hashedValue, String description, User owner) {
6060
this.createdAt = Instant.now();
6161
}
6262

63-
@JsonProperty
63+
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
6464
public String owner() {
6565
return owner != null ? owner.getName() : null;
6666
}

server/src/test/java/invite/AbstractTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ protected AccessCookieFilter openIDConnectFlow(String path, String sub,
243243

244244
String keyId = String.format("key_%s", new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss_SSS").format(new Date()));
245245
RSAKey rsaKey = generateRsaKey(keyId);
246-
String publicKeysJson = new JWKSet(rsaKey.toPublicJWK()).toJSONObject().toString();
246+
String publicKeysJson = new JWKSet(rsaKey.toPublicJWK()).toString();
247247
stubFor(get(urlPathMatching("/jwk-set")).willReturn(aResponse()
248248
.withHeader("Content-Type", "application/json")
249249
.withBody(publicKeysJson)));

server/src/test/java/invite/api/APITokenControllerTest.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void apiTokensByInstitution() throws Exception {
2525
AccessCookieFilter accessCookieFilter = openIDConnectFlow("/api/v1/users/me", INSTITUTION_ADMIN_SUB,
2626
institutionalAdminEntitlementOperator(ORGANISATION_GUID));
2727

28-
List<APIToken> tokens = given()
28+
List<Map<String, Object>> tokens = given()
2929
.when()
3030
.filter(accessCookieFilter.cookieFilter())
3131
.accept(ContentType.JSON)
@@ -71,7 +71,7 @@ void create() throws Exception {
7171
});
7272
String token = res.get("token");
7373

74-
APIToken apiToken = given()
74+
Map<String, Object> apiToken = given()
7575
.when()
7676
.filter(accessCookieFilter.cookieFilter())
7777
.accept(ContentType.JSON)
@@ -81,11 +81,11 @@ void create() throws Exception {
8181
.post("/api/v1/tokens")
8282
.as(new TypeRef<>() {
8383
});
84-
assertNull(apiToken.getHashedValue());
85-
assertEquals(ORGANISATION_GUID, apiToken.getOrganizationGUID());
86-
assertEquals("test", apiToken.getDescription());
84+
assertNull(apiToken.get("hashedValue"));
85+
assertEquals(ORGANISATION_GUID, apiToken.get("organizationGUID"));
86+
assertEquals("test", apiToken.get("description"));
8787

88-
APIToken apiTokenFromDB = apiTokenRepository.findById(apiToken.getId()).get();
88+
APIToken apiTokenFromDB = apiTokenRepository.findById(Long.valueOf(apiToken.get("id").toString())).get();
8989
assertEquals(HashGenerator.hashToken(token), apiTokenFromDB.getHashedValue());
9090
}
9191

@@ -101,7 +101,7 @@ void createSuperUserToken() throws Exception {
101101
.contentType(ContentType.JSON)
102102
.get("/api/v1/tokens/generate-token");
103103

104-
APIToken apiToken = given()
104+
Map<String, Object> apiToken = given()
105105
.when()
106106
.filter(accessCookieFilter.cookieFilter())
107107
.accept(ContentType.JSON)
@@ -111,7 +111,7 @@ void createSuperUserToken() throws Exception {
111111
.post("/api/v1/tokens")
112112
.as(new TypeRef<>() {
113113
});
114-
assertEquals("super-users-rule", apiToken.getOrganizationGUID());
114+
assertEquals("super-users-rule", apiToken.get("organizationGUID"));
115115
}
116116

117117
@Test
@@ -149,7 +149,11 @@ void createWithFaultyToken() throws Exception {
149149
.accept(ContentType.JSON)
150150
.header(accessCookieFilter.csrfToken().getHeaderName(), accessCookieFilter.csrfToken().getToken())
151151
.contentType(ContentType.JSON)
152-
.body(new APIToken("wrong", "wrong", false, "wrong", user))
152+
.body(Map.of(
153+
"organizationGUID", "wrong",
154+
"hashedValue", "wrong",
155+
"superUserToken", false,
156+
"description", "test"))
153157
.post("/api/v1/tokens")
154158
.then()
155159
.statusCode(403);
@@ -221,7 +225,7 @@ void deleteSuperUserTokenNotAllowed() throws Exception {
221225
void apiTokensBySuperAdmin() throws Exception {
222226
AccessCookieFilter accessCookieFilter = openIDConnectFlow("/api/v1/users/login", SUPER_SUB);
223227

224-
List<APIToken> tokens = given()
228+
List<Map<String, Object>> tokens = given()
225229
.when()
226230
.filter(accessCookieFilter.cookieFilter())
227231
.accept(ContentType.JSON)
@@ -232,8 +236,8 @@ void apiTokensBySuperAdmin() throws Exception {
232236
});
233237

234238
assertEquals(4, tokens.size());
235-
assertEquals(1L, tokens.stream().filter(token -> token.isSuperUserToken()).count());
236-
assertEquals(2L, tokens.stream().filter(token -> token.getOrganizationGUID() != null).count());
239+
assertEquals(1L, tokens.stream().filter(token -> (boolean) token.get("superUserToken")).count());
240+
assertEquals(2L, tokens.stream().filter(token -> token.get("organizationGUID") != null).count());
237241
}
238242

239243
@Test

0 commit comments

Comments
 (0)