package com.rgi.suite.cli;
import org.junit.rules.TemporaryFolder;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Random;
@SuppressWarnings("UnsecureRandomNumberGeneration")
public final class HeadlessTestUtility
{
private HeadlessTestUtility()
{
}
public static String getRandomString(final int length)
{
final Random randomGenerator = new Random();
final String characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
final char[] text = new char[length];
for( int i = 0; i < length; i++ )
{
text[i] = characters.charAt( randomGenerator.nextInt( characters
.length() ) );
}
return new String( text );
}
public static File getRandomFile(final int length, final String extension, final TemporaryFolder tempFolder)
{
try
{
return tempFolder.newFile( String.format( "%s%s", HeadlessTestUtility.getRandomString( length ),
extension ) );
}
catch( final IOException ignored )
{
// do nothing
}
return tempFolder.getRoot();
}
@SuppressWarnings("StaticMethodOnlyUsedInOneClass")
public static String getNonExistantFileString(final TemporaryFolder tempFolder, final String extension)
{
return Paths.get( tempFolder.getRoot().getAbsolutePath(),
String.format( "%s%s", HeadlessTestUtility.getRandomString( 6 ), extension ) ).toString();
}
}