Skip to content

Commit bca2b3e

Browse files
committed
Fix tests, adding proper default spring profiles
1 parent 3a5714a commit bca2b3e

File tree

12 files changed

+65
-35
lines changed

12 files changed

+65
-35
lines changed

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
1-
# kumite
1+
# kumite
2+
3+
This projects enables defining Games, to create contests between Bots/Algorithms.
4+
5+
# Contributing
6+
7+
If you'd like to contribute to the project, see our [CONTRIBUTING.MD](https://github.com/solven-eu/kumite/blob/master/CONTRIBUTING.MD)

monolith/src/main/resources/application.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ spring:
33
profiles:
44
group:
55
default:
6-
# Renamed to enable merging in monolith
6+
# Renamed to enable merging in monolith
77
- "default_player"
8-
- "default_server"
8+
- "default_server"
9+
- "server"
10+
- "fake_player"

player/pom.xml

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
34
<modelVersion>4.0.0</modelVersion>
45
<parent>
56
<groupId>eu.solven.kumite</groupId>
@@ -17,8 +18,16 @@
1718
</dependency>
1819

1920
<dependency>
21+
<!-- WebClient-->
2022
<groupId>org.springframework.boot</groupId>
2123
<artifactId>spring-boot-starter-webflux</artifactId>
24+
<exclusions>
25+
<!-- Do not expore any API -->
26+
<exclusion>
27+
<groupId>org.springframework.boot</groupId>
28+
<artifactId>spring-boot-starter-reactor-netty</artifactId>
29+
</exclusion>
30+
</exclusions>
2231
</dependency>
2332

2433
<!-- https://github.com/cowtowncoder/java-uuid-generator -->

player/src/main/java/eu/solven/kumite/app/KumitePlayerComponentsConfiguration.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
@Configuration
2525
@Import({
2626

27-
KumiteRandomConfiguration.class,
27+
KumitePlayerRandomConfiguration.class,
2828

2929
})
3030
@Slf4j
@@ -47,6 +47,7 @@ public Void playTicTacToe(IKumiteServer kumiteServer, Environment env) {
4747

4848
Stream.of("Travelling Salesman Problem", "Tic-Tac-Toe").forEach(gameTitle -> {
4949
ses.scheduleWithFixedDelay(() -> {
50+
log.info("Looking for interesting contests for game LIKE `{}`", gameTitle);
5051
kumiteServer.searchGames(GameSearchParameters.builder().titleRegex(Optional.of(gameTitle)).build())
5152
.flatMap(game -> kumiteServer.searchContests(
5253
ContestSearchParameters.builder().gameId(Optional.of(game.getGameId())).build()))
@@ -64,8 +65,11 @@ public Void playTicTacToe(IKumiteServer kumiteServer, Environment env) {
6465
kumiteServer.joinContest(playerId, contestId);
6566
}
6667

68+
})
69+
.subscribe(view -> {
70+
log.info("View: {}", view);
6771
});
68-
}, 1, 1, TimeUnit.MINUTES);
72+
}, 1, 60, TimeUnit.SECONDS);
6973
});
7074

7175
return null;

player/src/main/java/eu/solven/kumite/app/KumiteRandomConfiguration.java player/src/main/java/eu/solven/kumite/app/KumitePlayerRandomConfiguration.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
@Configuration
1414
@Slf4j
15-
public class KumiteRandomConfiguration {
15+
public class KumitePlayerRandomConfiguration {
1616

1717
@Bean
18-
RandomGenerator randomGenerator(Environment env) {
18+
RandomGenerator playerRandomGenerator(Environment env) {
1919
String rawSeed = env.getProperty("kumite.random.seed", "random");
2020
RandomGenerator r;
2121
if ("random".equals(rawSeed)) {

player/src/main/java/eu/solven/kumite/app/KumiteWebclientServer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public Flux<GameMetadata> searchGames(GameSearchParameters search) {
4141
RequestHeadersSpec<?> spec = webClient.get()
4242
.uri(uriBuilder -> uriBuilder.path("/api/games")
4343
.queryParamIfPresent("game_id", search.getGameId())
44-
.queryParamIfPresent("title", search.getTitleRegex())
44+
.queryParamIfPresent("title_regex", search.getTitleRegex())
4545
.build());
4646

4747
return spec.exchangeToFlux(r -> {

player/src/main/resources/application.yml

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
spring:
22
application.name: kumite-player
3+
# https://stackoverflow.com/questions/26105061/spring-boot-without-the-web-server
4+
main.web-application-type: NONE
5+
profiles:
6+
group:
7+
default:
8+
# Renamed to enable merging in monolith
9+
- "default_player"
10+
- "fake_player"
11+
- "inject_default_games"
312

413
logging:
514
level:
@@ -13,11 +22,3 @@ kumite.server:
1322
access_token: "NEEDS_A_PROPER_VALUE"
1423

1524

16-
spring:
17-
profiles:
18-
group:
19-
default:
20-
# Renamed to enable merging in monolith
21-
- "default_player"
22-
- "fake_player"
23-
- "inject_default_games"

public/src/main/java/eu/solven/kumite/app/IKumiteSpringProfiles.java

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package eu.solven.kumite.app;
22

33
public interface IKumiteSpringProfiles {
4+
//
5+
String P_SERVER = "server";
6+
47
// The default profile, activated when no other profile is defined. Typically useful for local runs.
58
String P_DEFAULT = "default";
69
// This will provide reasonable default for a fast+non_prod run
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
spring:
2+
application.name: kumite-server
3+
security:
4+
oauth2:
5+
client:
6+
registration:
7+
github:
8+
clientId: ${kumite.login.oauth2.github.clientId}
9+
clientSecret: ${kumite.login.oauth2.github.clientSecret}
10+
google:
11+
client-id: google-client-id
12+
client-secret: google-client-secret
13+
graphql:
14+
graphiql:
15+
enabled: true
16+
17+
springdoc.show-actuator: true
+2-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
11
spring:
2-
application.name: kumite-server
3-
security:
4-
oauth2:
5-
client:
6-
registration:
7-
github:
8-
clientId: ${kumite.login.oauth2.github.clientId}
9-
clientSecret: ${kumite.login.oauth2.github.clientSecret}
10-
google:
11-
client-id: google-client-id
12-
client-secret: google-client-secret
13-
graphql:
14-
graphiql:
15-
enabled: true
16-
172
profiles:
3+
include: server
184
group:
195
default:
6+
# - server
207
- default_server
218
- fake_player
229

@@ -27,5 +14,3 @@ logging:
2714

2815
kumite.login:
2916
signing-key: 'NEEDS_TO_BE_DEFINED'
30-
31-
springdoc.show-actuator: true

server/src/test/java/eu/solven/kumite/app/it/security/TestSecurity_WithOAuth2User.java

+3
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
import org.springframework.security.test.context.support.WithMockUser;
1616
import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers;
1717
import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.OAuth2LoginMutator;
18+
import org.springframework.test.context.ActiveProfiles;
1819
import org.springframework.test.context.junit.jupiter.SpringExtension;
1920
import org.springframework.test.web.reactive.server.StatusAssertions;
2021
import org.springframework.test.web.reactive.server.WebTestClient;
2122

2223
import eu.solven.kumite.account.KumiteUserRaw;
2324
import eu.solven.kumite.account.login.KumiteOAuth2UserService;
2425
import eu.solven.kumite.account.login.SocialWebFluxSecurity;
26+
import eu.solven.kumite.app.IKumiteSpringProfiles;
2527
import eu.solven.kumite.app.controllers.KumiteLoginController;
2628
import eu.solven.kumite.app.greeting.GreetingHandler;
2729
import eu.solven.kumite.scenario.TestTSPLifecycle;
@@ -37,6 +39,7 @@
3739
// We create a `@SpringBootTest`, starting an actual server on a `RANDOM_PORT`
3840
@SpringBootTest(classes = KumiteServerSecurityApplication.class,
3941
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
42+
@ActiveProfiles({ IKumiteSpringProfiles.P_DEFAULT_SERVER })
4043
@Slf4j
4144
// https://stackoverflow.com/questions/73881370/mocking-oauth2-client-with-webtestclient-for-servlet-applications-results-in-nul
4245
@AutoConfigureWebTestClient

server/src/test/java/eu/solven/kumite/app/it/security/TestSecurity_WithoutAuth.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
3131
@Slf4j
3232
// https://stackoverflow.com/questions/73881370/mocking-oauth2-client-with-webtestclient-for-servlet-applications-results-in-nul
33-
@ActiveProfiles(IKumiteSpringProfiles.P_DEFAULT_SERVER)
33+
@ActiveProfiles({IKumiteSpringProfiles.P_DEFAULT_SERVER})
3434
@AutoConfigureWebTestClient
3535
public class TestSecurity_WithoutAuth {
3636

0 commit comments

Comments
 (0)