mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-15 16:20:03 +00:00
Update Spring Boot version to 2.7.4
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user