/*! ****************************************************************************** * * Pentaho Data Integration * * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ package org.pentaho.di.utils; import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemException; import org.pentaho.di.core.vfs.KettleVFS; public class TestUtils { /** * Do not use this method because it does not delete the temp folder after java process tear down */ @Deprecated public static String createTempDir() { String ret = null; try { /* * Java.io.File only creates Temp files, so repurpose the filename for a temporary folder * Delete the file that's created, and re-create as a folder. */ File file = File.createTempFile( "temp_pentaho_test_dir", String.valueOf( System.currentTimeMillis() ) ); file.delete(); file.mkdir(); file.deleteOnExit(); ret = file.getAbsolutePath(); } catch ( Exception ex ) { System.out.println( "Can't create temp folder" ); ex.printStackTrace(); } return ret; } public static File getInputFile( String prefix, String suffix ) throws IOException { File inputFile = File.createTempFile( prefix, suffix ); inputFile.deleteOnExit(); FileUtils.writeStringToFile( inputFile, UUID.randomUUID().toString(), "UTF-8" ); return inputFile; } public static String createRamFile( String path ) { try { FileObject file = KettleVFS.getInstance().getFileSystemManager().resolveFile( "ram://" + path ); file.createFile(); return file.getName().getURI(); } catch ( FileSystemException e ) { throw new RuntimeException( e ); } } public static FileObject getFileObject( String vfsPath ) { try { return KettleVFS.getInstance().getFileSystemManager().resolveFile( vfsPath ); } catch ( FileSystemException e ) { throw new RuntimeException( e ); } } public static String toUnixLineSeparators( String string ) { if ( string != null ) { string = string.replaceAll( "\r", "" ); } return string; } public static void checkEqualsHashCodeConsistency( Object object1, Object object2 ) { if ( object1.equals( object2 ) ) { assertTrue( "inconsistent hashcode and equals", object1.hashCode() == object2.hashCode() ); } } }