[general] Add database test

master
samnyan 2020-12-25 14:16:55 +08:00
parent ff5eab48c7
commit 1ccba38aee
12 changed files with 1105 additions and 11 deletions

4
.gitignore vendored
View File

@ -31,6 +31,6 @@ build/
.vscode/
### Dev env ###
application.properties
aqua.jar
/application.properties
/aqua.jar
/data/

View File

@ -84,11 +84,6 @@
<artifactId>mariadb-java-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>

View File

@ -1,10 +1,10 @@
package icu.samnyan.aqua;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.TestPropertySource;
@TestPropertySource(locations = "classpath:application-test.properties")
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@SpringBootTest
class AquaServerApplicationTests {

View File

@ -0,0 +1,20 @@
package icu.samnyan.aqua;
import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
@Configuration
public class FlywayTestConfig {
@Bean
public FlywayMigrationStrategy clean() {
return flyway -> {
flyway.clean();
flyway.migrate();
};
}
}

View File

@ -0,0 +1,347 @@
package icu.samnyan.aqua.sega.chunithm.dao.userdata;
import icu.samnyan.aqua.sega.chunithm.model.userdata.*;
import icu.samnyan.aqua.sega.general.dao.CardRepository;
import icu.samnyan.aqua.sega.general.model.Card;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import java.time.LocalDateTime;
import java.util.List;
import static icu.samnyan.aqua.util.CardHelper.getCard;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class ChuniRepositoryTest {
LocalDateTime now = LocalDateTime.now();
@Autowired
private CardRepository cardRepository;
@Autowired
private UserActivityRepository userActivityRepository;
@Autowired
private UserCharacterRepository userCharacterRepository;
@Autowired
private UserChargeRepository userChargeRepository;
@Autowired
private UserCourseRepository userCourseRepository;
@Autowired
private UserDataExRepository userDataExRepository;
@Autowired
private UserDataRepository userDataRepository;
@Autowired
private UserDuelRepository userDuelRepository;
@Autowired
private UserGameOptionExRepository userGameOptionExRepository;
@Autowired
private UserGameOptionRepository userGameOptionRepository;
@Autowired
private UserGeneralDataRepository userGeneralDataRepository;
@Autowired
private UserItemRepository userItemRepository;
@Autowired
private UserMapRepository userMapRepository;
@Autowired
private UserMusicDetailRepository userMusicDetailRepository;
@Autowired
private UserPlaylogRepository userPlaylogRepository;
@Test
void userData_SaveLoad() {
var c = cardRepository.save(getCard());
userDataRepository.save(getUser(c));
var u = userDataRepository.findByCard_ExtId(114514L);
assertThat(u).isPresent().hasValueSatisfying(i -> assertThat(i.getUserName()).isEqualTo("Hello"));
}
@Test
void userActivity_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var aL = userActivityRepository.saveAll(List.of(
getActivity(u, 1),
getActivity(u, 2),
getActivity(u, 10010)
));
var aRL = userActivityRepository.findAllByUser_Card_ExtId(114514L);
assertThat(aRL).hasSize(3);
}
@Test
void userCharacter_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var cL = userCharacterRepository.saveAll(List.of(
getCharacter(u, 10011),
getCharacter(u, 10012),
getCharacter(u, 10013)
));
var cRL = userCharacterRepository.findByUser_Card_ExtId(114514L);
assertThat(cRL).hasSize(3);
}
@Test
void userCharge_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var cL = userChargeRepository.saveAll(List.of(
getCharge(u, 10011)
));
var cRL = userChargeRepository.findByUser_Card_ExtId(114514L);
assertThat(cRL).hasSize(1);
}
@Test
void userCourse_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var cL = userCourseRepository.saveAll(List.of(
getCourse(u, 10011),
getCourse(u, 10012)
));
var cRL = userCourseRepository.findByUser_Card_ExtId(114514L);
assertThat(cRL).hasSize(2);
}
@Test
void userDuel_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var dL = userDuelRepository.saveAll(List.of(
getDuel(u, 10011),
getDuel(u, 10012)
));
var dRL = userDuelRepository.findByUser_Card_ExtId(114514L);
assertThat(dRL).hasSize(2);
}
@Test
void userDataEx_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var d = userDataExRepository.save(getDataEx(u));
var dR = userDataExRepository.findByUser_Card_ExtId(114514L);
assertThat(dR).isPresent();
}
@Test
void userGameOptionEx_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var g = userGameOptionExRepository.save(getGameOptionEx(u));
var gR = userGameOptionExRepository.findByUser_Card_ExtId(114514L);
assertThat(gR).isPresent();
}
@Test
void userGameOption_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var g = userGameOptionRepository.save(getGameOption(u));
var gR = userGameOptionRepository.findByUser_Card_ExtId(114514L);
assertThat(gR).isPresent();
}
@Test
void userGeneralData_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var g = userGeneralDataRepository.saveAll(List.of(
getGeneralData(u, "RATING", "VALUE1"),
getGeneralData(u, "RECENT_RATING", "VALUE2")
));
var gR = userGeneralDataRepository.findByUser_Card_ExtIdAndPropertyKey(114514L, "RATING");
assertThat(gR).isPresent().hasValueSatisfying(i -> assertThat(i.getPropertyValue()).isEqualTo("VALUE1"));
}
@Test
void userItem_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var iL = userItemRepository.saveAll(List.of(
getUserItem(u, 1),
getUserItem(u, 2)
));
var iRL = userItemRepository.findAllByUser_Card_ExtId(114514L);
assertThat(iRL).hasSize(2);
}
@Test
void userMap_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var mL = userMapRepository.saveAll(List.of(
getUserMap(u, 1),
getUserMap(u, 2)
));
var mRL = userMapRepository.findAllByUser_Card_ExtId(114514L);
assertThat(mRL).hasSize(2);
}
@Test
void userMusicDetail_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var mL = userMusicDetailRepository.saveAll(List.of(
getUserMusicDetail(u, 1),
getUserMusicDetail(u, 2)
));
var mRL = userMusicDetailRepository.findByUser_Card_ExtId(114514L);
assertThat(mRL).hasSize(2);
}
@Test
void userPlaylog_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
var pL = userPlaylogRepository.saveAll(List.of(
getUserPlaylog(u, 1),
getUserPlaylog(u, 2)
));
var pRL = userPlaylogRepository.findByUser_Card_ExtId(114514L);
assertThat(pRL).hasSize(2);
}
private UserData getUser(Card card) {
return new UserData(1,
card,
"Hello",
now,
false,
"",
10,
0,
"",
10,
10,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
now,
1,
false,
"SDBT",
"1.00.00",
"1.00.00",
now,
"SDBT",
"1.00.00",
"1.00.00",
now,
1,
"",
"",
"",
"",
""
);
}
private UserActivity getActivity(UserData u, Integer activityId) {
return new UserActivity(-1, u, 1, activityId, 0, 0, 0, 0, 0);
}
private UserCharacter getCharacter(UserData u, Integer characterId) {
return new UserCharacter(-1, u, characterId, 1, 1, 1, 1, true, false, 0, 0);
}
private UserCharge getCharge(UserData u, Integer chargeId) {
return new UserCharge(-1, u, chargeId, 1, now, now, 0, 0, now);
}
private UserCourse getCourse(UserData u, Integer courseId) {
return new UserCourse(-1, u, courseId, 1, 1, 1, true, true, true, 1, 1, now, 1, 1, 1, 1, true);
}
private UserDuel getDuel(UserData u, Integer duelId) {
return new UserDuel(-1, u, duelId, 1, 1, true, now, 1, 1, 1, 1);
}
private UserDataEx getDataEx(UserData u) {
return new UserDataEx(-1, u, "", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, "", "", "", "", "", 0L, 0L, 0L, 0L, 0L);
}
private UserGameOptionEx getGameOptionEx(UserData u) {
return new UserGameOptionEx(-1, u, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
}
private UserGameOption getGameOption(UserData u) {
return new UserGameOption(-1, u, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
}
private UserGeneralData getGeneralData(UserData u, String key, String value) {
return new UserGeneralData(-1, u, key, value);
}
private UserItem getUserItem(UserData u, Integer itemId) {
return new UserItem(-1, u, 1, itemId, 1, true);
}
private UserMap getUserMap(UserData u, Integer mapId) {
return new UserMap(-1, u, mapId, 1, true, 1, 1, 1, 1, 1, true);
}
private UserMusicDetail getUserMusicDetail(UserData u, Integer musicId) {
return new UserMusicDetail(-1, u, musicId, 1, 1, 1, 1, 1, 1, 1, 1, true, true, true, 1, 1, 1, true);
}
private UserPlaylog getUserPlaylog(UserData u, Integer musicId) {
return new UserPlaylog(-1, u, 0, 0, 0, now, now, musicId, 1, 1, 1, 1, 1, "", "", "", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, true, true, 1, true, true, false, 1, 1, 1, true, 1, 1, "", false);
}
}

View File

@ -0,0 +1,248 @@
package icu.samnyan.aqua.sega.diva.model.userdata;
import icu.samnyan.aqua.sega.diva.dao.userdata.*;
import icu.samnyan.aqua.sega.diva.model.common.*;
import icu.samnyan.aqua.sega.general.dao.CardRepository;
import icu.samnyan.aqua.sega.general.model.Card;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.data.domain.PageRequest;
import java.time.LocalDateTime;
import java.util.List;
import static icu.samnyan.aqua.util.CardHelper.getCard;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class DivaRepositoryTest {
LocalDateTime now = LocalDateTime.now();
@Autowired
private CardRepository cardRepository;
@Autowired
private GameSessionRepository gameSessionRepository;
@Autowired
private PlayerContestRepository playerContestRepository;
@Autowired
private PlayerCustomizeRepository playerCustomizeRepository;
@Autowired
private PlayerInventoryRepository playerInventoryRepository;
@Autowired
private PlayerModuleRepository playerModuleRepository;
@Autowired
private PlayerProfileRepository playerProfileRepository;
@Autowired
private PlayerPvCustomizeRepository playerPvCustomizeRepository;
@Autowired
private PlayerPvRecordRepository playerPvRecordRepository;
@Autowired
private PlayerScreenShotRepository playerScreenShotRepository;
@Autowired
private PlayLogRepository playLogRepository;
@Test
void playerProfile_SaveLoad() {
var c = cardRepository.save(getCard());
playerProfileRepository.save(getProfile(c));
var p = playerProfileRepository.findByPdId(c.getExtId().intValue());
assertThat(p).isPresent().hasValueSatisfying(v -> assertThat(v.getPdId()).isEqualTo(c.getExtId().intValue()));
}
@Test
void gameSession_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
gameSessionRepository.save(getSession(p));
var s = gameSessionRepository.findByPdId(p);
assertThat(s).isPresent();
}
@Test
void playerContest_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerContestRepository.saveAll(List.of(
getContest(p, 1),
getContest(p, 2)
));
var co = playerContestRepository.findByPdIdAndContestId(p, 1);
assertThat(co).isPresent();
}
@Test
void playerCustomize_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerCustomizeRepository.saveAll(List.of(
getCustomize(p, 1),
getCustomize(p, 2),
getCustomize(p, 3)
));
var cL = playerCustomizeRepository.findByPdId(p);
assertThat(cL).hasSize(3);
var cPL = playerCustomizeRepository.findByPdId_PdId(p.getPdId(), PageRequest.of(0, 10));
assertThat(cPL).hasSize(3);
}
@Test
void playerInventory_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerInventoryRepository.saveAll(List.of(
getInventory(p, "1", "1"),
getInventory(p, "2", "1"),
getInventory(p, "3", "1")
));
var io = playerInventoryRepository.findByPdIdAndTypeAndValue(p, "1", "2");
assertThat(io).isPresent();
}
@Test
void playerModule_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerModuleRepository.saveAll(List.of(
getModule(p, 1),
getModule(p, 2)
));
var mL = playerModuleRepository.findByPdId(p);
assertThat(mL).hasSize(2);
var mPL = playerModuleRepository.findByPdId_PdId(p.getPdId(), PageRequest.of(0, 10));
assertThat(mPL).hasSize(2);
}
@Test
void playerPvCustomize_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerPvCustomizeRepository.saveAll(List.of(
getPvCustomize(p, 1),
getPvCustomize(p, 2)
));
var pL = playerPvCustomizeRepository.findByPdIdAndPvId(p, 1);
assertThat(pL).isPresent();
}
@Test
void playerPvRecord_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerPvRecordRepository.saveAll(List.of(
getPvRecord(p, 1),
getPvRecord(p, 2),
getPvRecord(p, 3)
));
var rL = playerPvRecordRepository.findByPdId(p);
assertThat(rL).hasSize(3);
}
@Test
void playerScreenShot_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playerScreenShotRepository.saveAll(List.of(
getScreenShot(p, 1),
getScreenShot(p, 2),
getScreenShot(p, 3)
));
var rL = playerScreenShotRepository.findByPdId_PdId(p.getPdId());
assertThat(rL).hasSize(3);
}
@Test
void playLog_SaveLoad() {
var c = cardRepository.save(getCard());
var p = playerProfileRepository.save(getProfile(c));
playLogRepository.saveAll(List.of(
getPlayLog(p, 1),
getPlayLog(p, 2)
));
var rL = playLogRepository.findByPdId_PdIdOrderByDateTimeDesc(p.getPdId(), PageRequest.of(0, 10));
assertThat(rL).hasSize(2);
var rPL = playLogRepository.findByPdId_PdIdOrderByDateTimeDesc(p.getPdId(), PageRequest.of(0, 10));
assertThat(rPL).hasSize(2);
}
private PlayerProfile getProfile(Card c) {
var p = new PlayerProfile();
p.setPdId(c.getExtId().intValue());
return p;
}
private GameSession getSession(PlayerProfile p) {
return new GameSession(-1, 0, p, StartMode.START, now, now, 0, 0, 0, 0, 0, 0, 0, 0);
}
private PlayerContest getContest(PlayerProfile p, Integer contestId) {
return new PlayerContest(-1, p, contestId, 1, ContestBorder.SILVER, 10000, 1, now);
}
private PlayerCustomize getCustomize(PlayerProfile p, Integer customizeId) {
return new PlayerCustomize(-1, p, customizeId);
}
private PlayerInventory getInventory(PlayerProfile p, String value, String type) {
return new PlayerInventory(-1L, p, value, type);
}
private PlayerModule getModule(PlayerProfile p, Integer moduleId) {
return new PlayerModule(-1, p, moduleId);
}
private PlayerPvCustomize getPvCustomize(PlayerProfile p, Integer pvId) {
var c = new PlayerPvCustomize();
c.setPdId(p);
c.setPvId(pvId);
return c;
}
private PlayerPvRecord getPvRecord(PlayerProfile p, Integer pvId) {
var r = new PlayerPvRecord();
r.setPdId(p);
r.setPvId(pvId);
return r;
}
private PlayerScreenShot getScreenShot(PlayerProfile p, Integer pvId) {
return new PlayerScreenShot(-1, p, pvId, "img.jpg", "0,0,0", "0,0,0,0,0");
}
private PlayLog getPlayLog(PlayerProfile p, Integer pvId) {
return new PlayLog(-1, p, pvId, Difficulty.EXTREME, Edition.EXTRA, 1, 10000, ChallengeKind.COMPLETED, 1, ClearResult.EXCELLENT, 100, 999, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "0,0,0", 0, 0, 0, "0", "0,0,0", 0, now);
}
}

View File

@ -0,0 +1,31 @@
package icu.samnyan.aqua.sega.general.dao;
import icu.samnyan.aqua.sega.general.model.Card;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import java.time.LocalDateTime;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class CardRepositoryTest {
@Autowired
private CardRepository cardRepository;
@Test
void findByExtId_Exists() {
cardRepository.save(new Card(1, 114514L, "01145141919810000000", LocalDateTime.now(), LocalDateTime.now()));
var c = cardRepository.findByExtId(114514L);
assertThat(c).isPresent();
}
}

View File

@ -0,0 +1,419 @@
package icu.samnyan.aqua.sega.ongeki.dao.userdata;
import icu.samnyan.aqua.sega.general.dao.CardRepository;
import icu.samnyan.aqua.sega.general.model.Card;
import icu.samnyan.aqua.sega.ongeki.model.userdata.*;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import java.util.List;
import static icu.samnyan.aqua.util.CardHelper.getCard;
import static org.assertj.core.api.Assertions.assertThat;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
class OngekiRepositoryTest {
@Autowired
private CardRepository cardRepository;
@Autowired
private UserActivityRepository userActivityRepository;
@Autowired
private UserBossRepository userBossRepository;
@Autowired
private UserCardRepository userCardRepository;
@Autowired
private UserChapterRepository userChapterRepository;
@Autowired
private UserCharacterRepository userCharacterRepository;
@Autowired
private UserDataRepository userDataRepository;
@Autowired
private UserDeckRepository userDeckRepository;
@Autowired
private UserEventPointRepository userEventPointRepository;
@Autowired
private UserGeneralDataRepository userGeneralDataRepository;
@Autowired
private UserItemRepository userItemRepository;
@Autowired
private UserLoginBonusRepository userLoginBonusRepository;
@Autowired
private UserMissionPointRepository userMissionPointRepository;
@Autowired
private UserMusicDetailRepository userMusicDetailRepository;
@Autowired
private UserMusicItemRepository userMusicItemRepository;
@Autowired
private UserOptionRepository userOptionRepository;
@Autowired
private UserPlaylogRepository userPlaylogRepository;
@Autowired
private UserScenarioRepository userScenarioRepository;
@Autowired
private UserStoryRepository userStoryRepository;
@Autowired
private UserTechCountRepository userTechCountRepository;
@Autowired
private UserTrainingRoomRepository userTrainingRoomRepository;
@Test
void userData_SaveLoad() {
var c = cardRepository.save(getCard());
userDataRepository.save(getUser(c));
var u = userDataRepository.findByCard_ExtId(c.getExtId());
assertThat(u).isPresent().hasValueSatisfying(i -> assertThat(i.getUserName()).isEqualTo("Hello"));
}
@Test
void userActivity_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userActivityRepository.saveAll(List.of(
getActivity(u, 1),
getActivity(u, 2)
));
var aL = userActivityRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userBoss_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userBossRepository.saveAll(List.of(
getBoss(u, 1),
getBoss(u, 2)
));
var aL = userBossRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userCard_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userCardRepository.saveAll(List.of(
getUserCard(u, 1),
getUserCard(u, 2)
));
var aL = userCardRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userChapter_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userChapterRepository.saveAll(List.of(
getChapter(u, 1),
getChapter(u, 2)
));
var aL = userChapterRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userCharacter_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userCharacterRepository.saveAll(List.of(
getCharacter(u, 1),
getCharacter(u, 2)
));
var aL = userCharacterRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userDeck_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userDeckRepository.saveAll(List.of(
getDeck(u, 1),
getDeck(u, 2)
));
var aL = userDeckRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userEventPoint_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userEventPointRepository.saveAll(List.of(
getEventPoint(u, 1),
getEventPoint(u, 2)
));
var aL = userEventPointRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userGeneralData_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userGeneralDataRepository.saveAll(List.of(
getGeneralData(u, "RATING", "TEST1"),
getGeneralData(u, "RECENT_RATING", "TEST2")
));
var g = userGeneralDataRepository.findByUser_Card_ExtIdAndPropertyKey(c.getExtId(), "RATING");
assertThat(g).isPresent().hasValueSatisfying(v -> assertThat(v.getPropertyValue()).isEqualTo("TEST1"));
}
@Test
void userItem_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userItemRepository.saveAll(List.of(
getItem(u, 1),
getItem(u, 2)
));
var aL = userItemRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userLoginBonus_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userLoginBonusRepository.saveAll(List.of(
getLoginBonus(u, 1),
getLoginBonus(u, 2)
));
var aL = userLoginBonusRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userMissionPoint_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userMissionPointRepository.saveAll(List.of(
getMissionPoint(u, 1),
getMissionPoint(u, 2)
));
var aL = userMissionPointRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userMusicDetail_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userMusicDetailRepository.saveAll(List.of(
getMusicDetail(u, 1),
getMusicDetail(u, 2)
));
var aL = userMusicDetailRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userMusicItem_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userMusicItemRepository.saveAll(List.of(
getMusicItem(u, 1),
getMusicItem(u, 2)
));
var aL = userMusicItemRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userOption_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userOptionRepository.save(getOption(u));
var aL = userOptionRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).isPresent();
}
@Test
void userPlaylog_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userPlaylogRepository.saveAll(List.of(
getPlaylog(u, 1),
getPlaylog(u, 2)
));
var aL = userPlaylogRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userScenario_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userScenarioRepository.saveAll(List.of(
getScenario(u, 1),
getScenario(u, 2)
));
var aL = userScenarioRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userStory_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userStoryRepository.saveAll(List.of(
getStory(u, 1),
getStory(u, 2)
));
var aL = userStoryRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userTechCount_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userTechCountRepository.saveAll(List.of(
getTechCount(u, 1),
getTechCount(u, 2)
));
var aL = userTechCountRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
@Test
void userTrainingRoom_SaveLoad() {
var c = cardRepository.save(getCard());
var u = userDataRepository.save(getUser(c));
userTrainingRoomRepository.saveAll(List.of(
getTrainingRoom(u, 1),
getTrainingRoom(u, 2)
));
var aL = userTrainingRoomRepository.findByUser_Card_ExtId(c.getExtId());
assertThat(aL).hasSize(2);
}
private UserData getUser(Card c) {
return new UserData(-1, c, "Hello", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "2020", "SDDT", "1.00.00", "1.00.00", "2020", "SDDT", "1.00.00", "1.00.00", "", "2020", 0, "0", 0, "123", 0, "A000000", 0, 0);
}
private UserActivity getActivity(UserData u, Integer activityId) {
return new UserActivity(-1, u, 1, activityId, 0, 0, 0, 0, 0);
}
private UserBoss getBoss(UserData u, Integer musicId) {
return new UserBoss(-1, u, musicId, 10, false);
}
private UserCard getUserCard(UserData u, Integer cardId) {
return new UserCard(-1, u, cardId, 10, 10, 10, 50, 10, 1, 1, false, "2020", "2020", 1, true, "2020");
}
private UserChapter getChapter(UserData u, Integer chapterId) {
return new UserChapter(-1, u, chapterId, 10, 1, 1, true, true, 1, 1);
}
private UserCharacter getCharacter(UserData u, Integer characterId) {
return new UserCharacter(-1, u, characterId, 10, 1, 1, 1, "2020", false);
}
private UserDeck getDeck(UserData u, Integer deckId) {
return new UserDeck(-1, u, deckId, 1, 1, 1);
}
private UserEventPoint getEventPoint(UserData u, Integer eventId) {
return new UserEventPoint(-1, u, eventId, 1, false);
}
private UserGeneralData getGeneralData(UserData u, String key, String value) {
return new UserGeneralData(-1, u, key, value);
}
private UserItem getItem(UserData u, Integer itemId) {
return new UserItem(-1, u, 1, itemId, 1, true);
}
private UserLoginBonus getLoginBonus(UserData u, Integer bonusId) {
return new UserLoginBonus(-1, u, bonusId, 1);
}
private UserMissionPoint getMissionPoint(UserData u, Integer eventId) {
return new UserMissionPoint(-1, u, eventId, 1);
}
private UserMusicDetail getMusicDetail(UserData u, Integer musicId) {
return new UserMusicDetail(-1, u, musicId, 1, 1, 100, 1, 100, 1, 100, 100, 100, true, true, true, false, 1, true);
}
private UserMusicItem getMusicItem(UserData u, Integer musicId) {
return new UserMusicItem(-1, u, musicId, 1);
}
private UserOption getOption(UserData u) {
return new UserOption(-1, u, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
}
private UserPlaylog getPlaylog(UserData u, Integer musicId) {
return new UserPlaylog(-1, u, 0, 0, "", "", "", musicId, 1, 1, 1, "", 1, 1, 1, 1, "", "", "", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, true, true, true, true, true, true, 0, 0);
}
private UserScenario getScenario(UserData u, Integer scenarioId) {
return new UserScenario(-1, u, scenarioId, 1);
}
private UserStory getStory(UserData u, Integer storyId) {
return new UserStory(-1, u, storyId, 0, 0, 0, 0, 0);
}
private UserTechCount getTechCount(UserData u, Integer levelId) {
return new UserTechCount(-1, u, levelId, 1, 1);
}
private UserTrainingRoom getTrainingRoom(UserData u, Integer roomId) {
return new UserTrainingRoom(-1, u, "", roomId, 1, "");
}
}

View File

@ -0,0 +1,17 @@
package icu.samnyan.aqua.util;
import icu.samnyan.aqua.sega.general.model.Card;
import java.time.LocalDateTime;
/**
* @author sam_nya (privateamusement@protonmail.com)
*/
public class CardHelper {
public static Card getCard() {
var now = LocalDateTime.now();
return new Card(1L, 114514L, "01145141919810000000", now, now);
}
}

View File

@ -0,0 +1,16 @@
# For testing
## AimeDb server setting
aimedb.server.enable=true
aimedb.server.port=22345
allnet.server.host=localhost
allnet.server.port=80
aimedb.server.address=127.0.0.1
## Http Server Port
server.port=80
spring.flyway.locations=classpath:db/migration/mysql
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.username=aqua_test
spring.datasource.password=aqua_test
spring.datasource.url=jdbc:mariadb://localhost:3306/aqua_test?useSSL=false
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDB10Dialect
spring.jpa.hibernate.ddl-auto=validate

View File

@ -4,9 +4,9 @@ aimedb.server.enable=true
aimedb.server.port=22345
allnet.server.host=localhost
allnet.server.port=80
aimedb.server.address=127.0.0.1
## Http Server Port
server.port=80
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.datasource.url=jdbc:sqlite:data/test.sqlite
spring.jpa.hibernate.ddl-auto=none
spring.flyway.locations=classpath:db/migration/sqlite
spring.flyway.locations=classpath:db/migration/sqlite

View File

@ -0,0 +1 @@
spring.profiles.active=testMysql