Search in sources :

Example 1 with RegisterWebUserTransaction

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

the class Pkcs12HttpsServerTest method setUpClass.

@BeforeAll
static void setUpClass(@TempDir Path tempDir) throws Exception {
    File file = tempDir.resolve("TestCert.p12").toFile();
    File testCert = TestResources.getTestResourceFile("TestCert.p12", ConfigUpdater.class);
    Files.copy(testCert.toPath(), file.toPath(), StandardCopyOption.REPLACE_EXISTING);
    String absolutePath = file.getAbsolutePath();
    PluginMockComponent component = new PluginMockComponent(tempDir);
    system = component.getPlanSystem();
    PlanConfig config = system.getConfigSystem().getConfig();
    config.set(WebserverSettings.CERTIFICATE_PATH, absolutePath);
    config.set(WebserverSettings.CERTIFICATE_KEYPASS, "test");
    config.set(WebserverSettings.CERTIFICATE_STOREPASS, "test");
    config.set(WebserverSettings.CERTIFICATE_ALIAS, "test");
    config.set(WebserverSettings.PORT, TEST_PORT_NUMBER);
    system.enable();
    User user = new User("test", "console", null, PassEncryptUtil.createHash("testPass"), 0, Collections.emptyList());
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(user));
}
Also used : User(com.djrapitops.plan.delivery.domain.auth.User) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) PluginMockComponent(utilities.mocks.PluginMockComponent) File(java.io.File) PlanConfig(com.djrapitops.plan.settings.config.PlanConfig) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 2 with RegisterWebUserTransaction

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

the class JksHttpsServerTest method setUpClass.

@BeforeAll
static void setUpClass(@TempDir Path tempDir) throws Exception {
    File file = tempDir.resolve("PlanCert.jks").toFile();
    TestResources.copyResourceIntoFile(file, "/PlanCert.jks");
    String absolutePath = file.getAbsolutePath();
    PluginMockComponent component = new PluginMockComponent(tempDir);
    system = component.getPlanSystem();
    PlanConfig config = system.getConfigSystem().getConfig();
    config.set(WebserverSettings.CERTIFICATE_PATH, absolutePath);
    config.set(WebserverSettings.CERTIFICATE_KEYPASS, "MnD3bU5HpmPXag0e");
    config.set(WebserverSettings.CERTIFICATE_STOREPASS, "wDwwf663NLTm73gL");
    config.set(WebserverSettings.CERTIFICATE_ALIAS, "DefaultPlanCert");
    config.set(WebserverSettings.PORT, TEST_PORT_NUMBER);
    system.enable();
    User user = new User("test", "console", null, PassEncryptUtil.createHash("testPass"), 0, Collections.emptyList());
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(user));
}
Also used : User(com.djrapitops.plan.delivery.domain.auth.User) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) PluginMockComponent(utilities.mocks.PluginMockComponent) File(java.io.File) PlanConfig(com.djrapitops.plan.settings.config.PlanConfig) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 3 with RegisterWebUserTransaction

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

the class RegistrationCommands method registerUser.

private void registerUser(User user, CMDSender sender, int permissionLevel) {
    String username = user.getUsername();
    user.setPermissionLevel(permissionLevel);
    try {
        Database database = dbSystem.getDatabase();
        boolean userExists = database.query(WebUserQueries.fetchUser(username)).isPresent();
        if (userExists)
            throw new IllegalArgumentException(locale.getString(CommandLang.FAIL_WEB_USER_EXISTS));
        database.executeTransaction(new RegisterWebUserTransaction(user)).get();
        sender.send(locale.getString(CommandLang.WEB_USER_REGISTER_SUCCESS, username));
        logger.info(locale.getString(CommandLang.WEB_USER_REGISTER_NOTIFY, username, permissionLevel));
    } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
    } catch (DBOpException | ExecutionException e) {
        errorLogger.warn(e, ErrorContext.builder().related(sender, user, permissionLevel).build());
    }
}
Also used : DBOpException(com.djrapitops.plan.exceptions.database.DBOpException) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) Database(com.djrapitops.plan.storage.database.Database) ExecutionException(java.util.concurrent.ExecutionException)

Example 4 with RegisterWebUserTransaction

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

the class DatabaseBackupTest method saveDataForBackup.

default void saveDataForBackup() {
    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));
    FinishedSession session = RandomData.randomSession(serverUUID(), worlds, playerUUID, player2UUID);
    execute(DataStoreQueries.storeSession(session));
    db().executeTransaction(new NicknameStoreTransaction(playerUUID, RandomData.randomNickname(serverUUID()), (uuid, name) -> false));
    db().executeTransaction(new GeoInfoStoreTransaction(playerUUID, new GeoInfo("TestLoc", RandomData.randomTime())));
    List<TPS> expected = RandomData.randomTPS();
    for (TPS tps : expected) {
        execute(DataStoreQueries.storeTPS(serverUUID(), tps));
    }
    db().executeTransaction(new PingStoreTransaction(playerUUID, serverUUID(), Collections.singletonList(new DateObj<>(System.currentTimeMillis(), RandomData.randomInt(-1, 40)))));
    User user = new User("test", "console", null, PassEncryptUtil.createHash("testPass"), 0, Collections.emptyList());
    db().executeTransaction(new RegisterWebUserTransaction(user));
}
Also used : MoreExecutors(com.google.common.util.concurrent.MoreExecutors) FinishedSession(com.djrapitops.plan.gathering.domain.FinishedSession) Files(java.nio.file.Files) GeoInfo(com.djrapitops.plan.gathering.domain.GeoInfo) File(java.io.File) Database(com.djrapitops.plan.storage.database.Database) Test(org.junit.jupiter.api.Test) List(java.util.List) SQLiteDB(com.djrapitops.plan.storage.database.SQLiteDB) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) DateObj(com.djrapitops.plan.delivery.domain.DateObj) com.djrapitops.plan.storage.database.transactions.events(com.djrapitops.plan.storage.database.transactions.events) BackupCopyTransaction(com.djrapitops.plan.storage.database.transactions.BackupCopyTransaction) User(com.djrapitops.plan.delivery.domain.auth.User) DatabaseTestPreparer(com.djrapitops.plan.storage.database.DatabaseTestPreparer) TPS(com.djrapitops.plan.gathering.domain.TPS) PassEncryptUtil(com.djrapitops.plan.utilities.PassEncryptUtil) RandomData(utilities.RandomData) com.djrapitops.plan.storage.database.queries.objects(com.djrapitops.plan.storage.database.queries.objects) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) TestConstants(utilities.TestConstants) Collections(java.util.Collections) User(com.djrapitops.plan.delivery.domain.auth.User) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) GeoInfo(com.djrapitops.plan.gathering.domain.GeoInfo) FinishedSession(com.djrapitops.plan.gathering.domain.FinishedSession) TPS(com.djrapitops.plan.gathering.domain.TPS)

Example 5 with RegisterWebUserTransaction

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

the class AccessControlTest method setUpClass.

@BeforeAll
static void setUpClass(@TempDir Path tempDir) throws Exception {
    File file = tempDir.resolve("TestCert.p12").toFile();
    File testCert = TestResources.getTestResourceFile("TestCert.p12", ConfigUpdater.class);
    Files.copy(testCert.toPath(), file.toPath(), StandardCopyOption.REPLACE_EXISTING);
    String absolutePath = file.getAbsolutePath();
    PluginMockComponent component = new PluginMockComponent(tempDir);
    system = component.getPlanSystem();
    PlanConfig config = system.getConfigSystem().getConfig();
    config.set(WebserverSettings.CERTIFICATE_PATH, absolutePath);
    config.set(WebserverSettings.CERTIFICATE_KEYPASS, "test");
    config.set(WebserverSettings.CERTIFICATE_STOREPASS, "test");
    config.set(WebserverSettings.CERTIFICATE_ALIAS, "test");
    config.set(WebserverSettings.PORT, TEST_PORT_NUMBER);
    system.enable();
    User userLevel0 = new User("test0", "console", null, PassEncryptUtil.createHash("testPass"), 0, Collections.emptyList());
    User userLevel1 = new User("test1", "console", null, PassEncryptUtil.createHash("testPass"), 1, Collections.emptyList());
    User userLevel2 = new User("test2", TestConstants.PLAYER_ONE_NAME, TestConstants.PLAYER_ONE_UUID, PassEncryptUtil.createHash("testPass"), 2, Collections.emptyList());
    User userLevel100 = new User("test100", "console", null, PassEncryptUtil.createHash("testPass"), 100, Collections.emptyList());
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(userLevel0));
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(userLevel1));
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(userLevel2));
    system.getDatabaseSystem().getDatabase().executeTransaction(new RegisterWebUserTransaction(userLevel100));
    system.getDatabaseSystem().getDatabase().executeTransaction(new PlayerRegisterTransaction(TestConstants.PLAYER_ONE_UUID, () -> 0L, TestConstants.PLAYER_ONE_NAME));
    system.getDatabaseSystem().getDatabase().executeTransaction(new StoreServerInformationTransaction(new Server(TestConstants.SERVER_UUID, TestConstants.SERVER_NAME, address)));
    address = "https://localhost:" + TEST_PORT_NUMBER;
    cookieLevel0 = login(address, userLevel0.getUsername());
    cookieLevel1 = login(address, userLevel1.getUsername());
    cookieLevel2 = login(address, userLevel2.getUsername());
    cookieLevel100 = login(address, userLevel100.getUsername());
}
Also used : User(com.djrapitops.plan.delivery.domain.auth.User) RegisterWebUserTransaction(com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction) Server(com.djrapitops.plan.identification.Server) StoreServerInformationTransaction(com.djrapitops.plan.storage.database.transactions.StoreServerInformationTransaction) PlayerRegisterTransaction(com.djrapitops.plan.storage.database.transactions.events.PlayerRegisterTransaction) PluginMockComponent(utilities.mocks.PluginMockComponent) File(java.io.File) PlanConfig(com.djrapitops.plan.settings.config.PlanConfig) BeforeAll(org.junit.jupiter.api.BeforeAll)

Aggregations

RegisterWebUserTransaction (com.djrapitops.plan.storage.database.transactions.commands.RegisterWebUserTransaction)5 User (com.djrapitops.plan.delivery.domain.auth.User)4 File (java.io.File)4 PlanConfig (com.djrapitops.plan.settings.config.PlanConfig)3 BeforeAll (org.junit.jupiter.api.BeforeAll)3 PluginMockComponent (utilities.mocks.PluginMockComponent)3 Database (com.djrapitops.plan.storage.database.Database)2 DateObj (com.djrapitops.plan.delivery.domain.DateObj)1 DBOpException (com.djrapitops.plan.exceptions.database.DBOpException)1 FinishedSession (com.djrapitops.plan.gathering.domain.FinishedSession)1 GeoInfo (com.djrapitops.plan.gathering.domain.GeoInfo)1 TPS (com.djrapitops.plan.gathering.domain.TPS)1 Server (com.djrapitops.plan.identification.Server)1 DatabaseTestPreparer (com.djrapitops.plan.storage.database.DatabaseTestPreparer)1 SQLiteDB (com.djrapitops.plan.storage.database.SQLiteDB)1 com.djrapitops.plan.storage.database.queries.objects (com.djrapitops.plan.storage.database.queries.objects)1 BackupCopyTransaction (com.djrapitops.plan.storage.database.transactions.BackupCopyTransaction)1 StoreServerInformationTransaction (com.djrapitops.plan.storage.database.transactions.StoreServerInformationTransaction)1 com.djrapitops.plan.storage.database.transactions.events (com.djrapitops.plan.storage.database.transactions.events)1 PlayerRegisterTransaction (com.djrapitops.plan.storage.database.transactions.events.PlayerRegisterTransaction)1