Search in sources :

Example 1 with PlayerServerRegisterTransaction

use of com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction in project Plan by plan-player-analytics.

the class SessionQueriesTest method prepareForSessionSave.

default void prepareForSessionSave() {
    db().executeTransaction(new WorldNameStoreTransaction(serverUUID(), worlds[0]));
    db().executeTransaction(new WorldNameStoreTransaction(serverUUID(), worlds[1]));
    db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, RandomData::randomTime, TestConstants.PLAYER_ONE_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    db().executeTransaction(new PlayerServerRegisterTransaction(player2UUID, RandomData::randomTime, TestConstants.PLAYER_TWO_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
}
Also used : WorldNameStoreTransaction(com.djrapitops.plan.storage.database.transactions.events.WorldNameStoreTransaction) PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction)

Example 2 with PlayerServerRegisterTransaction

use of com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction in project Plan by plan-player-analytics.

the class ActivityIndexQueriesTest method storeSessions.

default void storeSessions(Predicate<FinishedSession> save) {
    db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, RandomData::randomTime, TestConstants.PLAYER_ONE_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    db().executeTransaction(new PlayerServerRegisterTransaction(player2UUID, RandomData::randomTime, TestConstants.PLAYER_TWO_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    for (String world : worlds) {
        db().executeTransaction(new WorldNameStoreTransaction(serverUUID(), world));
    }
    for (FinishedSession session : RandomData.randomSessions(serverUUID(), worlds, playerUUID, player2UUID)) {
        if (save.test(session))
            execute(DataStoreQueries.storeSession(session));
    }
}
Also used : FinishedSession(com.djrapitops.plan.gathering.domain.FinishedSession) WorldNameStoreTransaction(com.djrapitops.plan.storage.database.transactions.events.WorldNameStoreTransaction) PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction)

Example 3 with PlayerServerRegisterTransaction

use of com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction in project Plan by plan-player-analytics.

the class GeolocationQueriesTest method geolocationFilterResultsGetThePlayer.

@Test
default void geolocationFilterResultsGetThePlayer() {
    db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, RandomData::randomTime, TestConstants.PLAYER_ONE_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    List<GeoInfo> savedData = RandomData.randomGeoInfo();
    for (GeoInfo geoInfo : savedData) {
        save(playerUUID, geoInfo);
    }
    Set<UUID> expected = Collections.singleton(playerUUID);
    Set<UUID> result = db().query(GeoInfoQueries.uuidsOfPlayersWithGeolocations(Collections.singletonList(savedData.get(0).getGeolocation())));
    assertEquals(expected, result);
}
Also used : PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction) GeoInfo(com.djrapitops.plan.gathering.domain.GeoInfo) Test(org.junit.jupiter.api.Test)

Example 4 with PlayerServerRegisterTransaction

use of com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction in project Plan by plan-player-analytics.

the class GeolocationQueriesTest method filterOptionGeolocationsAreUnique.

@Test
default void filterOptionGeolocationsAreUnique() {
    db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, RandomData::randomTime, TestConstants.PLAYER_ONE_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    List<GeoInfo> savedData = RandomData.randomGeoInfo();
    for (GeoInfo geoInfo : savedData) {
        save(playerUUID, geoInfo);
    }
    Set<String> expected = savedData.stream().map(GeoInfo::getGeolocation).collect(Collectors.toSet());
    Set<String> result = new HashSet<>(db().query(GeoInfoQueries.uniqueGeolocations()));
    assertEquals(expected, result);
}
Also used : PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction) GeoInfo(com.djrapitops.plan.gathering.domain.GeoInfo) Test(org.junit.jupiter.api.Test)

Example 5 with PlayerServerRegisterTransaction

use of com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction in project Plan by plan-player-analytics.

the class NicknameQueriesTest method allNicknamesAreSaved.

@Test
default void allNicknamesAreSaved() {
    db().executeTransaction(new PlayerServerRegisterTransaction(playerUUID, RandomData::randomTime, TestConstants.PLAYER_ONE_NAME, serverUUID(), TestConstants.GET_PLAYER_HOSTNAME));
    List<Nickname> saved = RandomData.randomNicknames(serverUUID());
    for (Nickname nickname : saved) {
        db().executeTransaction(new NicknameStoreTransaction(playerUUID, nickname, (uuid, name) -> false));
        db().executeTransaction(new NicknameStoreTransaction(playerUUID, nickname, (uuid, name) -> true));
    }
    forcePersistenceCheck();
    List<Nickname> fetched = db().query(NicknameQueries.fetchNicknameDataOfPlayer(playerUUID));
    assertEquals(saved, fetched);
}
Also used : PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction) RemoveEverythingTransaction(com.djrapitops.plan.storage.database.transactions.commands.RemoveEverythingTransaction) UUID(java.util.UUID) PlayerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerRegisterTransaction) Test(org.junit.jupiter.api.Test) List(java.util.List) NicknameQueries(com.djrapitops.plan.storage.database.queries.objects.NicknameQueries) DatabaseTestPreparer(com.djrapitops.plan.storage.database.DatabaseTestPreparer) UserIdentifierQueries(com.djrapitops.plan.storage.database.queries.objects.UserIdentifierQueries) Assertions(org.junit.jupiter.api.Assertions) NicknameStoreTransaction(com.djrapitops.plan.storage.database.transactions.events.NicknameStoreTransaction) RandomData(utilities.RandomData) TestConstants(utilities.TestConstants) Nickname(com.djrapitops.plan.delivery.domain.Nickname) NicknameStoreTransaction(com.djrapitops.plan.storage.database.transactions.events.NicknameStoreTransaction) PlayerServerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction) Nickname(com.djrapitops.plan.delivery.domain.Nickname) Test(org.junit.jupiter.api.Test)

Aggregations

PlayerServerRegisterTransaction (com.djrapitops.plan.storage.database.transactions.events.PlayerServerRegisterTransaction)7 GeoInfo (com.djrapitops.plan.gathering.domain.GeoInfo)4 Test (org.junit.jupiter.api.Test)4 WorldNameStoreTransaction (com.djrapitops.plan.storage.database.transactions.events.WorldNameStoreTransaction)2 Nickname (com.djrapitops.plan.delivery.domain.Nickname)1 FinishedSession (com.djrapitops.plan.gathering.domain.FinishedSession)1 Database (com.djrapitops.plan.storage.database.Database)1 DatabaseTestPreparer (com.djrapitops.plan.storage.database.DatabaseTestPreparer)1 NicknameQueries (com.djrapitops.plan.storage.database.queries.objects.NicknameQueries)1 UserIdentifierQueries (com.djrapitops.plan.storage.database.queries.objects.UserIdentifierQueries)1 RemoveEverythingTransaction (com.djrapitops.plan.storage.database.transactions.commands.RemoveEverythingTransaction)1 NicknameStoreTransaction (com.djrapitops.plan.storage.database.transactions.events.NicknameStoreTransaction)1 PlayerRegisterTransaction (com.djrapitops.plan.storage.database.transactions.events.PlayerRegisterTransaction)1 List (java.util.List)1 UUID (java.util.UUID)1 Assertions (org.junit.jupiter.api.Assertions)1 RandomData (utilities.RandomData)1 TestConstants (utilities.TestConstants)1