From bd60e3ef0e35cad5adc2feba077dd6aa0fcef21d Mon Sep 17 00:00:00 2001 From: Przemek Hugh Kaznowski Date: Tue, 30 Jan 2018 11:48:15 +0000 Subject: [PATCH] Fixed tests to check line by line inclusion... ... instead of entire output contains usage --- .../org/neo4j/backup/impl/BackupHelpOutput.java | 10 ++++++---- .../neo4j/commandline/admin/BackupUsageTest.java | 16 +++++++++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/enterprise/backup/src/test/java/org/neo4j/backup/impl/BackupHelpOutput.java b/enterprise/backup/src/test/java/org/neo4j/backup/impl/BackupHelpOutput.java index 3bdc80c07c21f..4584707fb258f 100644 --- a/enterprise/backup/src/test/java/org/neo4j/backup/impl/BackupHelpOutput.java +++ b/enterprise/backup/src/test/java/org/neo4j/backup/impl/BackupHelpOutput.java @@ -21,12 +21,13 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; public class BackupHelpOutput { - public static final String BACKUP_OUTPUT = backupOutput(); + public static final List BACKUP_OUTPUT_LINES = backupOutput(); - private static String backupOutput() + private static List backupOutput() { List lines = new ArrayList<>(); @@ -45,7 +46,7 @@ private static String backupOutput() lines.add( " NEO4J_CONF Path to directory which contains neo4j.conf." ); lines.add( " NEO4J_DEBUG Set to anything to enable debug output." ); lines.add( " NEO4J_HOME Neo4j home directory." ); - lines.add( " HEAP_SIZE Set size of JVM heap during command execution." ); + lines.add( " HEAP_SIZE Set JVM maximum heap size during command execution." ); lines.add( " Takes a number and a unit, for example 512m." ); lines.add( "" ); lines.add( "Perform an online backup from a running Neo4j enterprise server. Neo4j's backup" ); @@ -93,7 +94,8 @@ private static String backupOutput() lines.add( " *very* expensive in time and memory." ); lines.add( " [default:false]" ); String platformNewLine = System.lineSeparator(); - return String.join( platformNewLine, lines ); + lines = lines.stream().map( line -> line += platformNewLine ).collect( Collectors.toList() ); + return lines; } } diff --git a/enterprise/backup/src/test/java/org/neo4j/commandline/admin/BackupUsageTest.java b/enterprise/backup/src/test/java/org/neo4j/commandline/admin/BackupUsageTest.java index 01112b720e278..4828d70052eff 100644 --- a/enterprise/backup/src/test/java/org/neo4j/commandline/admin/BackupUsageTest.java +++ b/enterprise/backup/src/test/java/org/neo4j/commandline/admin/BackupUsageTest.java @@ -58,7 +58,10 @@ public void outputMatchesExpectedForMissingBackupDir() throws UnsupportedEncodin assertThat( output, containsString( reason ) ); // and - assertThat( output, containsString( BackupHelpOutput.BACKUP_OUTPUT ) ); + for ( String line : BackupHelpOutput.BACKUP_OUTPUT_LINES ) + { + assertThat( output, containsString( line ) ); + } } @Test @@ -72,7 +75,10 @@ public void missingBackupName() throws UnsupportedEncodingException assertThat( output, containsString( reason ) ); // and - assertThat( output, containsString( BackupHelpOutput.BACKUP_OUTPUT ) ); + for ( String line : BackupHelpOutput.BACKUP_OUTPUT_LINES ) + { + assertThat( "Failed for line: " + line, output, containsString( line ) ); + } } @Test @@ -85,7 +91,6 @@ public void incorrectBackupDirectory() throws IOException // then String reason = String.format( "command failed: Directory '%s' does not exist.\n", backupDirectoryResolved ); assertThat( output, containsString( reason ) ); - assertThat( output, not( containsString( BackupHelpOutput.BACKUP_OUTPUT ) ) ); } private String runBackup( String... args ) throws UnsupportedEncodingException @@ -97,7 +102,7 @@ private String runBackup( boolean debug, String... args ) throws UnsupportedEnco { ParameterisedOutsideWorld outsideWorld = // ParameterisedOutsideWorld used for suppressing #close() doing System.exit() new ParameterisedOutsideWorld( System.console(), System.out, System.err, System.in, new DefaultFileSystemAbstraction() ); - AdminTool subject = new AdminTool( commandLocator, cmd -> new ArrayList<>( ), outsideWorld, debug ); + AdminTool subject = new AdminTool( commandLocator, cmd -> new ArrayList<>(), outsideWorld, debug ); Path homeDir = HERE; Path configDir = HERE; List params = new ArrayList(); @@ -105,6 +110,7 @@ private String runBackup( boolean debug, String... args ) throws UnsupportedEnco params.addAll( Arrays.asList( args ) ); String[] argArray = params.toArray( new String[params.size()] ); subject.execute( homeDir, configDir, argArray ); - return suppressOutput.getErrorVoice().toString() + suppressOutput.getOutputVoice().toString(); + + return suppressOutput.getErrorVoice().toString() + System.lineSeparator() + suppressOutput.getOutputVoice().toString(); } }