Search in sources :

Example 11 with CheckConsistencyCommand

use of org.neo4j.consistency.CheckConsistencyCommand in project neo4j by neo4j.

the class AdminCommandsIT method shouldNotExpandCommands.

@Test
void shouldNotExpandCommands() {
    assertExpansionError(new SetInitialPasswordCommand(context), "pass");
    assertExpansionError(new SetDefaultAdminCommand(context), "user");
    assertExpansionError(new StoreInfoCommand(context), "path");
    assertExpansionError(new CheckConsistencyCommand(context), "--database", "neo4j");
    assertExpansionError(new DiagnosticsReportCommand(context));
    assertExpansionError(new LoadCommand(context, new Loader()), "--from", "test");
    assertExpansionError(new MemoryRecommendationsCommand(context));
    assertExpansionError(new ImportCommand(context), "--nodes=" + testDirectory.createFile("foo.csv").toAbsolutePath());
    assertExpansionError(new DumpCommand(context, new Dumper(context.err())), "--to", "test");
}
Also used : ImportCommand(org.neo4j.importer.ImportCommand) DumpCommand(org.neo4j.commandline.dbms.DumpCommand) DiagnosticsReportCommand(org.neo4j.commandline.dbms.DiagnosticsReportCommand) SetDefaultAdminCommand(org.neo4j.commandline.admin.security.SetDefaultAdminCommand) StoreInfoCommand(org.neo4j.commandline.dbms.StoreInfoCommand) Loader(org.neo4j.dbms.archive.Loader) MemoryRecommendationsCommand(org.neo4j.commandline.dbms.MemoryRecommendationsCommand) LoadCommand(org.neo4j.commandline.dbms.LoadCommand) SetInitialPasswordCommand(org.neo4j.commandline.admin.security.SetInitialPasswordCommand) CheckConsistencyCommand(org.neo4j.consistency.CheckConsistencyCommand) Dumper(org.neo4j.dbms.archive.Dumper) Test(org.junit.jupiter.api.Test)

Example 12 with CheckConsistencyCommand

use of org.neo4j.consistency.CheckConsistencyCommand in project neo4j by neo4j.

the class CheckConsistencyCommandIT method failsWhenInconsistenciesAreFound.

@Test
void failsWhenInconsistenciesAreFound() throws Exception {
    ConsistencyCheckService consistencyCheckService = mock(ConsistencyCheckService.class);
    CheckConsistencyCommand checkConsistencyCommand = new CheckConsistencyCommand(new ExecutionContext(homeDir, confPath), consistencyCheckService);
    when(consistencyCheckService.runFullConsistencyCheck(any(DatabaseLayout.class), any(Config.class), any(ProgressMonitorFactory.class), any(LogProvider.class), any(FileSystemAbstraction.class), eq(true), any(), any(ConsistencyFlags.class))).thenReturn(ConsistencyCheckService.Result.failure(Path.of("/the/report/path"), new ConsistencySummaryStatistics()));
    CommandFailedException commandFailed = assertThrows(CommandFailedException.class, () -> {
        CommandLine.populateCommand(checkConsistencyCommand, "--database=mydb", "--verbose");
        checkConsistencyCommand.execute();
    });
    assertThat(commandFailed.getMessage()).contains(Path.of("/the/report/path").toString());
}
Also used : LogProvider(org.neo4j.logging.LogProvider) ExecutionContext(org.neo4j.cli.ExecutionContext) DefaultFileSystemAbstraction(org.neo4j.io.fs.DefaultFileSystemAbstraction) FileSystemAbstraction(org.neo4j.io.fs.FileSystemAbstraction) ProgressMonitorFactory(org.neo4j.internal.helpers.progress.ProgressMonitorFactory) ConsistencyFlags(org.neo4j.consistency.checking.full.ConsistencyFlags) Config(org.neo4j.configuration.Config) DatabaseLayout(org.neo4j.io.layout.DatabaseLayout) ConsistencyCheckService(org.neo4j.consistency.ConsistencyCheckService) CheckConsistencyCommand(org.neo4j.consistency.CheckConsistencyCommand) CommandFailedException(org.neo4j.cli.CommandFailedException) ConsistencySummaryStatistics(org.neo4j.consistency.report.ConsistencySummaryStatistics) Test(org.junit.jupiter.api.Test)

Example 13 with CheckConsistencyCommand

use of org.neo4j.consistency.CheckConsistencyCommand in project neo4j by neo4j.

the class CheckConsistencyCommandIT method runsConsistencyChecker.

@Test
void runsConsistencyChecker() throws Exception {
    ConsistencyCheckService consistencyCheckService = mock(ConsistencyCheckService.class);
    CheckConsistencyCommand checkConsistencyCommand = new CheckConsistencyCommand(new ExecutionContext(homeDir, confPath), consistencyCheckService);
    DatabaseLayout databaseLayout = neo4jLayout.databaseLayout("mydb");
    when(consistencyCheckService.runFullConsistencyCheck(eq(databaseLayout), any(Config.class), any(ProgressMonitorFactory.class), any(LogProvider.class), any(FileSystemAbstraction.class), eq(false), any(), any(ConsistencyFlags.class))).thenReturn(ConsistencyCheckService.Result.success(null, null));
    CommandLine.populateCommand(checkConsistencyCommand, "--database=mydb");
    checkConsistencyCommand.execute();
    verify(consistencyCheckService).runFullConsistencyCheck(eq(databaseLayout), any(Config.class), any(ProgressMonitorFactory.class), any(LogProvider.class), any(FileSystemAbstraction.class), eq(false), any(), any(ConsistencyFlags.class));
}
Also used : LogProvider(org.neo4j.logging.LogProvider) ExecutionContext(org.neo4j.cli.ExecutionContext) DefaultFileSystemAbstraction(org.neo4j.io.fs.DefaultFileSystemAbstraction) FileSystemAbstraction(org.neo4j.io.fs.FileSystemAbstraction) ProgressMonitorFactory(org.neo4j.internal.helpers.progress.ProgressMonitorFactory) ConsistencyFlags(org.neo4j.consistency.checking.full.ConsistencyFlags) Config(org.neo4j.configuration.Config) DatabaseLayout(org.neo4j.io.layout.DatabaseLayout) ConsistencyCheckService(org.neo4j.consistency.ConsistencyCheckService) CheckConsistencyCommand(org.neo4j.consistency.CheckConsistencyCommand) Test(org.junit.jupiter.api.Test)

Example 14 with CheckConsistencyCommand

use of org.neo4j.consistency.CheckConsistencyCommand in project neo4j by neo4j.

the class CheckConsistencyCommandIT method consistencyCheckerRespectDatabaseLock.

@Test
void consistencyCheckerRespectDatabaseLock() throws CannotWriteException, IOException {
    ConsistencyCheckService consistencyCheckService = mock(ConsistencyCheckService.class);
    CheckConsistencyCommand checkConsistencyCommand = new CheckConsistencyCommand(new ExecutionContext(homeDir, confPath), consistencyCheckService);
    DatabaseLayout databaseLayout = neo4jLayout.databaseLayout("mydb");
    testDirectory.getFileSystem().mkdirs(databaseLayout.databaseDirectory());
    try (Closeable ignored = LockChecker.checkDatabaseLock(databaseLayout)) {
        CommandLine.populateCommand(checkConsistencyCommand, "--database=mydb", "--verbose");
        CommandFailedException exception = assertThrows(CommandFailedException.class, checkConsistencyCommand::execute);
        assertThat(exception.getCause()).isInstanceOf(FileLockException.class);
        assertThat(exception.getMessage()).isEqualTo("The database is in use. Stop database 'mydb' and try again.");
    }
}
Also used : ExecutionContext(org.neo4j.cli.ExecutionContext) Closeable(java.io.Closeable) DatabaseLayout(org.neo4j.io.layout.DatabaseLayout) ConsistencyCheckService(org.neo4j.consistency.ConsistencyCheckService) CheckConsistencyCommand(org.neo4j.consistency.CheckConsistencyCommand) CommandFailedException(org.neo4j.cli.CommandFailedException) Test(org.junit.jupiter.api.Test)

Example 15 with CheckConsistencyCommand

use of org.neo4j.consistency.CheckConsistencyCommand in project neo4j by neo4j.

the class CheckConsistencyCommandIT method canRunOnBackup.

@Test
void canRunOnBackup() throws Exception {
    ConsistencyCheckService consistencyCheckService = mock(ConsistencyCheckService.class);
    DatabaseLayout backupLayout = Neo4jLayout.ofFlat(testDirectory.directory("backup")).databaseLayout(DEFAULT_DATABASE_NAME);
    prepareBackupDatabase(backupLayout);
    CheckConsistencyCommand checkConsistencyCommand = new CheckConsistencyCommand(new ExecutionContext(homeDir, confPath), consistencyCheckService);
    when(consistencyCheckService.runFullConsistencyCheck(eq(backupLayout), any(Config.class), any(ProgressMonitorFactory.class), any(LogProvider.class), any(FileSystemAbstraction.class), eq(false), any(), any(ConsistencyFlags.class))).thenReturn(ConsistencyCheckService.Result.success(null, null));
    CommandLine.populateCommand(checkConsistencyCommand, "--backup=" + backupLayout.databaseDirectory());
    checkConsistencyCommand.execute();
    verify(consistencyCheckService).runFullConsistencyCheck(eq(backupLayout), any(Config.class), any(ProgressMonitorFactory.class), any(LogProvider.class), any(FileSystemAbstraction.class), eq(false), any(), any(ConsistencyFlags.class));
}
Also used : LogProvider(org.neo4j.logging.LogProvider) ExecutionContext(org.neo4j.cli.ExecutionContext) DefaultFileSystemAbstraction(org.neo4j.io.fs.DefaultFileSystemAbstraction) FileSystemAbstraction(org.neo4j.io.fs.FileSystemAbstraction) ProgressMonitorFactory(org.neo4j.internal.helpers.progress.ProgressMonitorFactory) ConsistencyFlags(org.neo4j.consistency.checking.full.ConsistencyFlags) Config(org.neo4j.configuration.Config) DatabaseLayout(org.neo4j.io.layout.DatabaseLayout) ConsistencyCheckService(org.neo4j.consistency.ConsistencyCheckService) CheckConsistencyCommand(org.neo4j.consistency.CheckConsistencyCommand) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)15 CheckConsistencyCommand (org.neo4j.consistency.CheckConsistencyCommand)15 ExecutionContext (org.neo4j.cli.ExecutionContext)13 ConsistencyCheckService (org.neo4j.consistency.ConsistencyCheckService)12 ConsistencyFlags (org.neo4j.consistency.checking.full.ConsistencyFlags)10 DatabaseLayout (org.neo4j.io.layout.DatabaseLayout)6 Config (org.neo4j.configuration.Config)5 ProgressMonitorFactory (org.neo4j.internal.helpers.progress.ProgressMonitorFactory)5 DefaultFileSystemAbstraction (org.neo4j.io.fs.DefaultFileSystemAbstraction)5 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)5 LogProvider (org.neo4j.logging.LogProvider)5 CommandFailedException (org.neo4j.cli.CommandFailedException)3 ByteArrayOutputStream (java.io.ByteArrayOutputStream)2 PrintStream (java.io.PrintStream)2 SetDefaultAdminCommand (org.neo4j.commandline.admin.security.SetDefaultAdminCommand)2 SetInitialPasswordCommand (org.neo4j.commandline.admin.security.SetInitialPasswordCommand)2 DiagnosticsReportCommand (org.neo4j.commandline.dbms.DiagnosticsReportCommand)2 DumpCommand (org.neo4j.commandline.dbms.DumpCommand)2 LoadCommand (org.neo4j.commandline.dbms.LoadCommand)2 MemoryRecommendationsCommand (org.neo4j.commandline.dbms.MemoryRecommendationsCommand)2