Class HadoopConsumerPushTest
java.lang.Object
io.github.ajevans.dbcode.dbconsumers.HadoopConsumerPushTest
@TestInstance(PER_CLASS)
@TestMethodOrder(org.junit.jupiter.api.MethodOrderer.OrderAnnotation.class)
@DisplayName("Unit tests for DerbyConsumer, minus GUI")
public class HadoopConsumerPushTest
extends Object
/**
Unit tests for HadoopConsumer, minus GUI, using the slower data push pathway.
This is just functional tests for the slow-loading large-file push pathway. See HadoopConsumerTest for the majority of tests against this class.
Reads defaults and first and last lines from application.properties
to allow for simple replacement of data for fundamental tests.
JUnit 5.
Writes files to user directory.
- Author:
- Andy Evans
- Version: 1.0 01 Mar 2021
-
Field Summary
Fields Modifier and Type Field Description (package private) org.apache.hadoop.conf.ConfigurationconfConfiguration.private HadoopConsumerdataConsumerData consumer to use.private CruTs2pt1SupplierdataSupplierData supplier to use.private StringdefaultDatabaseDirectoryDirectory database is in - gained from properties.private StringdefaultDatasetDefault database name - gained from properties.private StringdefaultDatasetOriginalDefault source file without characters removed - gained from properties.private StringdefaultFileDirectoryDirectory files are in - gained from properties.private StringdefaultSourceDefault source file - gained from properties.private StringdefaultSource1stLineDefault source file - gained from properties.private StringdefaultSourceLastLineDefault source file - gained from properties.private StringdefaultTableDefault table name - gained from properties.private StringdefaultTableOriginalDefault table name without characters removed - gained from properties.(package private) org.apache.hadoop.fs.FileSystemfileSystemHDFS.private StringpropertiesDirectoryDirectory for properties files.private StringstoreDatabase location - constructed from default variables. -
Constructor Summary
Constructors Constructor Description HadoopConsumerPushTest() -
Method Summary
Modifier and Type Method Description (package private) voiddataLoadedTest()Connects to the default data file and checks the first and last lines.voiddisconnect()Cuts file system connection.(package private) voidloadData()Runs the application to build data files.(package private) voidmetadataLoadedTest()Checks the default file's metadata.private StringUStoISODate(String line)Converts strings in the format "XX,YY,mm/dd/yyy,ZZ" to the format "XX,YY,yyyy-MM-dd,ZZ", ie, from US date format to ISO 8601.
-
Field Details
-
propertiesDirectory
Directory for properties files. -
defaultDatabaseDirectory
Directory database is in - gained from properties. -
defaultFileDirectory
Directory files are in - gained from properties. -
defaultDataset
Default database name - gained from properties. -
defaultTable
Default table name - gained from properties. -
defaultTableOriginal
Default table name without characters removed - gained from properties. -
defaultSource
Default source file - gained from properties. -
defaultDatasetOriginal
Default source file without characters removed - gained from properties. -
defaultSource1stLine
Default source file - gained from properties. -
defaultSourceLastLine
Default source file - gained from properties. -
store
Database location - constructed from default variables. -
dataSupplier
Data supplier to use. -
dataConsumer
Data consumer to use. -
fileSystem
org.apache.hadoop.fs.FileSystem fileSystemHDFS. -
conf
org.apache.hadoop.conf.Configuration confConfiguration.
-
-
Constructor Details
-
HadoopConsumerPushTest
public HadoopConsumerPushTest()
-
-
Method Details
-
loadData
@BeforeAll @DisplayName("Load data") void loadData()Runs the application to build data files. Uses default locations from the app's META-INF/application.properties file. -
disconnect
@AfterAll @DisplayName("Disconnect from file system") public void disconnect()Cuts file system connection. -
dataLoadedTest
@Order(1) @Test @DisplayName("Data is loaded into file system") void dataLoadedTest()Connects to the default data file and checks the first and last lines.Uses default names from the app's META-INF/application.properties file along with first and last line from the same file.
Validates on first and last lines.
-
UStoISODate
Converts strings in the format "XX,YY,mm/dd/yyy,ZZ" to the format "XX,YY,yyyy-MM-dd,ZZ", ie, from US date format to ISO 8601.- Parameters:
line- Line to convert.- Returns:
- String Converted line.
-
metadataLoadedTest
@Order(2) @Test @DisplayName("Metadata is loaded into file system") void metadataLoadedTest()Checks the default file's metadata.Validates on title.
Uses default names from the app's META-INF/application.properties file.
-