private File createNeoStoreFile() throws IOException { File neoStoreFile = databaseLayout.metadataStore(); fsRule.get().create( neoStoreFile ).close(); return neoStoreFile; } }
@Test void archiveDirectoryWithSubdirectories() throws IOException { File archiveFile = testDirectory.file( "directoryWithSubdirectoriesArchive.zip" ); File directoryArchive = testDirectory.directory( "directoryWithSubdirs" ); File subdir1 = new File( directoryArchive, "subdir1" ); File subdir2 = new File( directoryArchive, "subdir" ); fileSystem.mkdir( subdir1 ); fileSystem.mkdir( subdir2 ); fileSystem.create( new File( directoryArchive, "a" ) ).close(); fileSystem.create( new File( directoryArchive, "b" ) ).close(); fileSystem.create( new File( subdir1, "c" ) ).close(); fileSystem.create( new File( subdir2, "d" ) ).close(); ZipUtils.zip( fileSystem, directoryArchive, archiveFile ); assertTrue( fileSystem.fileExists( archiveFile ) ); assertEquals( 6, countArchiveEntries( archiveFile ) ); }
File file = testDir.file( "file" ); fileSystem.create( file ).close();
@Test void archiveDirectory() throws IOException { File archiveFile = testDirectory.file( "directoryArchive.zip" ); File directory = testDirectory.directory( "directory" ); fileSystem.create( new File( directory, "a" ) ).close(); fileSystem.create( new File( directory, "b" ) ).close(); ZipUtils.zip( fileSystem, directory, archiveFile ); assertTrue( fileSystem.fileExists( archiveFile ) ); assertEquals( 2, countArchiveEntries( archiveFile ) ); }
@Test public void supportSpacesInDestinationPath() throws IOException { File archiveFile = testDirectory.file( "file archive.zip" ); File aFile = testDirectory.file( "a" ); fileSystem.create( aFile ).close(); ZipUtils.zip( fileSystem, aFile, archiveFile ); }
@ParameterizedTest @ValueSource( ints = {0, 1} ) @DisabledOnOs( OS.WINDOWS ) void mustUnlockFileWhenThePageSwapperIsClosed( int noChannelStriping ) throws Exception { PageSwapperFactory factory = createSwapperFactory(); factory.open( fileSystem, Configuration.EMPTY ); File file = testDir.file( "file" ); fileSystem.create( file ).close(); createSwapper( factory, file, 4, NO_CALLBACK, false, false ).close(); try ( StoreFileChannel channel = fileSystem.open( file, OpenMode.READ_WRITE ); FileLock fileLock = channel.tryLock() ) { assertThat( fileLock, is( not( nullValue() ) ) ); } }
@Test void archiveFile() throws IOException { File archiveFile = testDirectory.file( "fileArchive.zip" ); File aFile = testDirectory.file( "a" ); fileSystem.create( aFile ).close(); ZipUtils.zip( fileSystem, aFile, archiveFile ); assertTrue( fileSystem.fileExists( archiveFile ) ); assertEquals( 1, countArchiveEntries( archiveFile ) ); }
@ParameterizedTest @ValueSource( ints = {0, 1} ) @DisabledOnOs( OS.WINDOWS ) void fileMustRemainLockedEvenIfChannelIsClosedByStrayInterrupt( int noChannelStriping ) throws Exception { PageSwapperFactory factory = createSwapperFactory(); factory.open( fileSystem, Configuration.EMPTY ); File file = testDir.file( "file" ); fileSystem.create( file ).close(); PageSwapper pageSwapper = createSwapper( factory, file, 4, NO_CALLBACK, false, bool( noChannelStriping ) ); try { StoreChannel channel = fileSystem.open( file, OpenMode.READ_WRITE ); Thread.currentThread().interrupt(); pageSwapper.force(); assertThrows( OverlappingFileLockException.class, channel::tryLock ); } finally { pageSwapper.close(); } }
/** * The OverlappingFileLockException is thrown when tryLock is called on the same file *in the same JVM*. */ @ParameterizedTest @ValueSource( ints = {0, 1} ) @DisabledOnOs( OS.WINDOWS ) void creatingSwapperForFileMustTakeLockOnFile( int noChannelStriping ) throws Exception { PageSwapperFactory factory = createSwapperFactory(); factory.open( fileSystem, Configuration.EMPTY ); File file = testDir.file( "file" ); fileSystem.create( file ).close(); PageSwapper pageSwapper = createSwapper( factory, file, 4, NO_CALLBACK, false, bool( noChannelStriping ) ); try { StoreChannel channel = fileSystem.open( file, OpenMode.READ_WRITE ); assertThrows( OverlappingFileLockException.class, channel::tryLock ); } finally { pageSwapper.close(); } }
fileSystemRule.get().create( logFiles.getLogFileForVersion( logFiles.getHighestLogVersion() + 1 ) ).close(); positionCache.clear();