Update Spring Boot version to 2.7.4

This commit is contained in:
Simon Grimme
2022-10-16 01:05:47 +02:00
parent 6ee1117f3d
commit 848e571892
10 changed files with 247 additions and 5 deletions
@@ -0,0 +1,60 @@
package de.grimsi.gameyfin.igdb;
import okhttp3.mockwebserver.MockWebServer;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import java.io.IOException;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class IgdbWrapperTest {
private static final MockWebServer igdbApiMock = new MockWebServer();
private static final MockWebServer twitchApiMock = new MockWebServer();
private IgdbWrapper target;
@DynamicPropertySource
static void setupProperties(DynamicPropertyRegistry registry) {
registry.add("gameyfin.igdb.api.endpoints.base", () -> "http://localhost:%s".formatted(igdbApiMock.getPort()));
registry.add("gameyfin.igdb.api.endpoints.auth", () -> "http://localhost:%s".formatted(twitchApiMock.getPort()));
}
@BeforeAll
static void setup() throws IOException {
igdbApiMock.start();
twitchApiMock.start();
}
@AfterAll
static void tearDown() throws IOException {
igdbApiMock.shutdown();
twitchApiMock.start();
}
@Test
void authenticate() {
}
@Test
void getGameById() {
}
@Test
void getGameBySlug() {
}
@Test
void findPossibleMatchingTitles() {
}
@Test
void searchForGameByTitle() {
}
}
@@ -0,0 +1,54 @@
package de.grimsi.gameyfin.mapper;
import com.igdb.proto.Igdb;
import de.grimsi.gameyfin.entities.Company;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
class CompanyMapperTest extends RandomMapperTest<Igdb.InvolvedCompany, Company> {
@Test
@Disabled
void toCompany() {
Igdb.InvolvedCompany input = generateRandomInput();
Company output = CompanyMapper.toCompany(input);
assertThat(output.getSlug()).isEqualTo(input.getCompany().getSlug());
assertThat(output.getName()).isEqualTo(input.getCompany().getName());
assertThat(output.getLogoId()).isEqualTo(input.getCompany().getLogo().getImageId());
}
@Test
@Disabled
void toCompanies() {
List<Igdb.InvolvedCompany> input = List.of(generateRandomInput(), generateRandomInput(), generateRandomInput());
List<Company> output = CompanyMapper.toCompanies(input);
for (int i = 0; i < output.size(); i++) {
assertThat(output.get(i).getSlug()).isEqualTo(input.get(i).getCompany().getSlug());
assertThat(output.get(i).getName()).isEqualTo(input.get(i).getCompany().getName());
assertThat(output.get(i).getLogoId()).isEqualTo(input.get(i).getCompany().getLogo().getImageId());
}
}
private static Igdb.InvolvedCompany generateRandomInvolvedCompany() {
Igdb.Company c = Igdb.Company.newBuilder()
.setSlug(UUID.randomUUID().toString())
.setName(UUID.randomUUID().toString())
.setLogo(Igdb.CompanyLogo.newBuilder()
.setImageId(UUID.randomUUID().toString())
.build())
.build();
return Igdb.InvolvedCompany.newBuilder()
.setCompany(c)
.build();
}
}
@@ -0,0 +1,37 @@
package de.grimsi.gameyfin.mapper;
import com.igdb.proto.Igdb;
import de.grimsi.gameyfin.entities.Genre;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
class GenreMapperTest extends RandomMapperTest<Igdb.Genre, Genre> {
@Test
@Disabled
void toGenre() {
Igdb.Genre input = generateRandomInput();
Genre output = GenreMapper.toGenre(input);
assertThat(output.getSlug()).isEqualTo(input.getSlug());
assertThat(output.getName()).isEqualTo(input.getName());
}
@Test
@Disabled
void toGenres() {
List<Igdb.Genre> input = List.of(generateRandomInput(), generateRandomInput(), generateRandomInput());
List<Genre> output = GenreMapper.toGenres(input);
for (int i = 0; i < output.size(); i++) {
assertThat(output.get(i).getSlug()).isEqualTo(input.get(i).getSlug());
assertThat(output.get(i).getName()).isEqualTo(input.get(i).getName());
}
}
}
@@ -0,0 +1,49 @@
package de.grimsi.gameyfin.mapper;
import com.google.protobuf.Message;
import org.jeasy.random.EasyRandom;
import org.jeasy.random.EasyRandomParameters;
import org.springframework.core.GenericTypeResolver;
import java.util.List;
public class RandomMapperTest<Input extends Message, Output> {
private static final int DEFAULT_COUNT = 5;
private final EasyRandom easyRandom = new EasyRandom();
private final Class<Input> inputClass;
private final Class<Output> outputClass;
@SuppressWarnings("unchecked")
public RandomMapperTest() {
Class<?>[] typeArguments = GenericTypeResolver.resolveTypeArguments(getClass(), RandomMapperTest.class);
assert typeArguments != null;
inputClass = (Class<Input>) typeArguments[0];
outputClass = (Class<Output>) typeArguments[1];
}
protected Input generateRandomInput() {
return easyRandom.nextObject(inputClass);
}
protected List<Input> generateRandomInputs() {
return easyRandom.objects(inputClass, DEFAULT_COUNT).toList();
}
protected List<Input> generateRandomInputs(int count) {
return easyRandom.objects(inputClass, count).toList();
}
protected Output generateRandomOutput() {
return easyRandom.nextObject(outputClass);
}
protected List<Output> generateRandomOutputs() {
return easyRandom.objects(outputClass, DEFAULT_COUNT).toList();
}
protected List<Output> generateRandomOutputs(int count) {
return easyRandom.objects(outputClass, count).toList();
}
}
@@ -0,0 +1,7 @@
gameyfin:
igdb:
api:
client-id: igdb_client_id
client-secret: igdb_client_secret
config:
preferred-platforms: 6