You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by le...@apache.org on 2019/12/07 15:01:58 UTC
[metron] branch master updated: METRON-2307 Migrate to JUnit5
(justinleet) closes apache/metron#1554
This is an automated email from the ASF dual-hosted git repository.
leet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metron.git
The following commit(s) were added to refs/heads/master by this push:
new b71ddce METRON-2307 Migrate to JUnit5 (justinleet) closes apache/metron#1554
b71ddce is described below
commit b71ddceeefb4efc677f800c66ca65fae46f4a45a
Author: justinleet <ju...@gmail.com>
AuthorDate: Sat Dec 7 09:54:58 2019 -0500
METRON-2307 Migrate to JUnit5 (justinleet) closes apache/metron#1554
---
.travis.yml | 1 +
dependencies_with_url.csv | 12 +-
.../discovery/ServiceDiscoveryIntegrationTest.java | 37 +-
.../metron/maas/service/MaasIntegrationTest.java | 68 +-
.../maas/service/StellarMaaSIntegrationTest.java | 49 +-
metron-analytics/metron-profiler-client/pom.xml | 3 +-
.../profiler/client/HBaseProfilerClientTest.java | 31 +-
.../metron/profiler/client/ProfileWriter.java | 13 +-
.../profiler/client/stellar/GetProfileTest.java | 77 +-
.../client/stellar/IntervalPredicateTest.java | 52 +-
.../client/stellar/VerboseProfileTest.java | 84 +-
.../client/stellar/WindowLookbackTest.java | 48 +-
.../client/window/WindowProcessorTest.java | 122 +--
metron-analytics/metron-profiler-common/pom.xml | 22 +-
.../profiler/DefaultMessageDistributorTest.java | 8 +-
.../metron/profiler/DefaultMessageRouterTest.java | 10 +-
.../metron/profiler/DefaultProfileBuilderTest.java | 56 +-
.../metron/profiler/ProfileMeasurementTest.java | 13 +-
.../apache/metron/profiler/ProfilePeriodTest.java | 19 +-
.../profiler/clock/DefaultClockFactoryTest.java | 10 +-
.../metron/profiler/clock/EventTimeClockTest.java | 6 +-
.../clock/EventTimeOnlyClockFactoryTest.java | 16 +-
.../metron/profiler/clock/WallClockTest.java | 4 +-
.../profiler/hbase/SaltyRowKeyBuilderTest.java | 52 +-
.../profiler/repl/ProfilerFunctionsTest.java | 40 +-
.../profiler/repl/StandAloneProfilerTest.java | 12 +-
metron-analytics/metron-profiler-spark/pom.xml | 12 +
.../spark/BatchProfilerIntegrationTest.java | 80 +-
.../metron/profiler/spark/TimestampParserTest.java | 16 +-
.../profiler/spark/cli/BatchProfilerCLITest.java | 30 +-
.../spark/cli/BatchProfilerZKIntegrationTest.java | 10 +-
.../spark/function/GroupByPeriodFunctionTest.java | 11 +-
.../spark/function/HBaseWriterFunctionTest.java | 20 +-
.../spark/function/MessageRouterFunctionTest.java | 47 +-
.../spark/function/ProfileBuilderFunctionTest.java | 40 +-
.../reader/ColumnEncodedTelemetryReaderTest.java | 22 +-
.../function/reader/TelemetryReadersTest.java | 32 +-
.../reader/TextEncodedTelemetryReaderTest.java | 22 +-
metron-analytics/metron-profiler-storm/pom.xml | 7 -
.../apache/metron/hbase/bolt/HBaseBoltTest.java | 46 +-
.../storm/FixedFrequencyFlushSignalTest.java | 9 +-
.../metron/profiler/storm/HBaseEmitterTest.java | 19 +-
.../metron/profiler/storm/KafkaEmitterTest.java | 30 +-
.../profiler/storm/ProfileBuilderBoltTest.java | 18 +-
.../profiler/storm/ProfileHBaseMapperTest.java | 20 +-
.../profiler/storm/ProfileSplitterBoltTest.java | 22 +-
.../storm/integration/ConfigUploadComponent.java | 9 +-
.../storm/integration/ProfilerIntegrationTest.java | 48 +-
.../statistics/OnlineStatisticsProvider.java | 2 +-
.../apache/metron/statistics/BinFunctionsTest.java | 30 +-
.../statistics/OnlineStatisticsProviderTest.java | 52 +-
.../statistics/StellarStatisticsFunctionsTest.java | 163 ++--
.../HyperLogLogPlusFunctionsIntegrationTest.java | 14 +-
.../HyperLogLogPlusFunctionsTest.java | 82 +-
.../statistics/informationtheory/EntropyTest.java | 11 +-
.../outlier/MedianAbsoluteDeviationTest.java | 33 +-
.../statistics/sampling/SamplerFunctionsTest.java | 49 +-
.../statistics/sampling/UniformSamplerTest.java | 15 +-
metron-analytics/pom.xml | 30 +-
metron-contrib/metron-performance/pom.xml | 6 -
.../metron/performance/load/LoadOptionsTest.java | 52 +-
.../metron/performance/load/SendToKafkaTest.java | 9 +-
.../metron/performance/sampler/SamplerTest.java | 48 +-
metron-contrib/pom.xml | 16 +-
metron-interface/metron-rest/pom.xml | 35 +-
.../org/apache/metron/rest/config/HBaseConfig.java | 7 +-
.../apache/metron/rest/config/HadoopConfig.java | 14 +-
.../rest/config/KnoxSSOAuthenticationFilter.java | 23 +-
.../metron/rest/config/RestTemplateConfig.java | 7 +-
.../rest/service/impl/DockerStormCLIWrapper.java | 3 +-
.../metron/rest/service/impl/HdfsServiceImpl.java | 19 +-
.../metron/rest/MetronRestApplicationTest.java | 42 -
.../apache/metron/rest/config/HBaseConfigTest.java | 46 +-
.../metron/rest/config/HadoopConfigTest.java | 49 +-
.../apache/metron/rest/config/KafkaConfigTest.java | 25 +-
.../config/KnoxSSOAuthenticationFilterTest.java | 102 +--
.../rest/config/MetronAuthoritiesMapperTest.java | 22 +-
.../metron/rest/config/RestTemplateConfigTest.java | 44 +-
.../AlertsUIControllerIntegrationTest.java | 32 +-
.../GlobalConfigControllerIntegrationTest.java | 16 +-
.../controller/GrokControllerIntegrationTest.java | 18 +-
.../controller/HdfsControllerIntegrationTest.java | 19 +-
.../controller/KafkaControllerIntegrationTest.java | 34 +-
.../MetaAlertControllerIntegrationTest.java | 40 +-
.../controller/PcapControllerIntegrationTest.java | 102 ++-
.../rest/controller/RestExceptionHandlerTest.java | 8 +-
.../SearchControllerIntegrationTest.java | 43 +-
...rEnrichmentConfigControllerIntegrationTest.java | 12 +-
...sorIndexingConfigControllerIntegrationTest.java | 37 +-
...ensorParserConfigControllerIntegrationTest.java | 28 +-
...SensorParserGroupControllerIntegrationTest.java | 52 +-
.../StellarControllerIntegrationTest.java | 16 +-
.../controller/StormControllerIntegrationTest.java | 24 +-
.../UpdateControllerIntegrationTest.java | 26 +-
.../controller/UserControllerIntegrationTest.java | 14 +-
.../rest/service/impl/AlertsUIServiceImplTest.java | 35 +-
.../impl/CachedStormStatusServiceImplTest.java | 24 +-
.../service/impl/DockerStormCLIWrapperTest.java | 40 +-
.../service/impl/GlobalConfigServiceImplTest.java | 48 +-
.../rest/service/impl/GrokServiceImplTest.java | 70 +-
.../service/impl/HdfsServiceImplExceptionTest.java | 81 +-
.../rest/service/impl/HdfsServiceImplTest.java | 19 +-
.../rest/service/impl/KafkaServiceImplTest.java | 99 +--
.../rest/service/impl/PcapServiceImplTest.java | 254 +++---
.../rest/service/impl/SearchServiceImplTest.java | 41 +-
.../SensorEnrichmentConfigServiceImplTest.java | 41 +-
.../impl/SensorIndexingConfigServiceImplTest.java | 70 +-
.../impl/SensorParserConfigServiceImplTest.java | 81 +-
.../impl/SensorParserGroupServiceImplTest.java | 56 +-
.../rest/service/impl/StellarServiceImplTest.java | 10 +-
.../service/impl/StormAdminServiceImplTest.java | 23 +-
.../rest/service/impl/StormCLIWrapperTest.java | 90 +--
.../service/impl/StormStatusServiceImplTest.java | 16 +-
.../metron/rest/user/UserSettingsClientTest.java | 37 +-
.../org.mockito.plugins.MockMaker | 1 +
metron-interface/pom.xml | 6 -
.../metron-common-storm/pom.xml | 11 +
.../storm/common/bolt/BaseConfiguredBoltTest.java | 7 +-
.../common/bolt/ConfiguredEnrichmentBoltTest.java | 44 +-
.../common/bolt/ConfiguredParserBoltTest.java | 49 +-
.../storm/common/message/MessageGettersTest.java | 15 +-
.../message/metadata/RawMessageUtilTest.java | 122 +--
.../metron/storm/common/utils/ErrorUtilsTest.java | 19 +-
metron-platform/metron-common/pom.xml | 18 +
.../org/apache/metron/common/AggregatorsTest.java | 31 +-
.../cli/ConfigurationManagerIntegrationTest.java | 126 +--
.../common/configuration/ConfigOptionTest.java | 11 +-
.../common/configuration/ConfigurationTest.java | 18 +-
.../common/configuration/ConfigurationsTest.java | 13 +-
.../configuration/ConfigurationsUtilsTest.java | 41 +-
.../common/configuration/EnrichmentConfigTest.java | 12 +-
.../configuration/IndexingConfigurationsTest.java | 10 +-
.../configuration/ParserConfigurationsTest.java | 11 +-
.../configuration/SensorEnrichmentConfigTest.java | 20 +-
.../SensorEnrichmentUpdateConfigTest.java | 230 ++++--
.../configuration/SensorParserConfigTest.java | 9 +-
.../configuration/StellarEnrichmentConfigTest.java | 85 +-
.../threatintel/ThreatTriageConfigTest.java | 6 +-
.../configuration/profiler/ProfileConfigTest.java | 29 +-
.../configuration/profiler/ProfilerConfigTest.java | 10 +-
.../writer/ConfigurationsStrategiesTest.java | 23 +-
.../writer/EnrichmentWriterConfigurationTest.java | 13 +-
.../writer/IndexingWriterConfigurationTest.java | 17 +-
.../writer/ParserWriterConfigurationTest.java | 17 +-
.../writer/ProfilerWriterConfigurationTest.java | 13 +-
.../metron/common/error/MetronErrorTest.java | 12 +-
.../common/field/DeDotFieldNameConverterTest.java | 4 +-
.../common/field/FieldNameConvertersTest.java | 4 +-
.../transformation/FieldTransformationTest.java | 25 +-
.../RegexSelectTransformationTest.java | 26 +-
.../transformation/RemoveTransformationTest.java | 20 +-
.../transformation/RenameTransformationTest.java | 24 +-
.../transformation/SelectTransformationTest.java | 36 +-
.../transformation/StellarTransformationTest.java | 184 ++---
.../field/validation/QueryValidationTest.java | 31 +-
.../common/field/validation/ValidationTest.java | 25 +-
.../validation/network/DomainValidationTest.java | 41 +-
.../validation/network/EmailValidationTest.java | 45 +-
.../field/validation/network/IPValidationTest.java | 33 +-
.../validation/network/URLValidationTest.java | 41 +-
.../validation/primitive/DateValidationTest.java | 37 +-
.../primitive/IntegerValidationTest.java | 41 +-
.../primitive/NotEmptyValidationTest.java | 25 +-
.../validation/primitive/RegexValidationTest.java | 24 +-
.../common/performance/PerformanceLoggerTest.java | 51 +-
.../metron/common/performance/TimingTest.java | 10 +-
.../org/apache/metron/common/system/ClockTest.java | 9 +-
.../typosquat/TyposquattingStrategiesTest.java | 51 +-
.../metron/common/utils/CompressionUtilsTest.java | 13 +-
.../apache/metron/common/utils/HDFSUtilsTest.java | 15 +-
.../apache/metron/common/utils/HashUtilsTest.java | 4 +-
.../apache/metron/common/utils/JSONUtilsTest.java | 16 +-
.../apache/metron/common/utils/KafkaUtilsTest.java | 74 +-
.../metron/common/utils/LazyLoggerImplTest.java | 8 +-
.../common/utils/LazzyLoggerImplPerfTest.java | 14 +-
.../metron/common/utils/RuntimeErrorsTest.java | 63 +-
.../apache/metron/common/utils/SerDeUtilsTest.java | 9 +-
.../common/utils/file/ReaderSpliteratorTest.java | 38 +-
.../ZKConfigurationsCacheIntegrationTest.java | 62 +-
metron-platform/metron-data-management/pom.xml | 34 +-
.../metron/dataloads/bulk/HDFSDataPrunerTest.java | 69 +-
.../extractor/ExtractorDecoratorTest.java | 14 +-
.../metron/dataloads/extractor/ExtractorTest.java | 19 +-
.../TransformFilterExtractorDecoratorTest.java | 41 +-
.../dataloads/extractor/csv/CSVExtractorTest.java | 35 +-
.../extractor/stix/StixExtractorTest.java | 35 +-
.../dataloads/extractor/stix/URIHandlerTest.java | 14 +-
.../hbase/HBaseEnrichmentConverterTest.java | 20 +-
.../dataloads/hbase/mr/BulkLoadMapperTest.java | 20 +-
.../mr/LeastRecentlyUsedPrunerIntegrationTest.java | 52 +-
...pleEnrichmentFlatFileLoaderIntegrationTest.java | 151 ++--
.../flatfile/SimpleFlatFileSummarizerTest.java | 22 +-
.../nonbulk/geo/MaxmindDbEnrichmentLoaderTest.java | 45 +-
.../nonbulk/taxii/TaxiiIntegrationTest.java | 35 +-
.../metron-elasticsearch-common/pom.xml | 9 +-
.../elasticsearch/writer/ElasticsearchWriter.java | 14 +-
.../bulk/ElasticsearchBulkDocumentWriterTest.java | 12 +-
.../bulk/ElasticsearchImportExportTest.java | 15 +-
.../dao/ElasticsearchColumnMetadataDaoTest.java | 17 +-
.../elasticsearch/dao/ElasticsearchDaoTest.java | 34 +-
.../dao/ElasticsearchMetaAlertDaoTest.java | 48 +-
.../dao/ElasticsearchRequestSubmitterTest.java | 13 +-
.../dao/ElasticsearchUpdateDaoTest.java | 4 +-
...ticsearchBulkDocumentWriterIntegrationTest.java | 42 +-
.../ElasticsearchMetaAlertIntegrationTest.java | 72 +-
.../ElasticsearchSearchIntegrationTest.java | 136 ++--
.../ElasticsearchUpdateIntegrationTest.java | 27 +-
.../writer/ElasticsearchWriterTest.java | 44 +-
.../metron-enrichment-common/pom.xml | 6 +
.../enrichment/stellar/EnrichmentObjectGet.java | 6 +
.../metron/enrichment/stellar/ObjectGet.java | 10 +
.../adapters/host/HostFromJSONListAdapterTest.java | 29 +-
.../host/HostFromPropertiesFileAdapterTest.java | 24 +-
.../enrichment/adapters/jdbc/MySqlConfigTest.java | 13 +-
.../maxmind/asn/GeoLiteAsnDatabaseTest.java | 62 +-
.../adapters/maxmind/geo/GeoAdapterTest.java | 20 +-
.../maxmind/geo/GeoLiteCityDatabaseTest.java | 66 +-
.../simplehbase/SimpleHBaseAdapterTest.java | 35 +-
.../simplehbase/SimpleHBaseConfigTest.java | 9 +-
.../adapters/stellar/StellarAdapterTest.java | 74 +-
.../threatintel/ThreatIntelAdapterTest.java | 31 +-
.../threatintel/ThreatIntelConfigTest.java | 17 +-
.../metron/enrichment/cache/ObjectCacheTest.java | 37 +-
.../converter/EnrichmentConverterTest.java | 11 +-
.../enrichment/parallel/ParallelEnricherTest.java | 98 ++-
.../stellar/AsnEnrichmentFunctionsTest.java | 66 +-
.../EnrichmentObjectGetIntegrationTest.java | 20 +-
.../stellar/EnrichmentObjectGetTest.java | 72 +-
.../stellar/GeoEnrichmentFunctionsTest.java | 53 +-
.../enrichment/stellar/GeoHashFunctionsTest.java | 109 +--
.../stellar/ObjectGetIntegrationTest.java | 20 +-
.../metron/enrichment/stellar/ObjectGetTest.java | 55 +-
.../SimpleHBaseEnrichmentFunctionsTest.java | 52 +-
.../threatintel/triage/ThreatTriageTest.java | 221 +++---
.../metron-enrichment-storm/pom.xml | 5 +
.../enrichment/bolt/GenericEnrichmentBoltTest.java | 51 +-
.../integration/EnrichmentIntegrationTest.java | 125 +--
.../EnrichmentCoprocessorIntegrationTest.java | 30 +-
.../coprocessor/EnrichmentCoprocessorTest.java | 58 +-
.../metron-hbase/metron-hbase-common/pom.xml | 3 +-
.../metron/hbase/client/HBaseClientTest.java | 76 +-
.../metron-indexing/metron-indexing-common/pom.xml | 3 +-
.../lucene/AbstractLuceneMetaAlertUpdateDao.java | 2 +-
.../metron/indexing/dao/search/SortField.java | 7 +
.../apache/metron/indexing/dao/HBaseDaoTest.java | 4 +-
.../metron/indexing/dao/MultiIndexDaoTest.java | 75 +-
.../metron/indexing/dao/SearchIntegrationTest.java | 429 +++++-----
.../apache/metron/indexing/dao/UpdateDaoTest.java | 33 +-
.../metron/indexing/dao/UpdateIntegrationTest.java | 66 +-
.../dao/metaalert/MetaAlertIntegrationTest.java | 226 +++---
.../indexing/dao/metaalert/MetaScoresTest.java | 8 +-
.../AbstractLuceneMetaAlertUpdateDaoTest.java | 105 +--
.../metron/indexing/dao/update/PatchUtilsTest.java | 70 +-
.../integration/HBaseDaoIntegrationTest.java | 66 +-
.../indexing/util/IndexingCacheUtilTest.java | 8 +-
.../integration/IndexingIntegrationTest.java | 39 +-
metron-platform/metron-integration-test/pom.xml | 14 +-
.../StellarClasspathFunctionResolver.java | 26 +-
.../components/FluxTopologyComponent.java | 33 +-
metron-platform/metron-job/pom.xml | 17 +
.../java/org/apache/metron/job/JobStatusTest.java | 8 +-
.../metron/job/manager/InMemoryJobManagerTest.java | 37 +-
metron-platform/metron-management/pom.xml | 6 +
.../management/ConfigurationFunctionsTest.java | 79 +-
.../management/EnrichmentConfigFunctionsTest.java | 125 +--
.../metron/management/FileSystemFunctionsTest.java | 132 ++--
.../metron/management/GrokFunctionsTest.java | 28 +-
.../management/IndexingConfigFunctionsTest.java | 38 +-
.../management/KafkaFunctionsIntegrationTest.java | 123 ++-
.../management/ParserConfigFunctionsTest.java | 43 +-
.../metron/management/ParserFunctionsTest.java | 103 ++-
.../metron/management/StellarParserRunnerTest.java | 50 +-
.../management/ThreatTriageFunctionsTest.java | 159 ++--
.../metron-parsing/metron-parsers-common/pom.xml | 24 +-
.../apache/metron/parsers/ParserRunnerImpl.java | 26 +-
.../org/apache/metron/filters/FiltersTest.java | 15 +-
.../org/apache/metron/parsers/BasicParserTest.java | 36 +-
.../org/apache/metron/parsers/GrokParserTest.java | 39 +-
.../apache/metron/parsers/MessageParserTest.java | 52 +-
.../metron/parsers/MultiLineGrokParserTest.java | 36 +-
.../parsers/MultiLineWithErrorsGrokParserTest.java | 34 +-
.../metron/parsers/ParserRunnerImplTest.java | 155 ++--
.../apache/metron/parsers/csv/CSVParserTest.java | 72 +-
.../EnvelopedParserIntegrationTest.java | 54 +-
.../parsers/integration/ParserIntegrationTest.java | 20 +-
.../validation/SampleDataValidation.java | 7 +-
.../parsers/json/JSONMapParserQueryTest.java | 161 ++--
.../metron/parsers/json/JSONMapParserTest.java | 85 +-
.../json/JSONMapParserWrappedQueryTest.java | 107 +--
.../regex/RegularExpressionsParserTest.java | 73 +-
.../parsers/syslog/Syslog3164ParserTest.java | 23 +-
.../parsers/syslog/Syslog5424ParserTest.java | 48 +-
.../metron/parsers/utils/SyslogUtilsTest.java | 4 +-
.../org/apache/metron/filters/FiltersTest.java | 13 +-
.../org/apache/metron/parsers/SnortParserTest.java | 99 ++-
.../metron/parsers/asa/BasicAsaParserTest.java | 81 +-
.../metron/parsers/bro/BasicBroParserTest.java | 877 +++++++++++----------
.../apache/metron/parsers/cef/CEFParserTest.java | 109 ++-
.../parsers/fireeye/BasicFireEyeParserTest.java | 33 +-
.../metron/parsers/ise/BasicIseParserTest.java | 28 +-
.../parsers/lancope/BasicLancopeParserTest.java | 30 +-
.../apache/metron/parsers/leef/LEEFParserTest.java | 199 +++--
.../paloalto/BasicPaloAltoFirewallParserTest.java | 57 +-
.../sourcefire/BasicSourcefireParserTest.java | 27 +-
.../parsers/websphere/GrokWebSphereParserTest.java | 68 +-
.../metron-parsing/metron-parsing-storm/pom.xml | 6 +
.../apache/metron/parsers/bolt/ParserBoltTest.java | 76 +-
.../apache/metron/parsers/bolt/WriterBoltTest.java | 22 +-
.../integration/StormParserIntegrationTest.java | 24 +-
.../integration/validation/StormParserDriver.java | 1 -
.../topology/ParserTopologyBuilderTest.java | 85 +-
.../parsers/topology/ParserTopologyCLITest.java | 67 +-
...SimpleHbaseEnrichmentWriterIntegrationTest.java | 38 +-
.../StormEnvelopedParserIntegrationTest.java | 2 +-
.../integration/WriterBoltIntegrationTest.java | 61 +-
metron-platform/metron-pcap-backend/pom.xml | 19 +-
.../integration/PcapTopologyIntegrationTest.java | 150 ++--
.../org/apache/metron/pcap/query/PcapCliTest.java | 45 +-
.../pcap/deserializer/FromKeyDeserializerTest.java | 17 +-
metron-platform/metron-pcap/pom.xml | 17 +
.../apache/metron/pcap/PcapFilenameHelperTest.java | 6 +-
.../org/apache/metron/pcap/PcapHelperTest.java | 31 +-
.../metron/pcap/PcapPackerComparatorTest.java | 37 +-
.../java/org/apache/metron/pcap/PcapPagesTest.java | 4 +-
.../apache/metron/pcap/filter/PcapFiltersTest.java | 10 +-
.../pcap/filter/fixed/FixedPcapFilterTest.java | 65 +-
.../pcap/filter/query/QueryPcapFilterTest.java | 57 +-
.../apache/metron/pcap/mr/FileFilterUtilTest.java | 48 +-
.../metron/pcap/mr/OutputDirFormatterTest.java | 17 +-
.../org/apache/metron/pcap/mr/PcapJobTest.java | 88 +--
.../pcap/pattern/ByteArrayMatchingUtilTest.java | 84 +-
.../apache/metron/pcap/utils/PcapUtilsTest.java | 7 +-
.../metron-solr/metron-solr-common/pom.xml | 3 +-
.../java/org/apache/metron/solr/dao/SolrDao.java | 24 +-
.../metron/solr/client/SolrClientFactoryTest.java | 4 +-
.../metron/solr/dao/SolrColumnMetadataTest.java | 38 +-
.../org/apache/metron/solr/dao/SolrDaoTest.java | 75 +-
.../metron/solr/dao/SolrMetaAlertDaoTest.java | 75 +-
.../apache/metron/solr/dao/SolrSearchDaoTest.java | 126 +--
.../apache/metron/solr/dao/SolrUpdateDaoTest.java | 45 +-
.../apache/metron/solr/dao/SolrUtilitiesTest.java | 4 +-
.../integration/SolrMetaAlertIntegrationTest.java | 71 +-
.../SolrRetrieveLatestIntegrationTest.java | 24 +-
.../integration/SolrSearchIntegrationTest.java | 116 +--
.../integration/SolrUpdateIntegrationTest.java | 33 +-
.../schema/SchemaValidationIntegrationTest.java | 16 +-
.../solr/matcher/ModifiableSolrParamsMatcher.java | 10 +-
.../solr/matcher/SolrInputDocumentListMatcher.java | 9 +-
.../solr/matcher/SolrInputDocumentMatcher.java | 10 +-
.../metron/solr/matcher/SolrQueryMatcher.java | 76 +-
.../metron/solr/writer/MetronSolrClientTest.java | 31 +-
.../apache/metron/solr/writer/SolrWriterTest.java | 116 ++-
.../storm/kafka/spout/internal/TimerTest.java | 10 +-
.../storm/kafka/flux/SpoutConfigurationTest.java | 25 +-
metron-platform/metron-test-utilities/pom.xml | 13 +-
.../org/apache/metron/test/bolt/BaseBoltTest.java | 24 +-
.../metron/test/bolt/BaseEnrichmentBoltTest.java | 4 +-
.../org/apache/metron/test/bolt/PrintingBolt.java | 4 +-
.../metron/test/error/MetronErrorJSONMatcher.java | 5 +-
.../test/spouts/GenericInternalTestSpout.java | 9 +-
.../org/apache/metron/test/utils/KafkaLoader.java | 7 +-
.../apache/metron/test/utils/UnitTestHelper.java | 16 +-
.../apache/metron/test/utils/ValidationUtils.java | 15 +-
.../apache/metron/writer/BatchSizePolicyTest.java | 10 +-
.../metron/writer/BatchTimeoutPolicyTest.java | 8 +-
.../metron/writer/BulkWriterComponentTest.java | 39 +-
.../org/apache/metron/writer/NoopWriterTest.java | 16 +-
.../hbase/SimpleHBaseEnrichmentWriterTest.java | 127 ++-
.../metron/writer/kafka/KafkaWriterTest.java | 31 +-
.../metron-writer/metron-writer-storm/pom.xml | 6 +
.../apache/metron/writer/AckTuplesPolicyTest.java | 36 +-
.../metron/writer/bolt/BatchTimeoutHelperTest.java | 4 +-
.../writer/bolt/BulkMessageWriterBoltTest.java | 29 +-
.../writer/hdfs/ClonedSyncPolicyCreatorTest.java | 12 +-
.../apache/metron/writer/hdfs/HdfsWriterTest.java | 114 +--
.../hdfs/PathExtensionFileNameFormatTest.java | 9 +-
.../metron/writer/hdfs/SourceHandlerTest.java | 22 +-
metron-platform/pom.xml | 18 +-
metron-stellar/pom.xml | 21 +-
metron-stellar/stellar-common/pom.xml | 24 +-
.../stellar/common/BaseStellarProcessorTest.java | 37 +-
.../common/CachingStellarProcessorTest.java | 12 +-
.../common/DefaultStellarStatefulExecutorTest.java | 19 +-
.../stellar/common/StellarArithmeticTest.java | 82 +-
.../stellar/common/StellarAssignmentTest.java | 26 +-
...tellarComparisonExpressionWithOperatorTest.java | 42 +-
.../metron/stellar/common/StellarCompilerTest.java | 112 ++-
.../common/StellarPredicateProcessorTest.java | 16 +-
.../stellar/common/encoding/EncodingsTest.java | 86 +-
.../common/evaluators/ArithmeticEvaluatorTest.java | 73 +-
...parisonExpressionWithOperatorEvaluatorTest.java | 45 +-
.../ComparisonOperatorsEvaluatorTest.java | 65 +-
.../evaluators/DoubleLiteralEvaluatorTest.java | 32 +-
.../evaluators/EqualityOperatorsEvaluatorTest.java | 32 +-
.../evaluators/FloatLiteralEvaluatorTest.java | 37 +-
.../common/evaluators/IntLiteralEvaluatorTest.java | 37 +-
.../evaluators/LongLiteralEvaluatorTest.java | 42 +-
.../evaluators/NumberLiteralEvaluatorTest.java | 45 +-
.../common/network/NetworkFunctionsTest.java | 3 +-
.../shell/DefaultStellarAutoCompleterTest.java | 15 +-
.../shell/DefaultStellarShellExecutorTest.java | 17 +-
.../stellar/common/shell/StellarResultTest.java | 7 +-
.../cli/StellarShellOptionsValidatorTest.java | 159 ++--
.../stellar/common/shell/cli/StellarShellTest.java | 16 +-
.../shell/specials/AssignmentCommandTest.java | 17 +-
.../stellar/common/shell/specials/CommentTest.java | 14 +-
.../common/shell/specials/DocCommandTest.java | 8 +-
.../shell/specials/MagicDefineGlobalTest.java | 14 +-
.../shell/specials/MagicListFunctionsTest.java | 14 +-
.../shell/specials/MagicListGlobalsTest.java | 14 +-
.../shell/specials/MagicListVariablesTest.java | 14 +-
.../shell/specials/MagicUndefineGlobalTest.java | 14 +-
.../metron/stellar/common/system/ClockTest.java | 4 +-
.../stellar/common/utils/BloomFilterTest.java | 24 +-
.../metron/stellar/common/utils/ConcatMapTest.java | 11 +-
.../stellar/common/utils/ConversionUtilsTest.java | 13 +-
.../metron/stellar/common/utils/JSONUtilsTest.java | 16 +-
.../stellar/common/utils/SerDeUtilsTest.java | 9 +-
.../stellar/common/utils/UnitTestHelper.java | 6 +-
.../common/utils/hashing/DefaultHasherTest.java | 6 +-
.../stellar/dsl/functions/BasicStellarTest.java | 644 ++++++++-------
.../dsl/functions/ConversionFunctionsTest.java | 17 +-
.../dsl/functions/DataStructureFunctionsTest.java | 44 +-
.../stellar/dsl/functions/DateFunctionsTest.java | 48 +-
.../dsl/functions/EncodingFunctionsTest.java | 109 ++-
.../dsl/functions/FunctionalFunctionsTest.java | 153 ++--
.../stellar/dsl/functions/HashFunctionsTest.java | 101 ++-
.../metron/stellar/dsl/functions/MatchTest.java | 140 ++--
.../stellar/dsl/functions/MathFunctionsTest.java | 34 +-
.../dsl/functions/OrdinalFunctionsTest.java | 114 ++-
.../stellar/dsl/functions/RegExFunctionsTest.java | 68 +-
.../functions/RestFunctionsIntegrationTest.java | 101 ++-
.../stellar/dsl/functions/RestFunctionsTest.java | 33 +-
.../stellar/dsl/functions/SetFunctionsTest.java | 311 ++++----
.../stellar/dsl/functions/ShellFunctionsTest.java | 38 +-
.../stellar/dsl/functions/StringFunctionsTest.java | 376 +++++----
.../stellar/dsl/functions/SystemFunctionsTest.java | 4 +-
.../stellar/dsl/functions/TextFunctionsTest.java | 84 +-
.../resolver/BaseFunctionResolverTest.java | 31 +-
.../resolver/ClasspathFunctionResolverTest.java | 32 +-
.../resolver/SimpleFunctionResolverTest.java | 26 +-
.../org.mockito.plugins.MockMaker | 1 +
metron-stellar/stellar-zeppelin/pom.xml | 15 +-
.../zeppelin/StellarInterpreterPropertyTest.java | 4 +-
.../stellar/zeppelin/StellarInterpreterTest.java | 12 +-
.../StellarInterpreterIntegrationTest.java | 12 +-
pom.xml | 8 +-
447 files changed, 9644 insertions(+), 10623 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index a0d8d13..78cc5f7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -60,6 +60,7 @@ matrix:
- name: Verify Licenses
script:
+ - time mvn install -T 2C -q -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Dskip.npm
- time ./dev-utilities/build-utils/verify_licenses.sh
before_cache:
diff --git a/dependencies_with_url.csv b/dependencies_with_url.csv
index a716e48..1575454 100644
--- a/dependencies_with_url.csv
+++ b/dependencies_with_url.csv
@@ -50,6 +50,9 @@ javax.xml.bind:jaxb-api:jar:2.2.2:compile,CDDL,https://jaxb.dev.java.net/
javax.xml.bind:jaxb-api:jar:2.3.0:compile,CDDL,https://jaxb.dev.java.net/
javax.xml.stream:stax-api:jar:1.0-2:compile,COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0,https://docs.oracle.com/javase/7/docs/api/javax/xml/stream/package-summary.html
jline:jline:jar:0.9.94:compile,BSD,http://jline.sourceforge.net
+junit:junit:jar:3.8.1:compile,Common Public License Version 1.0,http://junit.org
+junit:junit:jar:4.10:compile,Common Public License Version 1.0,http://junit.org
+junit:junit:jar:4.11:compile,Common Public License Version 1.0,http://junit.org
junit:junit:jar:4.12:compile,Eclipse Public License 1.0,http://junit.org
net.razorvine:pyrolite:jar:4.13:compile,MIT,https://github.com/irmen/Pyrolite
net.sf.jopt-simple:jopt-simple:jar:3.2:compile,The MIT License,http://jopt-simple.sourceforge.net
@@ -77,7 +80,7 @@ org.jruby.joni:joni:jar:2.1.2:compile,MIT License,https://github.com/jruby/joni
org.lz4:lz4-java:jar:1.4.0:compile,ASLv2,https://github.com/lz4/lz4-java
org.mitre.taxii:taxii:jar:1.1.0.1:compile,The BSD 3-Clause License,https://github.com/TAXIIProject/java-taxii
org.mitre:stix:jar:1.2.0.2:compile,The BSD 3-Clause License,https://github.com/STIXProject/java-stix
-org.mockito:mockito-core:jar:1.10.19:compile,The MIT License,http://www.mockito.org
+org.mockito:mockito-core:jar:3.1.0:compile,The MIT License,http://www.mockito.org
org.roaringbitmap:RoaringBitmap:jar:0.5.11:compile,ASLv2,https://github.com/RoaringBitmap/RoaringBitmap
org.scala-lang:scala-library:jar:2.10.6:compile,BSD-like,http://www.scala-lang.org/
org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.4:compile,BSD-like,http://www.scala-lang.org/
@@ -503,3 +506,10 @@ org.elasticsearch:securesm:jar:1.2:compile
com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:compile,ASLv2,http://stephenc.github.io/jcip-annotations/
com.nimbusds:nimbus-jose-jwt:jar:4.41.2:compile,ASLv2,https://bitbucket.org/connect2id/nimbus-jose-jwt/wiki/Home
tomcat:jasper-compiler:jar:5.5.23:compile,ASLv2,https://tomcat.apache.org/
+org.apiguardian:apiguardian-api:jar:1.1.0:compile,ASLv2,https://github.com/apiguardian-team/apiguardian/blob/master/LICENSE
+org.junit.jupiter:junit-jupiter-api:jar:5.5.2:compile,EPL 2.0,https://junit.org
+org.junit.platform:junit-platform-engine:jar:1.5.2:compile,EPL 2.0,https://junit.org
+org.junit.platform:junit-platform-commons:jar:1.5.2:compile,EPL 2.0,https://junit.org
+net.bytebuddy:byte-buddy-agent:jar:1.9.10:compile,ASLv2,https://bytebuddy.net/
+net.bytebuddy:byte-buddy:jar:1.9.10:compile,ASLv2,https://bytebuddy.net/
+org.objenesis:objenesis:jar:2.6:compile,ASLv2,http://objenesis.org/license.html
\ No newline at end of file
diff --git a/metron-analytics/metron-maas-common/src/test/java/org/apache/metron/maas/discovery/ServiceDiscoveryIntegrationTest.java b/metron-analytics/metron-maas-common/src/test/java/org/apache/metron/maas/discovery/ServiceDiscoveryIntegrationTest.java
index 6eeb64a..4e0ddf7 100644
--- a/metron-analytics/metron-maas-common/src/test/java/org/apache/metron/maas/discovery/ServiceDiscoveryIntegrationTest.java
+++ b/metron-analytics/metron-maas-common/src/test/java/org/apache/metron/maas/discovery/ServiceDiscoveryIntegrationTest.java
@@ -29,21 +29,22 @@ import org.apache.curator.x.discovery.ServiceType;
import org.apache.metron.maas.config.Endpoint;
import org.apache.metron.maas.config.Model;
import org.apache.metron.maas.config.ModelEndpoint;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.net.URL;
import java.util.concurrent.atomic.AtomicInteger;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
public class ServiceDiscoveryIntegrationTest {
private TestingServer testZkServer;
private String zookeeperUrl;
private CuratorFramework client;
private ServiceDiscoverer discoverer;
- @Before
+ @BeforeEach
public void setup() throws Exception {
testZkServer = new TestingServer(true);
zookeeperUrl = testZkServer.getConnectString();
@@ -93,31 +94,31 @@ public class ServiceDiscoveryIntegrationTest {
//wait for zk to percolate the changes.
Thread.sleep(2000);
- Assert.assertEquals(3, discoverer.getEndpoints(new Model("casey", "3.14159")).size());
- Assert.assertEquals(1, discoverer.getEndpoints(new Model("casey", "3.1416")).size());
- Assert.assertEquals(0, discoverer.getEndpoints(new Model("casey", "3.17")).size());
+ assertEquals(3, discoverer.getEndpoints(new Model("casey", "3.14159")).size());
+ assertEquals(1, discoverer.getEndpoints(new Model("casey", "3.1416")).size());
+ assertEquals(0, discoverer.getEndpoints(new Model("casey", "3.17")).size());
discoverer.unregisterByContainer("1");
Thread.sleep(2000);
- Assert.assertEquals(2, discoverer.getEndpoints(new Model("casey", "3.14159")).size());
- Assert.assertEquals(1, discoverer.getEndpoints(new Model("casey", "3.1416")).size());
- Assert.assertEquals(0, discoverer.getEndpoints(new Model("casey", "3.17")).size());
+ assertEquals(2, discoverer.getEndpoints(new Model("casey", "3.14159")).size());
+ assertEquals(1, discoverer.getEndpoints(new Model("casey", "3.1416")).size());
+ assertEquals(0, discoverer.getEndpoints(new Model("casey", "3.17")).size());
- Assert.assertEquals(2, discoverer.listEndpoints(new Model("casey", null)).keySet().size());
- Assert.assertEquals(1, discoverer.listEndpoints(new Model("casey", "3.1416")).keySet().size());
- Assert.assertEquals(1, discoverer.listEndpoints(new Model("casey", "3.1416"))
+ assertEquals(2, discoverer.listEndpoints(new Model("casey", null)).keySet().size());
+ assertEquals(1, discoverer.listEndpoints(new Model("casey", "3.1416")).keySet().size());
+ assertEquals(1, discoverer.listEndpoints(new Model("casey", "3.1416"))
.get(new Model("casey", "3.1416")).size()
);
- Assert.assertEquals("4", discoverer.listEndpoints(new Model("casey", "3.1416"))
+ assertEquals("4", discoverer.listEndpoints(new Model("casey", "3.1416"))
.get(new Model("casey", "3.1416"))
.get(0)
.getContainerId()
);
- Assert.assertEquals(0, discoverer.listEndpoints(new Model("casey", "3.17")).keySet().size());
- Assert.assertEquals(0, discoverer.listEndpoints(new Model("dummy", null)).keySet().size());
+ assertEquals(0, discoverer.listEndpoints(new Model("casey", "3.17")).keySet().size());
+ assertEquals(0, discoverer.listEndpoints(new Model("dummy", null)).keySet().size());
}
- @After
+ @AfterEach
public void teardown() throws Exception {
if(discoverer != null) {
diff --git a/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/MaasIntegrationTest.java b/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/MaasIntegrationTest.java
index 8752850..fe87ea2 100644
--- a/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/MaasIntegrationTest.java
+++ b/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/MaasIntegrationTest.java
@@ -16,18 +16,9 @@
* limitations under the License.
*/
package org.apache.metron.maas.service;
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.InetAddress;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.logging.Level;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
-import org.apache.hadoop.fs.FileSystem;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.curator.RetryPolicy;
@@ -35,6 +26,7 @@ import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.util.Shell;
@@ -45,20 +37,30 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.metron.integration.ComponentRunner;
import org.apache.metron.integration.components.YarnComponent;
import org.apache.metron.integration.components.ZKServerComponent;
-import org.apache.metron.maas.discovery.ServiceDiscoverer;
import org.apache.metron.maas.config.MaaSConfig;
import org.apache.metron.maas.config.Model;
import org.apache.metron.maas.config.ModelEndpoint;
+import org.apache.metron.maas.discovery.ServiceDiscoverer;
import org.apache.metron.maas.queue.ZKQueue;
import org.apache.metron.maas.submit.ModelSubmission;
import org.apache.metron.maas.util.ConfigUtil;
import org.apache.metron.test.utils.UnitTestHelper;
import org.apache.zookeeper.KeeperException;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.*;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.InetAddress;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.logging.Level;
+
+import static org.junit.jupiter.api.Assertions.*;
public class MaasIntegrationTest {
private static final Log LOG =
@@ -68,7 +70,7 @@ public class MaasIntegrationTest {
private static YarnComponent yarnComponent;
private static ZKServerComponent zkServerComponent;
- @BeforeClass
+ @BeforeAll
public static void setupBeforeClass() throws Exception {
UnitTestHelper.setJavaLoggingLevel(Level.SEVERE);
LOG.info("Starting up YARN cluster");
@@ -90,7 +92,7 @@ public class MaasIntegrationTest {
client.start();
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass(){
if(client != null){
client.close();
@@ -98,17 +100,19 @@ public class MaasIntegrationTest {
runner.stop();
}
- @After
+ @AfterEach
public void tearDown() {
runner.reset();
}
- @Test(timeout=900000)
+ @Test
+ @Timeout(900000)
public void testMaaSWithDomain() throws Exception {
testDSShell(true);
}
- @Test(timeout=900000)
+ @Test
+ @Timeout(900000)
public void testMaaSWithoutDomain() throws Exception {
testDSShell(false);
}
@@ -154,7 +158,7 @@ public class MaasIntegrationTest {
LOG.info("Initializing DS Client");
final Client client = new Client(new Configuration(conf));
boolean initSuccess = client.init(args);
- Assert.assertTrue(initSuccess);
+ assertTrue(initSuccess);
LOG.info("Running DS Client");
final AtomicBoolean result = new AtomicBoolean(false);
Thread t = new Thread() {
@@ -198,7 +202,7 @@ public class MaasIntegrationTest {
break;
}
}
- Assert.assertTrue(errorMessage, verified);
+ assertTrue(verified, errorMessage);
FileSystem fs = FileSystem.get(conf);
try {
new ModelSubmission().execute(FileSystem.get(conf)
@@ -234,13 +238,13 @@ public class MaasIntegrationTest {
}
Thread.sleep(2000);
}
- Assert.assertTrue(passed);
+ assertTrue(passed);
}
{
List<ModelEndpoint> endpoints = discoverer.getEndpoints(new Model("dummy", "1.0"));
- Assert.assertNotNull(endpoints);
- Assert.assertEquals(1, endpoints.size());
+ assertNotNull(endpoints);
+ assertEquals(1, endpoints.size());
}
new ModelSubmission().execute(FileSystem.get(conf)
, new String[]{
@@ -266,7 +270,7 @@ public class MaasIntegrationTest {
}
Thread.sleep(2000);
}
- Assert.assertTrue(passed);
+ assertTrue(passed);
}
}
finally {
@@ -336,10 +340,8 @@ public class MaasIntegrationTest {
return true;
}
- Assert.assertTrue("Unknown format for hostname " + appHostname,
- appHostname.contains("/"));
- Assert.assertTrue("Unknown format for hostname " + hostname,
- hostname.contains("/"));
+ assertTrue(appHostname.contains("/"), "Unknown format for hostname " + appHostname);
+ assertTrue(hostname.contains("/"), "Unknown format for hostname " + hostname);
String[] appHostnameParts = appHostname.split("/");
String[] hostnameParts = hostname.split("/");
@@ -395,7 +397,7 @@ public class MaasIntegrationTest {
break;
}
}
- Assert.assertTrue(currentContainerLogFileIndex != -1);
+ assertTrue(currentContainerLogFileIndex != -1);
File[] containerFiles =
listOfFiles[currentContainerLogFileIndex].listFiles();
@@ -417,7 +419,7 @@ public class MaasIntegrationTest {
}
} else if (output.getName().trim().equals("stdout")){
if (! Shell.WINDOWS) {
- Assert.assertEquals("The current is" + sCurrentLine,
+ assertEquals("The current is" + sCurrentLine,
expectedContent.get(numOfline), sCurrentLine.trim());
numOfline++;
} else {
@@ -433,7 +435,7 @@ public class MaasIntegrationTest {
*/
if (Shell.WINDOWS && !count
&& output.getName().trim().equals("stdout")) {
- Assert.assertTrue(stdOutContent.containsAll(expectedContent));
+ assertTrue(stdOutContent.containsAll(expectedContent));
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/StellarMaaSIntegrationTest.java b/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/StellarMaaSIntegrationTest.java
index 4b95af5..c7067cb 100644
--- a/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/StellarMaaSIntegrationTest.java
+++ b/metron-analytics/metron-maas-service/src/test/java/org/apache/metron/maas/service/StellarMaaSIntegrationTest.java
@@ -28,14 +28,16 @@ import org.apache.curator.utils.CloseableUtils;
import org.apache.curator.x.discovery.ServiceInstance;
import org.apache.curator.x.discovery.ServiceInstanceBuilder;
import org.apache.curator.x.discovery.ServiceType;
-import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.maas.config.Endpoint;
import org.apache.metron.maas.config.MaaSConfig;
import org.apache.metron.maas.config.ModelEndpoint;
import org.apache.metron.maas.discovery.ServiceDiscoverer;
import org.apache.metron.maas.util.ConfigUtil;
+import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.test.utils.UnitTestHelper;
-import org.junit.*;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import java.net.URL;
import java.util.HashMap;
@@ -43,6 +45,7 @@ import java.util.Map;
import java.util.logging.Level;
import static org.apache.metron.stellar.common.utils.StellarProcessorUtils.run;
+import static org.junit.jupiter.api.Assertions.*;
public class StellarMaaSIntegrationTest {
private static Context context;
@@ -52,7 +55,7 @@ public class StellarMaaSIntegrationTest {
private static ServiceDiscoverer discoverer;
private static URL endpointUrl;
- @BeforeClass
+ @BeforeAll
public static void setup() throws Exception {
UnitTestHelper.setJavaLoggingLevel(WebApplicationImpl.class, Level.WARNING);
MockDGAModel.start(8282);
@@ -105,53 +108,53 @@ public class StellarMaaSIntegrationTest {
}
@Test
- public void testGetEndpointWithoutVersion() throws Exception {
+ public void testGetEndpointWithoutVersion() {
String stellar = "MAAS_GET_ENDPOINT('dga')";
Object result = run(stellar, new HashMap<>(), context);
- Assert.assertTrue(result instanceof Map);
+ assertTrue(result instanceof Map);
Map<String, String> resMap = (Map<String, String>)result;
- Assert.assertEquals(resMap.get("url"), "http://localhost:8282");
- Assert.assertEquals(resMap.get("name"), "dga");
- Assert.assertEquals(resMap.get("version"), "1.0");
- Assert.assertEquals(resMap.get("endpoint:apply"), "apply");
+ assertEquals(resMap.get("url"), "http://localhost:8282");
+ assertEquals(resMap.get("name"), "dga");
+ assertEquals(resMap.get("version"), "1.0");
+ assertEquals(resMap.get("endpoint:apply"), "apply");
}
@Test
- public void testGetEndpointWithVersion() throws Exception {
+ public void testGetEndpointWithVersion() {
String stellar = "MAAS_GET_ENDPOINT('dga', '1.0')";
Object result = run(stellar, new HashMap<>(), context);
- Assert.assertTrue(result instanceof Map);
+ assertTrue(result instanceof Map);
Map<String, String> resMap = (Map<String, String>)result;
- Assert.assertEquals(resMap.get("url"), "http://localhost:8282");
- Assert.assertEquals(resMap.get("name"), "dga");
- Assert.assertEquals(resMap.get("version"), "1.0");
- Assert.assertEquals(resMap.get("endpoint:apply"), "apply");
+ assertEquals(resMap.get("url"), "http://localhost:8282");
+ assertEquals(resMap.get("name"), "dga");
+ assertEquals(resMap.get("version"), "1.0");
+ assertEquals(resMap.get("endpoint:apply"), "apply");
}
@Test
- public void testGetEndpointWithWrongVersion() throws Exception {
+ public void testGetEndpointWithWrongVersion() {
String stellar = "MAAS_GET_ENDPOINT('dga', '2.0')";
Object result = run(stellar, new HashMap<>(), context);
- Assert.assertNull(result);
+ assertNull(result);
}
@Test
- public void testModelApply() throws Exception {
+ public void testModelApply() {
{
String stellar = "MAP_GET('is_malicious', MAAS_MODEL_APPLY(MAAS_GET_ENDPOINT('dga'), {'host': host}))";
Object result = run(stellar, ImmutableMap.of("host", "badguy.com"), context);
- Assert.assertTrue((Boolean) result);
+ assertTrue((Boolean) result);
}
{
String stellar = "MAP_GET('is_malicious', MAAS_MODEL_APPLY(MAAS_GET_ENDPOINT('dga'), {'host': host}))";
Object result = run(stellar, ImmutableMap.of("host", "youtube.com"), context);
- Assert.assertFalse((Boolean) result);
+ assertFalse((Boolean) result);
}
{
String stellar = "MAP_GET('is_malicious', MAAS_MODEL_APPLY(MAAS_GET_ENDPOINT('dga'), 'apply', {'host': host}))";
Object result = run(stellar, ImmutableMap.of("host", "youtube.com"), context);
- Assert.assertFalse((Boolean) result);
+ assertFalse((Boolean) result);
}
}
@@ -161,11 +164,11 @@ public class StellarMaaSIntegrationTest {
{
String stellar = "MAP_GET('is_malicious', MAAS_MODEL_APPLY(MAAS_GET_ENDPOINT('dga', '2.0'), {'host': host}))";
Object result = run(stellar, ImmutableMap.of("host", "youtube.com"), context);
- Assert.assertNull( result);
+ assertNull( result);
}
}
- @AfterClass
+ @AfterAll
public static void teardown() {
MockDGAModel.shutdown();
if(discoverer != null) {
diff --git a/metron-analytics/metron-profiler-client/pom.xml b/metron-analytics/metron-profiler-client/pom.xml
index 9335742..cfcbf4b 100644
--- a/metron-analytics/metron-profiler-client/pom.xml
+++ b/metron-analytics/metron-profiler-client/pom.xml
@@ -122,8 +122,7 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>${global_mockito_version}</version>
+ <artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/HBaseProfilerClientTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/HBaseProfilerClientTest.java
index c7ad11a..5b513ab 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/HBaseProfilerClientTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/HBaseProfilerClientTest.java
@@ -20,12 +20,6 @@
package org.apache.metron.profiler.client;
-import static org.junit.Assert.assertEquals;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.TimeUnit;
import org.apache.metron.hbase.mock.MockHBaseTableProvider;
import org.apache.metron.hbase.mock.MockHTable;
import org.apache.metron.profiler.ProfileMeasurement;
@@ -35,9 +29,16 @@ import org.apache.metron.profiler.hbase.SaltyRowKeyBuilder;
import org.apache.metron.profiler.hbase.ValueOnlyColumnBuilder;
import org.apache.metron.stellar.common.DefaultStellarStatefulExecutor;
import org.apache.metron.stellar.common.StellarStatefulExecutor;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* Tests the HBaseProfilerClient.
@@ -61,8 +62,8 @@ public class HBaseProfilerClientTest {
private MockHBaseTableProvider provider;
private ProfileWriter profileWriter;
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
provider = new MockHBaseTableProvider();
executor = new DefaultStellarStatefulExecutor();
MockHBaseTableProvider.addToCache(tableName, columnFamily);
@@ -78,13 +79,13 @@ public class HBaseProfilerClientTest {
tableName, null);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
((MockHTable) provider.getTable(null, tableName)).clear();
}
@Test
- public void Should_ReturnMeasurements_When_DataExistsForAGroup() throws Exception {
+ public void Should_ReturnMeasurements_When_DataExistsForAGroup() {
final String profile = "profile1";
final String entity = "entity1";
final int expectedValue = 2302;
@@ -129,7 +130,7 @@ public class HBaseProfilerClientTest {
}
@Test
- public void Should_ReturnResultFromGroup_When_MultipleGroupsExist() throws Exception {
+ public void Should_ReturnResultFromGroup_When_MultipleGroupsExist() {
final String profile = "profile1";
final String entity = "entity1";
final int periodsPerHour = 4;
@@ -181,7 +182,7 @@ public class HBaseProfilerClientTest {
}
@Test
- public void Should_ReturnNoResults_When_NoDataInStartToEnd() throws Exception {
+ public void Should_ReturnNoResults_When_NoDataInStartToEnd() {
final String profile = "profile1";
final String entity = "entity1";
final int hours = 2;
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/ProfileWriter.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/ProfileWriter.java
index c2fa4e7..ff9d56c 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/ProfileWriter.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/ProfileWriter.java
@@ -20,11 +20,6 @@
package org.apache.metron.profiler.client;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Function;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Durability;
@@ -39,6 +34,12 @@ import org.apache.metron.profiler.hbase.RowKeyBuilder;
import org.apache.metron.profiler.hbase.SaltyRowKeyBuilder;
import org.apache.metron.profiler.hbase.ValueOnlyColumnBuilder;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Function;
+
/**
* Writes ProfileMeasurement values that can be read during automated testing.
*/
@@ -99,7 +100,7 @@ public class ProfileWriter {
hbaseClient.mutate();
}
- public static void main(String[] args) throws Exception {
+ public static void main(String[] args) {
RowKeyBuilder rowKeyBuilder = new SaltyRowKeyBuilder();
ColumnBuilder columnBuilder = new ValueOnlyColumnBuilder();
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/GetProfileTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/GetProfileTest.java
index c9f7d21..c443d8f 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/GetProfileTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/GetProfileTest.java
@@ -20,20 +20,6 @@
package org.apache.metron.profiler.client.stellar;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_COLUMN_FAMILY;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE_PROVIDER;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD_UNITS;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_SALT_DIVISOR;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
import org.apache.hadoop.hbase.client.Table;
import org.apache.metron.hbase.mock.MockHBaseTableProvider;
import org.apache.metron.profiler.ProfileMeasurement;
@@ -48,9 +34,14 @@ import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.ParseException;
import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
import org.apache.metron.stellar.dsl.functions.resolver.SingletonFunctionResolver;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the GetProfile class.
@@ -80,12 +71,12 @@ public class GetProfileTest {
* actually does), and then reading that profile data (thereby testing the PROFILE_GET
* Stellar client implemented in GetProfile).
*
- * It runs at @Before time, and sets testclass global variables used by the writers and readers.
+ * It runs at @BeforeEach time, and sets testclass global variables used by the writers and readers.
* The various writers and readers are in each test case, not here.
*
* @return void
*/
- @Before
+ @BeforeEach
public void setup() {
state = new HashMap<>();
final Table table = MockHBaseTableProvider.addToCache(tableName, columnFamily);
@@ -122,7 +113,7 @@ public class GetProfileTest {
* and saltDivisor2, instead of periodDuration, periodUnits and saltDivisor respectively.
*
* This is used in the unit tests that test the config_overrides feature of PROFILE_GET.
- * In these tests, the context from @Before setup() is used to write the data, then the global
+ * In these tests, the context from @BeforeEach setup() is used to write the data, then the global
* context is changed to context2 (from this method). Each test validates that a default read
* using global context2 then gets no valid results (as expected), and that a read using
* original context values in the PROFILE_GET config_overrides argument gets all expected results.
@@ -187,8 +178,8 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
- result.forEach(actual -> Assert.assertEquals(expectedValue, actual.intValue()));
+ assertEquals(count, result.size());
+ result.forEach(actual -> assertEquals(expectedValue, actual.intValue()));
}
/**
@@ -219,15 +210,15 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
+ assertEquals(count, result.size());
// test the deprecated but allowed "varargs" form of groups specification
expr = "PROFILE_GET('profile1', 'entity1', PROFILE_FIXED(4, 'HOURS'), 'weekends')";
result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
- result.forEach(actual -> Assert.assertEquals(expectedValue, actual.intValue()));
+ assertEquals(count, result.size());
+ result.forEach(actual -> assertEquals(expectedValue, actual.intValue()));
}
/**
@@ -258,21 +249,21 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
+ assertEquals(count, result.size());
// test the deprecated but allowed "varargs" form of groups specification
expr = "PROFILE_GET('profile1', 'entity1', PROFILE_FIXED(4, 'HOURS'), 'weekdays', 'tuesday')";
result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
- result.forEach(actual -> Assert.assertEquals(expectedValue, actual.intValue()));
+ assertEquals(count, result.size());
+ result.forEach(actual -> assertEquals(expectedValue, actual.intValue()));
}
/**
* Initialization should fail if the required context values are missing.
*/
- @Test(expected = ParseException.class)
+ @Test
public void testMissingContext() {
Context empty = Context.EMPTY_CONTEXT();
@@ -284,7 +275,7 @@ public class GetProfileTest {
// validate - function should be unable to initialize
String expr = "PROFILE_GET('profile1', 'entity1', PROFILE_FIXED(1000, 'SECONDS'), groups)";
- run(expr, List.class);
+ assertThrows(ParseException.class, () -> run(expr, List.class));
}
/**
@@ -314,7 +305,7 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - there should be no values from only 4 seconds ago
- Assert.assertEquals(0, result.size());
+ assertEquals(0, result.size());
}
/**
@@ -327,7 +318,7 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to fail to read any values because we didn't write any.
- Assert.assertEquals(0, result.size());
+ assertEquals(0, result.size());
// execute - read the profile values - with config_override.
// first two override values are strings, third is deliberately a number.
@@ -342,8 +333,8 @@ public class GetProfileTest {
// validate - expect to read all values from the past 4 hours (16 or 17 values depending on start time)
// but they should all be the default value.
- Assert.assertTrue(result.size() == 16 || result.size() == 17);
- result.forEach(actual -> Assert.assertEquals(defaultVal, actual));
+ assertTrue(result.size() == 16 || result.size() == 17);
+ result.forEach(actual -> assertEquals(defaultVal, actual));
}
/**
@@ -370,8 +361,8 @@ public class GetProfileTest {
// validate it is changed in significant way
@SuppressWarnings("unchecked")
Map<String, Object> global = (Map<String, Object>) context2.getCapability(Context.Capabilities.GLOBAL_CONFIG).get();
- Assert.assertEquals(PROFILER_PERIOD.get(global), periodDuration2);
- Assert.assertNotEquals(periodDuration, periodDuration2);
+ assertEquals(PROFILER_PERIOD.get(global), periodDuration2);
+ assertNotEquals(periodDuration, periodDuration2);
// execute - read the profile values - with (wrong) default global config values.
// No error message at this time, but returns empty results list, because
@@ -381,7 +372,7 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to fail to read any values
- Assert.assertEquals(0, result.size());
+ assertEquals(0, result.size());
// execute - read the profile values - with config_override.
// first two override values are strings, third is deliberately a number.
@@ -393,8 +384,8 @@ public class GetProfileTest {
result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
- result.forEach(actual -> Assert.assertEquals(expectedValue, actual.intValue()));
+ assertEquals(count, result.size());
+ result.forEach(actual -> assertEquals(expectedValue, actual.intValue()));
}
/**
@@ -426,8 +417,8 @@ public class GetProfileTest {
// validate it is changed in significant way
@SuppressWarnings("unchecked")
Map<String, Object> global = (Map<String, Object>) context2.getCapability(Context.Capabilities.GLOBAL_CONFIG).get();
- Assert.assertEquals(global.get(PROFILER_PERIOD.getKey()), Long.toString(periodDuration2));
- Assert.assertNotEquals(periodDuration, periodDuration2);
+ assertEquals(global.get(PROFILER_PERIOD.getKey()), Long.toString(periodDuration2));
+ assertNotEquals(periodDuration, periodDuration2);
// execute - read the profile values - with config_override.
// first two override values are strings, third is deliberately a number.
@@ -441,7 +432,7 @@ public class GetProfileTest {
List<Integer> result = run(expr, List.class);
// validate - expect to read all values from the past 4 hours
- Assert.assertEquals(count, result.size());
+ assertEquals(count, result.size());
// execute - read the profile values - with (wrong) default global config values.
// No error message at this time, but returns empty results list, because
@@ -450,6 +441,6 @@ public class GetProfileTest {
result = run(expr, List.class);
// validate - expect to fail to read any values
- Assert.assertEquals(0, result.size());
+ assertEquals(0, result.size());
}
}
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/IntervalPredicateTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/IntervalPredicateTest.java
index 8a0ea62..ae387b6 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/IntervalPredicateTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/IntervalPredicateTest.java
@@ -20,14 +20,14 @@
package org.apache.metron.profiler.client.stellar;
import org.apache.commons.lang3.Range;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
public class IntervalPredicateTest {
@Test
public void testBasicTest() {
@@ -37,11 +37,11 @@ public class IntervalPredicateTest {
add(Range.between(40L, 50L));
}};
IntervalPredicate<Long> predicate = new IntervalPredicate.Identity(intervals);
- Assert.assertTrue(predicate.test(0L));
- Assert.assertTrue(predicate.test(10L));
- Assert.assertTrue(predicate.test(5L));
- Assert.assertFalse(predicate.test(51L));
- Assert.assertFalse(predicate.test(15L));
+ assertTrue(predicate.test(0L));
+ assertTrue(predicate.test(10L));
+ assertTrue(predicate.test(5L));
+ assertFalse(predicate.test(51L));
+ assertFalse(predicate.test(15L));
}
@Test
@@ -52,14 +52,14 @@ public class IntervalPredicateTest {
add(Range.between(40L, 50L));
}};
IntervalPredicate<Long> predicate = new IntervalPredicate.Identity(intervals);
- Assert.assertTrue(predicate.test(0L));
- Assert.assertTrue(predicate.test(5L));
- Assert.assertTrue(predicate.test(30L));
- Assert.assertTrue(predicate.test(10L));
- Assert.assertFalse(predicate.test(51L));
- Assert.assertTrue(predicate.test(15L));
- Assert.assertFalse(predicate.test(31L));
- Assert.assertTrue(predicate.test(45L));
+ assertTrue(predicate.test(0L));
+ assertTrue(predicate.test(5L));
+ assertTrue(predicate.test(30L));
+ assertTrue(predicate.test(10L));
+ assertFalse(predicate.test(51L));
+ assertTrue(predicate.test(15L));
+ assertFalse(predicate.test(31L));
+ assertTrue(predicate.test(45L));
}
@Test
@@ -68,11 +68,11 @@ public class IntervalPredicateTest {
add(Range.between(0L, 10L));
}};
IntervalPredicate<Long> predicate = new IntervalPredicate.Identity(intervals);
- Assert.assertTrue(predicate.test(0L));
- Assert.assertTrue(predicate.test(5L));
- Assert.assertTrue(predicate.test(10L));
- Assert.assertFalse(predicate.test(51L));
- Assert.assertFalse(predicate.test(15L));
+ assertTrue(predicate.test(0L));
+ assertTrue(predicate.test(5L));
+ assertTrue(predicate.test(10L));
+ assertFalse(predicate.test(51L));
+ assertFalse(predicate.test(15L));
}
@Test
@@ -81,9 +81,9 @@ public class IntervalPredicateTest {
add(Range.between(10L, 10L));
}};
IntervalPredicate<Long> predicate = new IntervalPredicate.Identity(intervals);
- Assert.assertFalse(predicate.test(0L));
- Assert.assertFalse(predicate.test(5L));
- Assert.assertTrue(predicate.test(10L));
- Assert.assertFalse(predicate.test(11L));
+ assertFalse(predicate.test(0L));
+ assertFalse(predicate.test(5L));
+ assertTrue(predicate.test(10L));
+ assertFalse(predicate.test(11L));
}
}
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/VerboseProfileTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/VerboseProfileTest.java
index ee02bd5..1a96460 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/VerboseProfileTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/VerboseProfileTest.java
@@ -20,26 +20,6 @@
package org.apache.metron.profiler.client.stellar;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_COLUMN_FAMILY;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE_PROVIDER;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD_UNITS;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_SALT_DIVISOR;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.ENTITY_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.GROUPS_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.PERIOD_END_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.PERIOD_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.PERIOD_START_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.PROFILE_KEY;
-import static org.apache.metron.profiler.client.stellar.VerboseProfile.VALUE_KEY;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
import org.apache.hadoop.hbase.client.Table;
import org.apache.metron.hbase.TableProvider;
import org.apache.metron.hbase.mock.MockHBaseTableProvider;
@@ -53,9 +33,15 @@ import org.apache.metron.stellar.common.DefaultStellarStatefulExecutor;
import org.apache.metron.stellar.common.StellarStatefulExecutor;
import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.*;
+import static org.apache.metron.profiler.client.stellar.VerboseProfile.*;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the VerboseProfile class.
@@ -76,7 +62,7 @@ public class VerboseProfileTest {
private Map<String, Object> globals;
- @Before
+ @BeforeEach
public void setup() {
state = new HashMap<>();
final Table table = MockHBaseTableProvider.addToCache(tableName, columnFamily);
@@ -128,15 +114,15 @@ public class VerboseProfileTest {
// expect to see all values over the past 4 hours
List<Map<String, Object>> results;
results = run("PROFILE_VERBOSE('profile1', 'entity1', PROFILE_FIXED(4, 'HOURS'))", List.class);
- Assert.assertEquals(count, results.size());
+ assertEquals(count, results.size());
for(Map<String, Object> actual: results) {
- Assert.assertEquals("profile1", actual.get(PROFILE_KEY));
- Assert.assertEquals("entity1", actual.get(ENTITY_KEY));
- Assert.assertNotNull(actual.get(PERIOD_KEY));
- Assert.assertNotNull(actual.get(PERIOD_START_KEY));
- Assert.assertNotNull(actual.get(PERIOD_END_KEY));
- Assert.assertNotNull(actual.get(GROUPS_KEY));
- Assert.assertEquals(expectedValue, actual.get(VALUE_KEY));
+ assertEquals("profile1", actual.get(PROFILE_KEY));
+ assertEquals("entity1", actual.get(ENTITY_KEY));
+ assertNotNull(actual.get(PERIOD_KEY));
+ assertNotNull(actual.get(PERIOD_START_KEY));
+ assertNotNull(actual.get(PERIOD_END_KEY));
+ assertNotNull(actual.get(GROUPS_KEY));
+ assertEquals(expectedValue, actual.get(VALUE_KEY));
}
}
@@ -162,15 +148,15 @@ public class VerboseProfileTest {
// expect to see all values over the past 4 hours for the group
List<Map<String, Object>> results;
results = run("PROFILE_VERBOSE('profile1', 'entity1', PROFILE_FIXED(4, 'HOURS'), groups)", List.class);
- Assert.assertEquals(count, results.size());
+ assertEquals(count, results.size());
for(Map<String, Object> actual: results) {
- Assert.assertEquals("profile1", actual.get(PROFILE_KEY));
- Assert.assertEquals("entity1", actual.get(ENTITY_KEY));
- Assert.assertNotNull(actual.get(PERIOD_KEY));
- Assert.assertNotNull(actual.get(PERIOD_START_KEY));
- Assert.assertNotNull(actual.get(PERIOD_END_KEY));
- Assert.assertNotNull(actual.get(GROUPS_KEY));
- Assert.assertEquals(expectedValue, actual.get(VALUE_KEY));
+ assertEquals("profile1", actual.get(PROFILE_KEY));
+ assertEquals("entity1", actual.get(ENTITY_KEY));
+ assertNotNull(actual.get(PERIOD_KEY));
+ assertNotNull(actual.get(PERIOD_START_KEY));
+ assertNotNull(actual.get(PERIOD_END_KEY));
+ assertNotNull(actual.get(GROUPS_KEY));
+ assertEquals(expectedValue, actual.get(VALUE_KEY));
}
}
@@ -191,7 +177,7 @@ public class VerboseProfileTest {
// expect to get NO measurements over the past 4 seconds
List<Map<String, Object>> result;
result = run("PROFILE_VERBOSE('profile1', 'entity1', PROFILE_FIXED(4, 'SECONDS'))", List.class);
- Assert.assertEquals(0, result.size());
+ assertEquals(0, result.size());
}
@Test
@@ -205,17 +191,17 @@ public class VerboseProfileTest {
List<Map<String, Object>> results = run(expr, List.class);
// expect to get the default value instead of no results
- Assert.assertTrue(results.size() == 16 || results.size() == 17);
+ assertTrue(results.size() == 16 || results.size() == 17);
for(Map<String, Object> actual: results) {
- Assert.assertEquals("profile1", actual.get(PROFILE_KEY));
- Assert.assertEquals("entity1", actual.get(ENTITY_KEY));
- Assert.assertNotNull(actual.get(PERIOD_KEY));
- Assert.assertNotNull(actual.get(PERIOD_START_KEY));
- Assert.assertNotNull(actual.get(PERIOD_END_KEY));
- Assert.assertNotNull(actual.get(GROUPS_KEY));
+ assertEquals("profile1", actual.get(PROFILE_KEY));
+ assertEquals("entity1", actual.get(ENTITY_KEY));
+ assertNotNull(actual.get(PERIOD_KEY));
+ assertNotNull(actual.get(PERIOD_START_KEY));
+ assertNotNull(actual.get(PERIOD_END_KEY));
+ assertNotNull(actual.get(GROUPS_KEY));
// expect the default value
- Assert.assertEquals(defaultVal, actual.get(VALUE_KEY));
+ assertEquals(defaultVal, actual.get(VALUE_KEY));
}
}
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/WindowLookbackTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/WindowLookbackTest.java
index df6235f..ea4d65b 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/WindowLookbackTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/stellar/WindowLookbackTest.java
@@ -20,27 +20,28 @@
package org.apache.metron.profiler.client.stellar;
import org.apache.commons.lang3.Range;
+import org.apache.metron.profiler.ProfilePeriod;
+import org.apache.metron.profiler.client.window.WindowProcessor;
+import org.apache.metron.stellar.common.StellarProcessor;
import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.DefaultVariableResolver;
import org.apache.metron.stellar.dsl.ParseException;
import org.apache.metron.stellar.dsl.functions.resolver.FunctionResolver;
import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
-import org.apache.metron.stellar.common.StellarProcessor;
-import org.apache.metron.profiler.ProfilePeriod;
-import org.apache.metron.profiler.client.window.WindowProcessor;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
+import static org.junit.jupiter.api.Assertions.*;
+
public class WindowLookbackTest {
static FunctionResolver resolver;
static Context context;
- @BeforeClass
+ @BeforeAll
public static void setup() {
resolver = new SimpleFunctionResolver()
.withClass(GetProfile.class)
@@ -52,7 +53,7 @@ public class WindowLookbackTest {
}
@Test
- public void testSpecifyingConfig() throws Exception {
+ public void testSpecifyingConfig() {
//we should be able to specify the config and have it take hold. If we change the
//profile duration to 1 minute instead of 15 minutes (the default), then we should see
//the correct number of profiles.
@@ -62,7 +63,7 @@ public class WindowLookbackTest {
config.put(ProfilerClientConfig.PROFILER_PERIOD.getKey(), 1);
State state = test("1 hour", new Date(), Optional.of(config), Assertions.NOT_EMPTY, Assertions.CONTIGUOUS);
- Assert.assertEquals(TimeUnit.HOURS.toMillis(1) / durationMs, state.periods.size());
+ assertEquals(TimeUnit.HOURS.toMillis(1) / durationMs, state.periods.size());
}
@Test
@@ -75,41 +76,46 @@ public class WindowLookbackTest {
, resolver
, context
);
- Assert.assertEquals(TimeUnit.HOURS.toMillis(1) / getDurationMs(), periods.size());
+ assertEquals(TimeUnit.HOURS.toMillis(1) / getDurationMs(), periods.size());
}
@Test
- public void testDenseLookback() throws Exception {
+ public void testDenseLookback() {
State state = test("1 hour", Assertions.NOT_EMPTY, Assertions.CONTIGUOUS);
- Assert.assertEquals(TimeUnit.HOURS.toMillis(1) / getDurationMs(), state.periods.size());
+ assertEquals(TimeUnit.HOURS.toMillis(1) / getDurationMs(), state.periods.size());
}
@Test
- public void testShiftedDenseLookback() throws Exception {
+ public void testShiftedDenseLookback() {
State state = test("from 2 hours ago to 30 minutes ago", Assertions.NOT_EMPTY
, Assertions.CONTIGUOUS
, Assertions.INTERVALS_CONTAIN_ALL_PERIODS
);
- Assert.assertEquals(TimeUnit.MINUTES.toMillis(90) / getDurationMs(), state.periods.size());
+ assertEquals(TimeUnit.MINUTES.toMillis(90) / getDurationMs(), state.periods.size());
}
@Test
- public void testShiftedSparseLookback() throws Exception {
+ public void testShiftedSparseLookback() {
State state = test("30 minute window every 1 hour from 2 hours ago to 30 minutes ago", Assertions.NOT_EMPTY
, Assertions.DISCONTIGUOUS
, Assertions.INTERVALS_CONTAIN_ALL_PERIODS
);
- Assert.assertEquals(TimeUnit.MINUTES.toMillis(60) / getDurationMs(), state.periods.size());
+ assertEquals(TimeUnit.MINUTES.toMillis(60) / getDurationMs(), state.periods.size());
}
@Test
- public void testEmptyDueToExclusions() throws Exception {
+ public void testEmptyDueToExclusions() {
test("30 minute window every 24 hours from 7 days ago including saturdays excluding weekends", Assertions.EMPTY);
}
- @Test(expected= ParseException.class)
- public void testErrorInSelector() throws Exception {
- test("30 minute idow every 24 hours from 7 days ago including saturdays excluding weekends", Assertions.EMPTY);
+ @Test
+ public void testErrorInSelector() {
+ assertThrows(
+ ParseException.class,
+ () ->
+ test(
+ "30 minute idow every 24 hours from 7 days ago including saturdays excluding weekends",
+ Assertions.EMPTY));
}
long getDurationMs() {
@@ -141,7 +147,7 @@ public class WindowLookbackTest {
);
State state = new State(windowIntervals, periods);
for(Assertions assertion : assertions) {
- Assert.assertTrue(assertion.name(), assertion.test(state));
+ assertTrue(assertion.test(state), assertion.name());
}
return state;
}
diff --git a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/window/WindowProcessorTest.java b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/window/WindowProcessorTest.java
index 1b8d55d..d0960bf 100644
--- a/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/window/WindowProcessorTest.java
+++ b/metron-analytics/metron-profiler-client/src/test/java/org/apache/metron/profiler/client/window/WindowProcessorTest.java
@@ -20,8 +20,7 @@
package org.apache.metron.profiler.client.window;
import org.apache.commons.lang3.Range;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -29,6 +28,9 @@ import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
/**
* On any test case where we explicitly include or exclude days of the week, in 24hr periods,
* we need to understand that on Daylight Savings Time (DST) transition weekends,
@@ -48,9 +50,9 @@ public class WindowProcessorTest {
Window w = WindowProcessor.process(text);
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(1, intervals.size());
- Assert.assertEquals(now.getTime(), (long)intervals.get(0).getMaximum());
- Assert.assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(1), (long)intervals.get(0).getMinimum());
+ assertEquals(1, intervals.size());
+ assertEquals(now.getTime(), (long)intervals.get(0).getMaximum());
+ assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(1), (long)intervals.get(0).getMinimum());
}
}
@@ -69,9 +71,9 @@ public class WindowProcessorTest {
*/
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(1, intervals.size());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(2), intervals.get(0).getMinimum());
- assertEquals(now.getTime() - TimeUnit.MINUTES.toMillis(30), intervals.get(0).getMaximum());
+ assertEquals(1, intervals.size());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(2), intervals.get(0).getMinimum());
+ assertTimeEquals(now.getTime() - TimeUnit.MINUTES.toMillis(30), intervals.get(0).getMaximum());
}
}
@@ -93,7 +95,7 @@ public class WindowProcessorTest {
*/
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(2, intervals.size());
+ assertEquals(2, intervals.size());
assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(2), intervals.get(0).getMinimum());
assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(2) + TimeUnit.MINUTES.toMillis(30), intervals.get(0).getMaximum());
assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(1), intervals.get(1).getMinimum());
@@ -114,16 +116,16 @@ public class WindowProcessorTest {
*/
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(3, intervals.size());
+ assertEquals(3, intervals.size());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(3), intervals.get(0).getMinimum());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(3) + TimeUnit.MINUTES.toMillis(30), intervals.get(0).getMaximum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(3), intervals.get(0).getMinimum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(3) + TimeUnit.MINUTES.toMillis(30), intervals.get(0).getMaximum());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(2), intervals.get(1).getMinimum());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(2) + TimeUnit.MINUTES.toMillis(30), intervals.get(1).getMaximum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(2), intervals.get(1).getMinimum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(2) + TimeUnit.MINUTES.toMillis(30), intervals.get(1).getMaximum());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(1), intervals.get(2).getMinimum());
- assertEquals(now.getTime() - TimeUnit.HOURS.toMillis(1) + TimeUnit.MINUTES.toMillis(30), intervals.get(2).getMaximum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(1), intervals.get(2).getMinimum());
+ assertTimeEquals(now.getTime() - TimeUnit.HOURS.toMillis(1) + TimeUnit.MINUTES.toMillis(30), intervals.get(2).getMaximum());
}
@Test
@@ -138,7 +140,7 @@ public class WindowProcessorTest {
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(2, intervals.size());
+ assertEquals(2, intervals.size());
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago including this day of the week");
@@ -150,7 +152,7 @@ public class WindowProcessorTest {
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(2, intervals.size());
+ assertEquals(2, intervals.size());
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago");
@@ -161,29 +163,29 @@ public class WindowProcessorTest {
*/
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(14, intervals.size());
+ assertEquals(14, intervals.size());
}
}
@Test
- public void testRepeatWithConflictingExclusionInclusion() throws ParseException {
+ public void testRepeatWithConflictingExclusionInclusion() {
Window w = WindowProcessor.process("30 minute window every 24 hours from 7 days ago including saturdays excluding weekends");
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(0, intervals.size());
+ assertEquals(0, intervals.size());
}
@Test
- public void testRepeatWithWeekendExclusion() throws ParseException {
+ public void testRepeatWithWeekendExclusion() {
Window w = WindowProcessor.process("30 minute window every 24 hours from 7 days ago excluding weekends");
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(5, intervals.size());
+ assertEquals(5, intervals.size());
}
@Test
@@ -193,7 +195,7 @@ public class WindowProcessorTest {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(1, intervals.size());
+ assertEquals(1, intervals.size());
}
@Test
@@ -203,7 +205,7 @@ public class WindowProcessorTest {
Date now = new Date();
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(56, intervals.size());
+ assertEquals(56, intervals.size());
}
{
Window w = WindowProcessor.process("1 hour window every 24 hours starting from 56 days ago including this day of the week");
@@ -211,7 +213,7 @@ public class WindowProcessorTest {
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(8, intervals.size());
+ assertEquals(8, intervals.size());
}
}
@@ -222,7 +224,7 @@ public class WindowProcessorTest {
Date now = new Date();
now.setHours(6); //avoid DST impacts if near Midnight
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(2, intervals.size());
+ assertEquals(2, intervals.size());
}
@Test
@@ -232,21 +234,21 @@ public class WindowProcessorTest {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(13, intervals.size());
+ assertEquals(13, intervals.size());
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago excluding holidays:us:nyc");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(13, intervals.size());
+ assertEquals(13, intervals.size());
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago excluding holidays:us");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/08/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(14, intervals.size());
+ assertEquals(14, intervals.size());
}
}
@@ -262,66 +264,80 @@ public class WindowProcessorTest {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(1, intervals.size());
+ assertEquals(1, intervals.size());
Date includedDate = new Date(intervals.get(0).getMinimum());
SimpleDateFormat equalityFormat = new SimpleDateFormat("yyyyMMdd");
- Assert.assertEquals("20171225", equalityFormat.format(includedDate));
+ assertEquals("20171225", equalityFormat.format(includedDate));
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago excluding date:2017/12/25");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(13, intervals.size());
+ assertEquals(13, intervals.size());
}
{
Window w = WindowProcessor.process("30 minute window every 24 hours from 14 days ago including date:2017/12/25, date:2017/12/24");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Date now = sdf.parse("2017/12/26 12:00");
List<Range<Long>> intervals = w.toIntervals(now.getTime());
- Assert.assertEquals(2, intervals.size());
+ assertEquals(2, intervals.size());
{
Date includedDate = new Date(intervals.get(0).getMinimum());
SimpleDateFormat equalityFormat = new SimpleDateFormat("yyyyMMdd");
- Assert.assertEquals("20171224", equalityFormat.format(includedDate));
+ assertEquals("20171224", equalityFormat.format(includedDate));
}
{
Date includedDate = new Date(intervals.get(1).getMinimum());
SimpleDateFormat equalityFormat = new SimpleDateFormat("yyyyMMdd");
- Assert.assertEquals("20171225", equalityFormat.format(includedDate));
+ assertEquals("20171225", equalityFormat.format(includedDate));
}
}
}
- @Test(expected=org.apache.metron.stellar.dsl.ParseException.class)
- public void testWithInvalidDaySpecifier() throws ParseException {
- WindowProcessor.process("30 minute window every 24 hours from 14 days ago excluding hoolidays:us");
+ @Test
+ public void testWithInvalidDaySpecifier() {
+ assertThrows(
+ org.apache.metron.stellar.dsl.ParseException.class,
+ () ->
+ WindowProcessor.process(
+ "30 minute window every 24 hours from 14 days ago excluding hoolidays:us"));
}
- @Test(expected=org.apache.metron.stellar.dsl.ParseException.class)
- public void testWithInvalidTimeUnit() throws ParseException {
- WindowProcessor.process("30 minute window every 24 months from 14 days ago");
+ @Test
+ public void testWithInvalidTimeUnit() {
+ assertThrows(
+ org.apache.metron.stellar.dsl.ParseException.class,
+ () -> WindowProcessor.process("30 minute window every 24 months from 14 days ago"));
}
- @Test(expected=org.apache.metron.stellar.dsl.ParseException.class)
- public void testWithInvalidWindowUnit() throws ParseException {
- WindowProcessor.process("30 minuete window every 24 hours from 14 days ago");
+ @Test
+ public void testWithInvalidWindowUnit() {
+ assertThrows(
+ org.apache.metron.stellar.dsl.ParseException.class,
+ () -> WindowProcessor.process("30 minuete window every 24 hours from 14 days ago"));
}
- @Test(expected=org.apache.metron.stellar.dsl.ParseException.class)
- public void testWithInvalidTimeNumber() throws ParseException {
- WindowProcessor.process("30p minute window every 24 hours from 14 days ago");
+ @Test
+ public void testWithInvalidTimeNumber() {
+ assertThrows(
+ org.apache.metron.stellar.dsl.ParseException.class,
+ () -> WindowProcessor.process("30p minute window every 24 hours from 14 days ago"));
}
- @Test(expected=org.apache.metron.stellar.dsl.ParseException.class)
- public void testInvalidDaySpecifier() throws ParseException {
- WindowProcessor.process("30 minute window every 14 hours from 14 days ago including date");
+ @Test
+ public void testInvalidDaySpecifier() {
+ assertThrows(
+ org.apache.metron.stellar.dsl.ParseException.class,
+ () ->
+ WindowProcessor.process(
+ "30 minute window every 14 hours from 14 days ago including date"));
}
- private static void assertEquals(long expected, long actual) {
+ private static void assertTimeEquals(long expected, long actual) {
long diff = expected - actual;
long diffInMinutes = TimeUnit.MILLISECONDS.toMinutes(diff);
String message = expected + " - " + actual + " = " + diffInMinutes + " minutes off.";
- Assert.assertEquals(message, expected, actual);
+ assertEquals(expected, actual, message);
}
}
diff --git a/metron-analytics/metron-profiler-common/pom.xml b/metron-analytics/metron-profiler-common/pom.xml
index 13d5abe..fed349e 100644
--- a/metron-analytics/metron-profiler-common/pom.xml
+++ b/metron-analytics/metron-profiler-common/pom.xml
@@ -79,8 +79,26 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>${global_mockito_version}</version>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.adrianwalker</groupId>
+ <artifactId>multiline-string</artifactId>
+ <version>0.1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageDistributorTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageDistributorTest.java
index cf11eb7..eb64bb7 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageDistributorTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageDistributorTest.java
@@ -27,15 +27,15 @@ import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.stellar.dsl.Context;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.util.concurrent.TimeUnit.*;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class DefaultMessageDistributorTest {
@@ -89,7 +89,7 @@ public class DefaultMessageDistributorTest {
private long profileTimeToLiveMillis = MINUTES.toMillis(30);
private long maxNumberOfRoutes = Long.MAX_VALUE;
- @Before
+ @BeforeEach
public void setup() throws Exception {
context = Context.EMPTY_CONTEXT();
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageRouterTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageRouterTest.java
index f583c30..474ba01 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageRouterTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultMessageRouterTest.java
@@ -25,13 +25,13 @@ import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.stellar.dsl.Context;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.util.List;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class DefaultMessageRouterTest {
@@ -214,7 +214,7 @@ public class DefaultMessageRouterTest {
return JSONUtils.INSTANCE.load(json, ProfilerConfig.class);
}
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.router = new DefaultMessageRouter(Context.EMPTY_CONTEXT());
this.context = Context.EMPTY_CONTEXT();
@@ -303,7 +303,7 @@ public class DefaultMessageRouterTest {
*/
@Test
public void testMessageWithTimestamp() throws Exception {
- List<MessageRoute> routes = router.route(messageWithTimestamp, createConfig(profileWithEventTime), context);;
+ List<MessageRoute> routes = router.route(messageWithTimestamp, createConfig(profileWithEventTime), context);
assertEquals(1, routes.size());
MessageRoute route1 = routes.get(0);
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultProfileBuilderTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultProfileBuilderTest.java
index 3d0b4cc..47840c9 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultProfileBuilderTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/DefaultProfileBuilderTest.java
@@ -26,16 +26,14 @@ import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.stellar.dsl.Context;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import static org.apache.metron.stellar.common.utils.ConversionUtils.convert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the ProfileBuilder class.
@@ -51,12 +49,12 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String input;
+ private static String input;
private JSONObject message;
private ProfileBuilder builder;
private ProfileConfig definition;
- @Before
+ @BeforeEach
public void setup() throws Exception {
message = (JSONObject) new JSONParser().parse(input);
}
@@ -73,7 +71,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testInitProfile;
+ private static String testInitProfile;
/**
* Ensure that the 'init' block is executed correctly.
@@ -141,7 +139,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testUpdateProfile;
+ private static String testUpdateProfile;
/**
* Ensure that the 'update' expressions are executed for each message applied to the profile.
@@ -185,7 +183,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testResultProfile;
+ private static String testResultProfile;
/**
* Ensure that the result expression is executed on a flush.
@@ -264,7 +262,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testGroupByProfile;
+ private static String testGroupByProfile;
/**
* Ensure that the 'groupBy' expression is executed correctly.
@@ -303,7 +301,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testStateAvailableToGroupBy;
+ private static String testStateAvailableToGroupBy;
/**
* The 'groupBy' expression should be able to reference information about the profile including
@@ -330,12 +328,12 @@ public class DefaultProfileBuilderTest {
// validate all values that should be accessible by the groupBy expression(s)
assertEquals(6, m.get().getGroups().size());
- assertEquals("invalid profile", "test-profile", m.get().getGroups().get(0));
- assertEquals("invalid entity", "10.0.0.1", m.get().getGroups().get(1));
- assertEquals("invalid start", period.getStartTimeMillis(), m.get().getGroups().get(2));
- assertEquals("invalid end", period.getEndTimeMillis(), m.get().getGroups().get(3));
- assertEquals("invalid duration", period.getDurationMillis(), m.get().getGroups().get(4));
- assertEquals("invalid result", 100, m.get().getGroups().get(5));
+ assertEquals("test-profile", m.get().getGroups().get(0), "invalid profile");
+ assertEquals("10.0.0.1", m.get().getGroups().get(1), "invalid entity");
+ assertEquals(period.getStartTimeMillis(), m.get().getGroups().get(2), "invalid start");
+ assertEquals(period.getEndTimeMillis(), m.get().getGroups().get(3), "invalid end");
+ assertEquals(period.getDurationMillis(), m.get().getGroups().get(4), "invalid duration");
+ assertEquals(100, m.get().getGroups().get(5), "invalid result");
}
/**
@@ -354,7 +352,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testFlushProfile;
+ private static String testFlushProfile;
@Test
public void testFlushDoesNotClearsState() throws Exception {
@@ -409,7 +407,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testFlushProfileWithNaiveInit;
+ private static String testFlushProfileWithNaiveInit;
@Test
public void testFlushDoesNotClearsStateButInitDoes() throws Exception {
@@ -456,7 +454,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testEntityProfile;
+ private static String testEntityProfile;
/**
* Ensure that the entity is correctly set on the resulting profile measurements.
@@ -497,7 +495,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testResultWithProfileExpression;
+ private static String testResultWithProfileExpression;
/**
* Ensure that the result expression is executed on a flush.
@@ -541,7 +539,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String testResultWithTriageExpression;
+ private static String testResultWithTriageExpression;
/**
* Ensure that the result expression is executed on a flush.
@@ -581,7 +579,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badInitProfile;
+ private static String badInitProfile;
@Test
public void testBadInitExpression() throws Exception {
@@ -612,7 +610,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badSimpleResultProfile;
+ private static String badSimpleResultProfile;
@Test
public void testBadResultExpression() throws Exception {
@@ -643,7 +641,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badGroupByProfile;
+ private static String badGroupByProfile;
@Test
public void testBadGroupByExpression() throws Exception {
@@ -678,7 +676,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badResultProfile;
+ private static String badResultProfile;
@Test
public void testBadResultProfileExpression() throws Exception {
@@ -713,7 +711,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badResultTriage;
+ private static String badResultTriage;
@Test
public void testBadResultTriageExpression() throws Exception {
@@ -743,7 +741,7 @@ public class DefaultProfileBuilderTest {
* }
*/
@Multiline
- private String badUpdateProfile;
+ private static String badUpdateProfile;
/**
* If the 'init' expression succeeds, but the 'update' fails, the profile should still flush. We cannot
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfileMeasurementTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfileMeasurementTest.java
index b25e694..6865de8 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfileMeasurementTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfileMeasurementTest.java
@@ -25,9 +25,8 @@ import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.configuration.profiler.ProfileConfig;
-import org.apache.metron.common.utils.SerDeUtils;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -36,9 +35,7 @@ import java.io.ObjectOutputStream;
import java.util.Collections;
import java.util.concurrent.TimeUnit;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
public class ProfileMeasurementTest {
@@ -61,7 +58,7 @@ public class ProfileMeasurementTest {
private ProfileConfig definition;
private ProfileMeasurement measurement;
- @Before
+ @BeforeEach
public void setup() throws Exception {
definition = ProfileConfig.fromJSON(profile);
measurement = new ProfileMeasurement()
@@ -78,7 +75,7 @@ public class ProfileMeasurementTest {
* occurs when the Profiler is running in Storm.
*/
@Test
- public void testKryoSerialization() throws Exception {
+ public void testKryoSerialization() {
assertNotNull(measurement);
Kryo kryo = new Kryo();
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
index afb6299..e4779bc 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/ProfilePeriodTest.java
@@ -23,8 +23,7 @@ package org.apache.metron.profiler;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
-import org.apache.metron.common.utils.SerDeUtils;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -33,9 +32,7 @@ import java.io.ObjectOutputStream;
import java.util.concurrent.TimeUnit;
import java.util.stream.IntStream;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the ProfilePeriod class.
@@ -128,11 +125,11 @@ public class ProfilePeriodTest {
});
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testPeriodDurationOfZero() {
long duration = 0;
TimeUnit units = TimeUnit.HOURS;
- ProfilePeriod.fromTimestamp(0, duration, units);
+ assertThrows(IllegalArgumentException.class, () -> ProfilePeriod.fromTimestamp(0, duration, units));
}
/**
@@ -140,7 +137,7 @@ public class ProfilePeriodTest {
* occurs when the Profiler is running in Storm.
*/
@Test
- public void testKryoSerialization() throws Exception {
+ public void testKryoSerialization() {
ProfilePeriod expected = ProfilePeriod.fromTimestamp(AUG2016, 1, TimeUnit.HOURS);
Kryo kryo = new Kryo();
@@ -203,9 +200,11 @@ public class ProfilePeriodTest {
assertEquals(expected, actual);
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testWithNegativePeriodId() {
- ProfilePeriod.fromPeriodId(-1, 1, TimeUnit.HOURS);
+ assertThrows(
+ IllegalArgumentException.class, () -> ProfilePeriod.fromPeriodId(-1, 1, TimeUnit.HOURS)
+ );
}
/**
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/DefaultClockFactoryTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/DefaultClockFactoryTest.java
index c99b401..4887df8 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/DefaultClockFactoryTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/DefaultClockFactoryTest.java
@@ -19,14 +19,14 @@
*/
package org.apache.metron.profiler.clock;
-import static org.junit.Assert.assertTrue;
-
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* Tests the DefaultClockFactory.
*/
@@ -37,7 +37,7 @@ public class DefaultClockFactoryTest {
*/
private DefaultClockFactory clockFactory;
- @Before
+ @BeforeEach
public void setup() {
clockFactory = new DefaultClockFactory();
}
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeClockTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeClockTest.java
index 0397250..ad825d6 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeClockTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeClockTest.java
@@ -20,13 +20,11 @@
package org.apache.metron.profiler.clock;
import org.json.simple.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
public class EventTimeClockTest {
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeOnlyClockFactoryTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeOnlyClockFactoryTest.java
index f1d4114..035dc87 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeOnlyClockFactoryTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/EventTimeOnlyClockFactoryTest.java
@@ -20,13 +20,14 @@
package org.apache.metron.profiler.clock;
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* Tests the {@link EventTimeOnlyClockFactory}.
@@ -35,7 +36,7 @@ public class EventTimeOnlyClockFactoryTest {
private EventTimeOnlyClockFactory clockFactory;
- @Before
+ @BeforeEach
public void setup() {
clockFactory = new EventTimeOnlyClockFactory();
}
@@ -51,11 +52,10 @@ public class EventTimeOnlyClockFactoryTest {
assertTrue(clock instanceof EventTimeClock);
}
- @Test(expected = IllegalStateException.class)
+ @Test
public void testCreateProcessingTimeClock() {
// the profiler uses processing time by default
ProfilerConfig config = new ProfilerConfig();
- clockFactory.createClock(config);
- fail("Expected exception");
+ assertThrows(IllegalStateException.class, () -> clockFactory.createClock(config));
}
}
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/WallClockTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/WallClockTest.java
index 76b2d7b..d34326c 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/WallClockTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/clock/WallClockTest.java
@@ -20,11 +20,11 @@
package org.apache.metron.profiler.clock;
import org.json.simple.JSONObject;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class WallClockTest {
diff --git a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/hbase/SaltyRowKeyBuilderTest.java b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/hbase/SaltyRowKeyBuilderTest.java
index f39659b..7deade7 100644
--- a/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/hbase/SaltyRowKeyBuilderTest.java
+++ b/metron-analytics/metron-profiler-common/src/test/java/org/apache/metron/profiler/hbase/SaltyRowKeyBuilderTest.java
@@ -20,23 +20,22 @@
package org.apache.metron.profiler.hbase;
-import java.nio.charset.StandardCharsets;
import org.apache.metron.profiler.ProfileMeasurement;
import org.apache.metron.profiler.ProfilePeriod;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.Formatter;
import java.util.List;
import java.util.concurrent.TimeUnit;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.IsEqual.equalTo;
-import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
/**
* Tests the SaltyRowKeyBuilder.
@@ -53,10 +52,10 @@ public class SaltyRowKeyBuilderTest {
/**
* Thu, Aug 25 2016 13:27:10 GMT
*/
- private long AUG2016 = 1472131630748L;
+ private static final long AUG2016 = 1472131630748L;
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
// a profile measurement
measurement = new ProfileMeasurement()
@@ -71,9 +70,9 @@ public class SaltyRowKeyBuilderTest {
* Build a row key that includes only one group.
*/
@Test
- public void testRowKeyWithOneGroup() throws Exception {
+ public void testRowKeyWithOneGroup() {
// setup
- measurement.withGroups(Arrays.asList("group1"));
+ measurement.withGroups(Collections.singletonList("group1"));
// the expected row key
ByteBuffer buffer = ByteBuffer
@@ -90,14 +89,14 @@ public class SaltyRowKeyBuilderTest {
// validate
byte[] actual = rowKeyBuilder.rowKey(measurement);
- Assert.assertTrue(Arrays.equals(expected, actual));
+ assertArrayEquals(expected, actual);
}
/**
* Build a row key that includes two groups.
*/
@Test
- public void testRowKeyWithTwoGroups() throws Exception {
+ public void testRowKeyWithTwoGroups() {
// setup
measurement.withGroups(Arrays.asList("group1","group2"));
@@ -117,16 +116,16 @@ public class SaltyRowKeyBuilderTest {
// validate
byte[] actual = rowKeyBuilder.rowKey(measurement);
- Assert.assertTrue(Arrays.equals(expected, actual));
+ assertArrayEquals(expected, actual);
}
/**
* Build a row key that includes a single group that is an integer.
*/
@Test
- public void testRowKeyWithOneIntegerGroup() throws Exception {
+ public void testRowKeyWithOneIntegerGroup() {
// setup
- measurement.withGroups(Arrays.asList(200));
+ measurement.withGroups(Collections.singletonList(200));
// the expected row key
ByteBuffer buffer = ByteBuffer
@@ -143,14 +142,14 @@ public class SaltyRowKeyBuilderTest {
// validate
byte[] actual = rowKeyBuilder.rowKey(measurement);
- Assert.assertTrue(Arrays.equals(expected, actual));
+ assertArrayEquals(expected, actual);
}
/**
* Build a row key that includes a single group that is an integer.
*/
@Test
- public void testRowKeyWithMixedGroups() throws Exception {
+ public void testRowKeyWithMixedGroups() {
// setup
measurement.withGroups(Arrays.asList(200, "group1"));
@@ -170,14 +169,14 @@ public class SaltyRowKeyBuilderTest {
// validate
byte[] actual = rowKeyBuilder.rowKey(measurement);
- Assert.assertTrue(Arrays.equals(expected, actual));
+ assertArrayEquals(expected, actual);
}
/**
* Build a row key that does not include any groups.
*/
@Test
- public void testRowKeyWithNoGroup() throws Exception {
+ public void testRowKeyWithNoGroup() {
// setup
measurement.withGroups(Collections.emptyList());
@@ -195,14 +194,14 @@ public class SaltyRowKeyBuilderTest {
// validate
byte[] actual = rowKeyBuilder.rowKey(measurement);
- Assert.assertTrue(Arrays.equals(expected, actual));
+ assertArrayEquals(expected, actual);
}
/**
* `rowKeys` should return all of the row keys needed to retrieve the profile values over a given time horizon.
*/
@Test
- public void testRowKeys() throws Exception {
+ public void testRowKeys() {
int hoursAgo = 1;
// setup
@@ -244,13 +243,4 @@ public class SaltyRowKeyBuilderTest {
assertThat(actual, equalTo(expected));
}
}
-
- private void printBytes(byte[] bytes) {
- StringBuilder sb = new StringBuilder(bytes.length * 2);
- Formatter formatter = new Formatter(sb);
- for (byte b : bytes) {
- formatter.format("%02x ", b);
- }
- System.out.println(sb.toString());
- }
}
diff --git a/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/ProfilerFunctionsTest.java b/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/ProfilerFunctionsTest.java
index 6cf34b0..a2fabfa 100644
--- a/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/ProfilerFunctionsTest.java
+++ b/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/ProfilerFunctionsTest.java
@@ -27,8 +27,8 @@ import org.apache.metron.stellar.dsl.ParseException;
import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Collections;
import java.util.HashMap;
@@ -37,9 +37,7 @@ import java.util.Map;
import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD;
import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD_UNITS;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the ProfilerFunctions class.
@@ -103,7 +101,7 @@ public class ProfilerFunctionsTest {
return executor.execute(expression, state, clazz);
}
- @Before
+ @BeforeEach
public void setup() {
state = new HashMap<>();
@@ -144,14 +142,16 @@ public class ProfilerFunctionsTest {
assertEquals(0, profiler.getRouteCount());
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerInitNoArgs() {
- run("PROFILER_INIT()", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_INIT()", StandAloneProfiler.class));
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerInitInvalidArg() {
- run("PROFILER_INIT({ \"invalid\": 2 })", StandAloneProfiler.class);
+ assertThrows(
+ ParseException.class,
+ () -> run("PROFILER_INIT({ \"invalid\": 2 })", StandAloneProfiler.class));
}
@Test
@@ -272,17 +272,17 @@ public class ProfilerFunctionsTest {
assertEquals(0, profiler.getRouteCount());
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerApplyWithNoArgs() {
- run("PROFILER_APPLY()", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_APPLY()", StandAloneProfiler.class));
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerApplyWithInvalidArg() {
- run("PROFILER_APPLY(undefined)", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_APPLY(undefined)", StandAloneProfiler.class));
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerApplyWithNullMessage() {
// initialize the profiler
@@ -291,7 +291,7 @@ public class ProfilerFunctionsTest {
state.put("profiler", profiler);
// there is no 'messages' variable - should throw exception
- run("PROFILER_APPLY(messages, profiler)", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_APPLY(messages, profiler)", StandAloneProfiler.class));
}
@Test
@@ -320,13 +320,13 @@ public class ProfilerFunctionsTest {
assertEquals(Collections.emptyList(), measurement.get("groups"));
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerFlushNoArgs() {
- run("PROFILER_FLUSH()", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_FLUSH()", StandAloneProfiler.class));
}
- @Test(expected = ParseException.class)
+ @Test
public void testProfilerFlushInvalidArg() {
- run("PROFILER_FLUSH(undefined)", StandAloneProfiler.class);
+ assertThrows(ParseException.class, () -> run("PROFILER_FLUSH(undefined)", StandAloneProfiler.class));
}
}
diff --git a/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/StandAloneProfilerTest.java b/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/StandAloneProfilerTest.java
index 8c63a75..b6f18a1 100644
--- a/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/StandAloneProfilerTest.java
+++ b/metron-analytics/metron-profiler-repl/src/test/java/org/apache/metron/profiler/repl/StandAloneProfilerTest.java
@@ -18,7 +18,6 @@
*/
package org.apache.metron.profiler.repl;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
import org.apache.metron.common.utils.JSONUtils;
@@ -26,17 +25,18 @@ import org.apache.metron.profiler.ProfileMeasurement;
import org.apache.metron.stellar.dsl.Context;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Tests the StandAloneProfiler class.
@@ -104,7 +104,7 @@ public class StandAloneProfilerTest {
private Context context = Context.EMPTY_CONTEXT();
- @Before
+ @BeforeEach
public void setup() throws Exception {
// parse the input message
diff --git a/metron-analytics/metron-profiler-spark/pom.xml b/metron-analytics/metron-profiler-spark/pom.xml
index 284c174..4d3076f 100644
--- a/metron-analytics/metron-profiler-spark/pom.xml
+++ b/metron-analytics/metron-profiler-spark/pom.xml
@@ -151,6 +151,18 @@
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/BatchProfilerIntegrationTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/BatchProfilerIntegrationTest.java
index 1e9f32b..bb292ff 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/BatchProfilerIntegrationTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/BatchProfilerIntegrationTest.java
@@ -19,6 +19,30 @@
*/
package org.apache.metron.profiler.spark;
+import static org.apache.metron.common.configuration.profiler.ProfilerConfig.fromJSON;
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_COLUMN_FAMILY;
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE;
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE_PROVIDER;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_COLUMN_FAMILY;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_TABLE_NAME;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_TABLE_PROVIDER;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_BEGIN;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_END;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_FORMAT;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_PATH;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_READER;
+import static org.apache.metron.profiler.spark.reader.TelemetryReaders.JSON;
+import static org.apache.metron.profiler.spark.reader.TelemetryReaders.ORC;
+import static org.apache.metron.profiler.spark.reader.TelemetryReaders.PARQUET;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+
+import java.lang.invoke.MethodHandles;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.hbase.mock.MockHBaseTableProvider;
import org.apache.metron.profiler.client.stellar.FixedLookback;
@@ -28,7 +52,6 @@ import org.apache.metron.statistics.StellarStatisticsFunctions;
import org.apache.metron.stellar.common.DefaultStellarStatefulExecutor;
import org.apache.metron.stellar.common.StellarStatefulExecutor;
import org.apache.metron.stellar.dsl.Context;
-import org.apache.metron.stellar.dsl.functions.ConversionFunctions;
import org.apache.metron.stellar.dsl.functions.DataStructureFunctions;
import org.apache.metron.stellar.dsl.functions.StringFunctions;
import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
@@ -36,41 +59,20 @@ import org.apache.spark.SparkConf;
import org.apache.spark.SparkException;
import org.apache.spark.sql.Encoders;
import org.apache.spark.sql.SparkSession;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.lang.invoke.MethodHandles;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static org.apache.metron.common.configuration.profiler.ProfilerConfig.fromJSON;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_COLUMN_FAMILY;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE_PROVIDER;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_COLUMN_FAMILY;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_TABLE_NAME;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_TABLE_PROVIDER;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_BEGIN;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_END;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_FORMAT;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_PATH;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_READER;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.JSON;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.ORC;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.PARQUET;
-import static org.junit.Assert.assertTrue;
-
/**
* An integration test for the {@link BatchProfiler}.
*/
+@EnableRuleMigrationSupport
public class BatchProfilerIntegrationTest {
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -82,7 +84,7 @@ public class BatchProfilerIntegrationTest {
@Rule
public TemporaryFolder tempFolder = new TemporaryFolder();
- @BeforeClass
+ @BeforeAll
public static void setupSpark() {
SparkConf conf = new SparkConf()
.setMaster("local")
@@ -94,14 +96,14 @@ public class BatchProfilerIntegrationTest {
.getOrCreate();
}
- @AfterClass
+ @AfterAll
public static void tearDownSpark() {
if(spark != null) {
spark.close();
}
}
- @Before
+ @BeforeEach
public void setup() {
readerProperties = new Properties();
profilerProperties = new Properties();
@@ -334,14 +336,22 @@ public class BatchProfilerIntegrationTest {
@Multiline
private static String invalidProfileJson;
- @Test(expected = SparkException.class)
- public void testBatchProfilerWithInvalidProfile() throws Exception {
+ @Test
+ public void testBatchProfilerWithInvalidProfile() {
profilerProperties.put(TELEMETRY_INPUT_READER.getKey(), JSON.toString());
profilerProperties.put(TELEMETRY_INPUT_PATH.getKey(), "src/test/resources/telemetry.json");
// the batch profiler should error out, if there is a bug in *any* of the profiles
BatchProfiler profiler = new BatchProfiler();
- profiler.run(spark, profilerProperties, getGlobals(), readerProperties, fromJSON(invalidProfileJson));
+ assertThrows(
+ SparkException.class,
+ () ->
+ profiler.run(
+ spark,
+ profilerProperties,
+ getGlobals(),
+ readerProperties,
+ fromJSON(invalidProfileJson)));
}
/**
@@ -390,7 +400,7 @@ public class BatchProfilerIntegrationTest {
* the data sketch is then retrieved and used to calculate the expected counts as part of the test
* case validation.
*/
-
+
// the 'window' looks up to 5 hours before the max timestamp, which in the test data is around July 7, 2018
assign("maxTimestamp", "1530978728982L");
assign("window", "PROFILE_WINDOW('from 5 hours ago', maxTimestamp)");
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/TimestampParserTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/TimestampParserTest.java
index f760b35..5c35e88 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/TimestampParserTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/TimestampParserTest.java
@@ -19,22 +19,19 @@
package org.apache.metron.profiler.spark;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.time.format.DateTimeParseException;
import java.util.Optional;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.*;
public class TimestampParserTest {
private TimestampParser parser;
- @Before
+ @BeforeEach
public void setup() {
parser = new TimestampParser();
}
@@ -59,9 +56,8 @@ public class TimestampParserTest {
assertEquals(1322907330000L, millis.get().longValue());
}
- @Test(expected = DateTimeParseException.class)
+ @Test
public void testInvalidFormat() {
- parser.parse("1537502400000");
- fail("Expected exception");
+ assertThrows(DateTimeParseException.class, () -> parser.parse("1537502400000"));
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerCLITest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerCLITest.java
index 5be195a..9951f31 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerCLITest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerCLITest.java
@@ -21,7 +21,9 @@ package org.apache.metron.profiler.spark.cli;
import org.apache.commons.cli.MissingArgumentException;
import org.apache.commons.cli.MissingOptionException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* Tests the {@link BatchProfilerCLI} class.
@@ -32,56 +34,56 @@ public class BatchProfilerCLITest {
* The user must provide a Profiler configuration that defines the 'timestampField'. The
* Batch Profiler only operates using event time, not processing time.
*/
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void mustDefineTimestampField() throws Exception {
String[] args = new String[] {
"--profiles", "src/test/resources/profiles-no-timestamp-field.json"
};
- BatchProfilerCLI.main(args);
+ assertThrows(IllegalArgumentException.class, () -> BatchProfilerCLI.main(args));
}
/**
* The user must define the -p, --profiles, -z, --zookeeper options.
* The Profiler cannot work without profiles.
*/
- @Test(expected = MissingOptionException.class)
- public void mustDefineProfilesOption() throws Exception {
+ @Test
+ public void mustDefineProfilesOption() {
String[] args = new String[] {};
- BatchProfilerCLI.main(args);
+ assertThrows(MissingOptionException.class, () -> BatchProfilerCLI.main(args));
}
/**
* The user must define one of -p, --profiles, -z, --zookeeper options.
*/
- @Test(expected = IllegalArgumentException.class)
- public void mustDefineOnlyOneProfilesOption() throws Exception {
+ @Test
+ public void mustDefineOnlyOneProfilesOption() {
String[] args = new String[] {
"--profiles", "src/test/resources/profiles-no-timestamp-field.json",
"--zookeeper", "node1:2181"
};
- BatchProfilerCLI.main(args);
+ assertThrows(IllegalArgumentException.class, () -> BatchProfilerCLI.main(args));
}
/**
* If a timestamp option is given, it must contain a field name
*/
- @Test(expected = MissingArgumentException.class)
- public void mustDefineFieldnametoGoWithTimestamp() throws Exception {
+ @Test
+ public void mustDefineFieldnametoGoWithTimestamp() {
String[] args = new String[] {
"--timestampfield"
};
- BatchProfilerCLI.main(args);
+ assertThrows(MissingArgumentException.class, () -> BatchProfilerCLI.main(args));
}
/**
* If the profile definition contains no valid profiles, we have a problem.
*/
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void mustDefineProfiles() throws Exception {
String[] args = new String[] {
"--profiles", "src/test/resources/profiles-empty.json"
};
- BatchProfilerCLI.main(args);
+ assertThrows(IllegalArgumentException.class, () -> BatchProfilerCLI.main(args));
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerZKIntegrationTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerZKIntegrationTest.java
index d77e775..7b5faf1 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerZKIntegrationTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/cli/BatchProfilerZKIntegrationTest.java
@@ -23,11 +23,13 @@ import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.configuration.ConfigurationsUtils;
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
import org.apache.metron.integration.TestZKServer;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
public class BatchProfilerZKIntegrationTest {
/**
* {
@@ -58,7 +60,7 @@ public class BatchProfilerZKIntegrationTest {
final ProfilerConfig profiles = BatchProfilerCLI.readProfileFromZK(zkClient);
// compare expected values
- Assert.assertEquals("Profile read from zookeeper has changes", expectedProfileConfig, profiles);
+ assertEquals(expectedProfileConfig, profiles, "Profile read from zookeeper has changes");
});
}
@@ -76,7 +78,7 @@ public class BatchProfilerZKIntegrationTest {
final ProfilerConfig profiles = BatchProfilerCLI.readProfileFromZK(zkClient);
// compare expected values
- Assert.assertNotEquals("Profile zookeeper integration test fails to detect change", expectedProfileConfig, profiles);
+ assertNotEquals(expectedProfileConfig, profiles, "Profile zookeeper integration test fails to detect change");
});
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/GroupByPeriodFunctionTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/GroupByPeriodFunctionTest.java
index 78960c4..6f41e11 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/GroupByPeriodFunctionTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/GroupByPeriodFunctionTest.java
@@ -23,12 +23,13 @@ import org.apache.metron.common.configuration.profiler.ProfileConfig;
import org.apache.metron.profiler.MessageRoute;
import org.apache.metron.profiler.ProfilePeriod;
import org.json.simple.JSONObject;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
public class GroupByPeriodFunctionTest {
/**
@@ -55,9 +56,9 @@ public class GroupByPeriodFunctionTest {
String groupKey = new GroupByPeriodFunction(new Properties()).call(route);
// should be able to extract the profile, entity and period from the group key
- Assert.assertEquals("my-profile-name", GroupByPeriodFunction.profileFromKey(groupKey));
- Assert.assertEquals(entity, GroupByPeriodFunction.entityFromKey(groupKey));
- Assert.assertEquals(periodId, GroupByPeriodFunction.periodFromKey(groupKey));
+ assertEquals("my-profile-name", GroupByPeriodFunction.profileFromKey(groupKey));
+ assertEquals(entity, GroupByPeriodFunction.entityFromKey(groupKey));
+ assertEquals(periodId, GroupByPeriodFunction.periodFromKey(groupKey));
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/HBaseWriterFunctionTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/HBaseWriterFunctionTest.java
index a54c9bf..290c635 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/HBaseWriterFunctionTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/HBaseWriterFunctionTest.java
@@ -25,9 +25,8 @@ import org.apache.metron.hbase.mock.MockHBaseTableProvider;
import org.apache.metron.profiler.ProfileMeasurement;
import org.apache.metron.statistics.OnlineStatisticsProvider;
import org.json.simple.JSONObject;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Iterator;
@@ -37,12 +36,13 @@ import java.util.concurrent.TimeUnit;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_COLUMN_FAMILY;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.HBASE_TABLE_NAME;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class HBaseWriterFunctionTest {
Properties profilerProperties;
- @Before
+ @BeforeEach
public void setup() {
profilerProperties = getProfilerProperties();
@@ -72,8 +72,8 @@ public class HBaseWriterFunctionTest {
// validate the result
List<Integer> counts = IteratorUtils.toList(results);
- Assert.assertEquals(1, counts.size());
- Assert.assertEquals(1, counts.get(0).intValue());
+ assertEquals(1, counts.size());
+ assertEquals(1, counts.get(0).intValue());
}
@Test
@@ -96,8 +96,8 @@ public class HBaseWriterFunctionTest {
// validate the result
List<Integer> counts = IteratorUtils.toList(results);
- Assert.assertEquals(1, counts.size());
- Assert.assertEquals(10, counts.get(0).intValue());
+ assertEquals(1, counts.size());
+ assertEquals(10, counts.get(0).intValue());
}
@Test
@@ -115,8 +115,8 @@ public class HBaseWriterFunctionTest {
// validate the result
List<Integer> counts = IteratorUtils.toList(results);
- Assert.assertEquals(1, counts.size());
- Assert.assertEquals(0, counts.get(0).intValue());
+ assertEquals(1, counts.size());
+ assertEquals(0, counts.get(0).intValue());
}
/**
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/MessageRouterFunctionTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/MessageRouterFunctionTest.java
index 9a2cbf4..307f5cc 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/MessageRouterFunctionTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/MessageRouterFunctionTest.java
@@ -24,14 +24,12 @@ import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.configuration.profiler.ProfileConfig;
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
import org.apache.metron.profiler.MessageRoute;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* Tests the {@link MessageRouterFunction}.
@@ -63,16 +61,13 @@ public class MessageRouterFunctionTest {
Iterator<MessageRoute> iter = function.call(goodMessage);
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(1, routes.size());
- Assert.assertEquals("profile1", routes.get(0).getProfileDefinition().getProfile());
+ assertEquals(1, routes.size());
+ assertEquals("profile1", routes.get(0).getProfileDefinition().getProfile());
}
- @Test(expected = IllegalStateException.class)
- public void testWithSystemTime() throws Exception {
- MessageRouterFunction function = new MessageRouterFunction(profileWithSystemTime(), getGlobals());
- Iterator<MessageRoute> iter = function.call(goodMessage);
-
- Assert.fail("Exception expected as system time is not supported.");
+ @Test
+ public void testWithSystemTime() {
+ assertThrows(IllegalStateException.class, () -> new MessageRouterFunction(profileWithSystemTime(), getGlobals()));
}
@Test
@@ -82,7 +77,7 @@ public class MessageRouterFunctionTest {
// an invalid message should return no routes
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(0, routes.size());
+ assertEquals(0, routes.size());
}
@Test
@@ -91,9 +86,9 @@ public class MessageRouterFunctionTest {
Iterator<MessageRoute> iter = function.call(goodMessage);
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(2, routes.size());
- Assert.assertEquals("profile1", routes.get(0).getProfileDefinition().getProfile());
- Assert.assertEquals("profile2", routes.get(1).getProfileDefinition().getProfile());
+ assertEquals(2, routes.size());
+ assertEquals("profile1", routes.get(0).getProfileDefinition().getProfile());
+ assertEquals("profile2", routes.get(1).getProfileDefinition().getProfile());
}
@Test
@@ -103,7 +98,7 @@ public class MessageRouterFunctionTest {
// with no timestamp, the message should be ignored
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(0, routes.size());
+ assertEquals(0, routes.size());
}
@Test
@@ -114,7 +109,7 @@ public class MessageRouterFunctionTest {
// the message should be filtered because it is before `beginAt`
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(0, routes.size());
+ assertEquals(0, routes.size());
}
@Test
@@ -125,7 +120,7 @@ public class MessageRouterFunctionTest {
// the message should NOT be filtered because it is after 'beginAt'
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(1, routes.size());
+ assertEquals(1, routes.size());
}
@Test
@@ -136,7 +131,7 @@ public class MessageRouterFunctionTest {
// the message should be filtered because it is after 'endAt'
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(0, routes.size());
+ assertEquals(0, routes.size());
}
@Test
@@ -147,7 +142,7 @@ public class MessageRouterFunctionTest {
// the message should NOT be filtered because it is before 'endAt'
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(1, routes.size());
+ assertEquals(1, routes.size());
}
@Test
@@ -159,7 +154,7 @@ public class MessageRouterFunctionTest {
// the message should be filtered because it is outside of [beginAt, endAt]
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(0, routes.size());
+ assertEquals(0, routes.size());
}
@Test
@@ -171,7 +166,7 @@ public class MessageRouterFunctionTest {
// the message should NOT be filtered because it is after 'endAt'
List<MessageRoute> routes = Lists.newArrayList(iter);
- Assert.assertEquals(1, routes.size());
+ assertEquals(1, routes.size());
}
/**
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/ProfileBuilderFunctionTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/ProfileBuilderFunctionTest.java
index 9e2a37f..a94bf26 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/ProfileBuilderFunctionTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/ProfileBuilderFunctionTest.java
@@ -19,14 +19,11 @@
*/
package org.apache.metron.profiler.spark.function;
-import org.adrianwalker.multilinestring.Multiline;
-import org.apache.metron.common.configuration.profiler.ProfileConfig;
-import org.apache.metron.profiler.MessageRoute;
-import org.apache.metron.profiler.ProfileMeasurement;
-import org.apache.metron.profiler.ProfilePeriod;
-import org.json.simple.JSONObject;
-import org.junit.Assert;
-import org.junit.Test;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.PERIOD_DURATION;
+import static org.apache.metron.profiler.spark.BatchProfilerConfig.PERIOD_DURATION_UNITS;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
import java.util.ArrayList;
import java.util.Collections;
@@ -34,9 +31,13 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
-
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.PERIOD_DURATION;
-import static org.apache.metron.profiler.spark.BatchProfilerConfig.PERIOD_DURATION_UNITS;
+import org.adrianwalker.multilinestring.Multiline;
+import org.apache.metron.common.configuration.profiler.ProfileConfig;
+import org.apache.metron.profiler.MessageRoute;
+import org.apache.metron.profiler.ProfileMeasurement;
+import org.apache.metron.profiler.ProfilePeriod;
+import org.json.simple.JSONObject;
+import org.junit.jupiter.api.Test;
public class ProfileBuilderFunctionTest {
@@ -62,7 +63,7 @@ public class ProfileBuilderFunctionTest {
// setup the route
MessageRoute route = new MessageRoute(profile, entity, message, timestamp);
- List<MessageRoute> routes = new ArrayList();
+ List<MessageRoute> routes = new ArrayList<>();
routes.add(route);
routes.add(route);
routes.add(route);
@@ -78,10 +79,10 @@ public class ProfileBuilderFunctionTest {
ProfileMeasurement measurement = function.call("profile1-192.168.1.1-0", routes.iterator());
// validate the measurement
- Assert.assertEquals(entity, measurement.getEntity());
- Assert.assertEquals(profile.getProfile(), measurement.getProfileName());
- Assert.assertEquals(routes.size(), measurement.getProfileValue());
- Assert.assertEquals(expectedPeriod.getPeriod(), (long) measurement.getPeriod().getPeriod());
+ assertEquals(entity, measurement.getEntity());
+ assertEquals(profile.getProfile(), measurement.getProfileName());
+ assertEquals(routes.size(), measurement.getProfileValue());
+ assertEquals(expectedPeriod.getPeriod(), (long) measurement.getPeriod().getPeriod());
}
/**
@@ -96,7 +97,7 @@ public class ProfileBuilderFunctionTest {
@Multiline
private static String invalidProfileJson;
- @Test(expected = IllegalStateException.class)
+ @Test
public void shouldThrowExceptionIfInvalidProfile() throws Exception {
// setup the message and profile
JSONObject message = getMessage();
@@ -106,7 +107,7 @@ public class ProfileBuilderFunctionTest {
// setup the route
MessageRoute route = new MessageRoute(profile, entity, message, timestamp);
- List<MessageRoute> routes = new ArrayList();
+ List<MessageRoute> routes = new ArrayList<>();
routes.add(route);
routes.add(route);
routes.add(route);
@@ -114,9 +115,10 @@ public class ProfileBuilderFunctionTest {
// an exception should be thrown, if there is a bug in the profile definition
ProfileBuilderFunction function = new ProfileBuilderFunction(profilerProperties, getGlobals());
- function.call("profile1-192.168.1.1-0", routes.iterator());
+ assertThrows(IllegalStateException.class, () -> function.call("profile1-192.168.1.1-0", routes.iterator()));
}
+ @SuppressWarnings("unchecked")
private JSONObject getMessage() {
JSONObject message = new JSONObject();
message.put("ip_src_addr", "192.168.1.1");
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/ColumnEncodedTelemetryReaderTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/ColumnEncodedTelemetryReaderTest.java
index 0bcfb3f..f7f21cd 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/ColumnEncodedTelemetryReaderTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/ColumnEncodedTelemetryReaderTest.java
@@ -22,22 +22,24 @@ import org.apache.metron.profiler.spark.reader.TelemetryReaders;
import org.apache.spark.SparkConf;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.SparkSession;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.rules.TemporaryFolder;
import java.util.Properties;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_FORMAT;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_PATH;
+import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* Tests the {@link org.apache.metron.profiler.spark.reader.ColumnEncodedTelemetryReader} class.
*/
+@EnableRuleMigrationSupport
public class ColumnEncodedTelemetryReaderTest {
@Rule
@@ -46,7 +48,7 @@ public class ColumnEncodedTelemetryReaderTest {
private Properties profilerProperties;
private Properties readerProperties;
- @BeforeClass
+ @BeforeAll
public static void setupSpark() {
SparkConf conf = new SparkConf()
.setMaster("local")
@@ -58,14 +60,14 @@ public class ColumnEncodedTelemetryReaderTest {
.getOrCreate();
}
- @AfterClass
+ @AfterAll
public static void tearDownSpark() {
if(spark != null) {
spark.close();
}
}
- @Before
+ @BeforeEach
public void setup() {
readerProperties = new Properties();
profilerProperties = new Properties();
@@ -92,7 +94,7 @@ public class ColumnEncodedTelemetryReaderTest {
// there should be 100 valid JSON records
Dataset<String> telemetry = TelemetryReaders.COLUMNAR.read(spark, profilerProperties, readerProperties);
- Assert.assertEquals(100, telemetry.filter(new IsValidJSON()).count());
+ assertEquals(100, telemetry.filter(new IsValidJSON()).count());
}
@Test
@@ -113,6 +115,6 @@ public class ColumnEncodedTelemetryReaderTest {
// there should be 100 valid JSON records
Dataset<String> telemetry = TelemetryReaders.COLUMNAR.read(spark, profilerProperties, readerProperties);
- Assert.assertEquals(100, telemetry.filter(new IsValidJSON()).count());
+ assertEquals(100, telemetry.filter(new IsValidJSON()).count());
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TelemetryReadersTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TelemetryReadersTest.java
index e525ae0..a60c432 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TelemetryReadersTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TelemetryReadersTest.java
@@ -21,69 +21,65 @@ package org.apache.metron.profiler.spark.function.reader;
import org.apache.metron.profiler.spark.reader.ColumnEncodedTelemetryReader;
import org.apache.metron.profiler.spark.reader.TelemetryReaders;
import org.apache.metron.profiler.spark.reader.TextEncodedTelemetryReader;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.COLUMNAR;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.JSON;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.ORC;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.PARQUET;
-import static org.apache.metron.profiler.spark.reader.TelemetryReaders.TEXT;
+import static org.apache.metron.profiler.spark.reader.TelemetryReaders.*;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class TelemetryReadersTest {
@Test
public void testJsonReader() {
String key = JSON.toString();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
}
@Test
public void testJsonReaderLowerCase() {
String key = JSON.toString().toLowerCase();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
}
@Test
public void testOrcReader() {
String key = ORC.toString();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
}
@Test
public void testOrcReaderLowerCase() {
String key = ORC.toString().toLowerCase();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
}
@Test
public void testParquetReader() {
String key = PARQUET.toString();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
}
@Test
public void testParquetReaderLowerCase() {
String key = PARQUET.toString().toLowerCase();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
}
@Test
public void testTextReader() {
String key = TEXT.toString();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof TextEncodedTelemetryReader);
}
@Test
public void testColumnReader() {
String key = COLUMNAR.toString();
- Assert.assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
+ assertTrue(TelemetryReaders.create(key) instanceof ColumnEncodedTelemetryReader);
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testInvalidReader() {
- TelemetryReaders.create("invalid");
- Assert.fail("exception expected");
+ assertThrows(IllegalArgumentException.class, () -> TelemetryReaders.create("invalid"));
}
}
diff --git a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TextEncodedTelemetryReaderTest.java b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TextEncodedTelemetryReaderTest.java
index 3b26bb9..5a0370f 100644
--- a/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TextEncodedTelemetryReaderTest.java
+++ b/metron-analytics/metron-profiler-spark/src/test/java/org/apache/metron/profiler/spark/function/reader/TextEncodedTelemetryReaderTest.java
@@ -23,22 +23,24 @@ import org.apache.spark.SparkConf;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Encoders;
import org.apache.spark.sql.SparkSession;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
import org.junit.rules.TemporaryFolder;
import java.util.Properties;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_FORMAT;
import static org.apache.metron.profiler.spark.BatchProfilerConfig.TELEMETRY_INPUT_PATH;
+import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* Tests the {@link org.apache.metron.profiler.spark.reader.TextEncodedTelemetryReader} class.
*/
+@EnableRuleMigrationSupport
public class TextEncodedTelemetryReaderTest {
@Rule
@@ -47,7 +49,7 @@ public class TextEncodedTelemetryReaderTest {
private Properties profilerProperties;
private Properties readerProperties;
- @BeforeClass
+ @BeforeAll
public static void setupSpark() {
SparkConf conf = new SparkConf()
.setMaster("local")
@@ -59,14 +61,14 @@ public class TextEncodedTelemetryReaderTest {
.getOrCreate();
}
- @AfterClass
+ @AfterAll
public static void tearDownSpark() {
if(spark != null) {
spark.close();
}
}
- @Before
+ @BeforeEach
public void setup() {
readerProperties = new Properties();
profilerProperties = new Properties();
@@ -95,7 +97,7 @@ public class TextEncodedTelemetryReaderTest {
// there should be 100 valid JSON records
Dataset<String> telemetry = TelemetryReaders.TEXT.read(spark, profilerProperties, readerProperties);
- Assert.assertEquals(100, telemetry.filter(new IsValidJSON()).count());
+ assertEquals(100, telemetry.filter(new IsValidJSON()).count());
}
@Test
@@ -109,6 +111,6 @@ public class TextEncodedTelemetryReaderTest {
// there should be 100 valid JSON records
Dataset<String> telemetry = TelemetryReaders.TEXT.read(spark, profilerProperties, readerProperties);
- Assert.assertEquals(100, telemetry.filter(new IsValidJSON()).count());
+ assertEquals(100, telemetry.filter(new IsValidJSON()).count());
}
}
diff --git a/metron-analytics/metron-profiler-storm/pom.xml b/metron-analytics/metron-profiler-storm/pom.xml
index a9a6a94..717ef07 100644
--- a/metron-analytics/metron-profiler-storm/pom.xml
+++ b/metron-analytics/metron-profiler-storm/pom.xml
@@ -301,14 +301,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>${global_mockito_version}</version>
<scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>org.apache.metron</groupId>
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/hbase/bolt/HBaseBoltTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/hbase/bolt/HBaseBoltTest.java
index bae3728..5287ca3 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/hbase/bolt/HBaseBoltTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/hbase/bolt/HBaseBoltTest.java
@@ -21,26 +21,20 @@
package org.apache.metron.hbase.bolt;
import org.apache.metron.hbase.TableProvider;
-import org.apache.storm.Constants;
-import org.apache.storm.tuple.Tuple;
import org.apache.metron.hbase.bolt.mapper.Widget;
import org.apache.metron.hbase.bolt.mapper.WidgetMapper;
import org.apache.metron.hbase.client.HBaseClient;
import org.apache.metron.test.bolt.BaseBoltTest;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.apache.storm.Constants;
+import org.apache.storm.tuple.Tuple;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
-import java.io.IOException;
import java.util.Collections;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.*;
/**
* Tests the HBaseBolt.
@@ -55,8 +49,12 @@ public class HBaseBoltTest extends BaseBoltTest {
private Widget widget2;
private TableProvider provider;
- @Before
- public void setupTuples() throws Exception {
+ @BeforeEach
+ public void setupTuples() {
+ tuple1 = mock(Tuple.class);
+ tuple2 = mock(Tuple.class);
+ client = mock(HBaseClient.class);
+ provider = mock(TableProvider.class);
// setup the first tuple
widget1 = new Widget("widget1", 100);
@@ -67,18 +65,10 @@ public class HBaseBoltTest extends BaseBoltTest {
when(tuple2.getValueByField(eq("widget"))).thenReturn(widget2);
}
- @Before
- public void setup() throws Exception {
- tuple1 = mock(Tuple.class);
- tuple2 = mock(Tuple.class);
- client = mock(HBaseClient.class);
- provider = mock(TableProvider.class);
- }
-
/**
* Create a ProfileBuilderBolt to test
*/
- private HBaseBolt createBolt(int batchSize, WidgetMapper mapper) throws IOException {
+ private HBaseBolt createBolt(int batchSize, WidgetMapper mapper) {
HBaseBolt bolt = new HBaseBolt(tableName, mapper)
.withBatchSize(batchSize).withTableProviderInstance(provider);
bolt.prepare(Collections.emptyMap(), topologyContext, outputCollector);
@@ -92,7 +82,7 @@ public class HBaseBoltTest extends BaseBoltTest {
* If the batch size is 2 and we have received 2 tuples the batch should be flushed.
*/
@Test
- public void testBatchReady() throws Exception {
+ public void testBatchReady() {
HBaseBolt bolt = createBolt(2, new WidgetMapper());
bolt.execute(tuple1);
bolt.execute(tuple2);
@@ -106,7 +96,7 @@ public class HBaseBoltTest extends BaseBoltTest {
* If the batch size is NOT reached, the batch should NOT be flushed.
*/
@Test
- public void testBatchNotReady() throws Exception {
+ public void testBatchNotReady() {
HBaseBolt bolt = createBolt(2, new WidgetMapper());
bolt.execute(tuple1);
@@ -119,7 +109,7 @@ public class HBaseBoltTest extends BaseBoltTest {
* What happens if the batch timeout is reached?
*/
@Test
- public void testTimeFlush() throws Exception {
+ public void testTimeFlush() {
HBaseBolt bolt = createBolt(2, new WidgetMapper());
// the batch is not ready to write
@@ -137,7 +127,7 @@ public class HBaseBoltTest extends BaseBoltTest {
* if the Put to Hbase needs the TTL set.
*/
@Test
- public void testWriteWithTTL() throws Exception {
+ public void testWriteWithTTL() {
// setup - create a mapper with a TTL set
final Long expectedTTL = 2000L;
@@ -153,7 +143,7 @@ public class HBaseBoltTest extends BaseBoltTest {
// validate - ensure the Puts written with the TTL
verify(client, times(2)).addMutation(any(), any(), any(), ttlCaptor.capture());
- Assert.assertEquals(expectedTTL, ttlCaptor.getValue());
+ assertEquals(expectedTTL, ttlCaptor.getValue());
}
private static Tuple mockTuple(String componentId, String streamId) {
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/FixedFrequencyFlushSignalTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/FixedFrequencyFlushSignalTest.java
index a753dc4..ca2a5aa 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/FixedFrequencyFlushSignalTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/FixedFrequencyFlushSignalTest.java
@@ -19,10 +19,9 @@
package org.apache.metron.profiler.storm;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the {@code FixedFrequencyFlushSignal} class.
@@ -180,10 +179,10 @@ public class FixedFrequencyFlushSignalTest {
assertFalse(signal.isTimeToFlush());
}
- @Test(expected = IllegalArgumentException.class)
+ @Test
public void testNegativeFrequency() {
// a negative flush frequency makes no sense
- new FixedFrequencyFlushSignal(-1000);
+ assertThrows(IllegalArgumentException.class, () -> new FixedFrequencyFlushSignal(-1000));
}
@Test
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/HBaseEmitterTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/HBaseEmitterTest.java
index 2f9eca4..a8cb9e7 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/HBaseEmitterTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/HBaseEmitterTest.java
@@ -26,22 +26,17 @@ import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.profiler.ProfileMeasurement;
import org.apache.storm.task.OutputCollector;
import org.apache.storm.tuple.Values;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.*;
/**
* Tests the HBaseEmitter class.
@@ -64,7 +59,7 @@ public class HBaseEmitterTest {
private ProfileConfig profile;
private OutputCollector collector;
- @Before
+ @BeforeEach
public void setup() throws Exception {
emitter = new HBaseEmitter();
profile = createDefinition(profileDefinition);
@@ -76,7 +71,7 @@ public class HBaseEmitterTest {
* the 'result/profile' expression.
*/
@Test
- public void testEmit() throws Exception {
+ public void testEmit() {
// create a measurement that has triage values
ProfileMeasurement measurement = new ProfileMeasurement()
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/KafkaEmitterTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/KafkaEmitterTest.java
index 86849ac..b43668f 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/KafkaEmitterTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/KafkaEmitterTest.java
@@ -30,8 +30,8 @@ import org.apache.metron.statistics.OnlineStatisticsProvider;
import org.apache.storm.task.OutputCollector;
import org.apache.storm.tuple.Values;
import org.json.simple.JSONObject;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
@@ -40,14 +40,8 @@ import java.util.Collections;
import java.util.Map;
import java.util.concurrent.TimeUnit;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
/**
* Tests the KafkaDestinationHandler.
@@ -75,7 +69,7 @@ public class KafkaEmitterTest {
private ProfileConfig profile;
private OutputCollector collector;
- @Before
+ @BeforeEach
public void setup() throws Exception {
kafkaEmitter = new KafkaEmitter();
profile = createDefinition(profileDefinitionWithTriage);
@@ -86,7 +80,7 @@ public class KafkaEmitterTest {
* The handler should emit a message when a result/triage expression(s) has been defined.
*/
@Test
- public void testEmit() throws Exception {
+ public void testEmit() {
// create a measurement that has triage values
ProfileMeasurement measurement = new ProfileMeasurement()
@@ -107,7 +101,7 @@ public class KafkaEmitterTest {
* The handler should NOT emit a message when there is NO result/triage value(s).
*/
@Test
- public void testDoNotEmit() throws Exception {
+ public void testDoNotEmit() {
// create a measurement with NO triage values
ProfileMeasurement measurement = new ProfileMeasurement()
@@ -127,7 +121,7 @@ public class KafkaEmitterTest {
* Validate that the message generated for Kafka should include the triage value.
*/
@Test
- public void testTriageValueInMessage() throws Exception {
+ public void testTriageValueInMessage() {
// create a measurement that has triage values
ProfileMeasurement measurement = new ProfileMeasurement()
@@ -159,7 +153,7 @@ public class KafkaEmitterTest {
* Validate that the message generated for Kafka can include multiple triage values.
*/
@Test
- public void testMultipleTriageValueInMessage() throws Exception {
+ public void testMultipleTriageValueInMessage() {
// multiple triage values have been defined
Map<String, Object> triageValues = ImmutableMap.of(
@@ -190,7 +184,7 @@ public class KafkaEmitterTest {
* that can result from a triage expression. Only primitive types and Strings are allowed.
*/
@Test
- public void testInvalidType() throws Exception {
+ public void testInvalidType() {
// create one invalid expression and one valid expression
Map<String, Object> triageValues = ImmutableMap.of(
@@ -231,7 +225,7 @@ public class KafkaEmitterTest {
* that can result from a triage expression. Only primitive types and Strings are allowed.
*/
@Test
- public void testIntegerIsValidType() throws Exception {
+ public void testIntegerIsValidType() {
// create a measurement with a triage value that is an integer
ProfileMeasurement measurement = new ProfileMeasurement()
@@ -254,7 +248,7 @@ public class KafkaEmitterTest {
* that can result from a triage expression. Only primitive types and Strings are allowed.
*/
@Test
- public void testStringIsValidType() throws Exception {
+ public void testStringIsValidType() {
// create a measurement with a triage value that is a string
ProfileMeasurement measurement = new ProfileMeasurement()
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileBuilderBoltTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileBuilderBoltTest.java
index 3f16edd..a62e68b 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileBuilderBoltTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileBuilderBoltTest.java
@@ -35,8 +35,8 @@ import org.apache.storm.tuple.Tuple;
import org.apache.storm.tuple.Values;
import org.apache.storm.windowing.TupleWindow;
import org.json.simple.JSONObject;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
import java.io.IOException;
@@ -47,14 +47,10 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
/**
* Tests the ProfileBuilderBolt.
@@ -69,7 +65,7 @@ public class ProfileBuilderBoltTest extends BaseBoltTest {
private ManualFlushSignal flushSignal;
private ProfileMeasurement measurement;
- @Before
+ @BeforeEach
public void setup() throws Exception {
message1 = new MessageBuilder()
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileHBaseMapperTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileHBaseMapperTest.java
index f623d38..5073871 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileHBaseMapperTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileHBaseMapperTest.java
@@ -25,14 +25,14 @@ import org.apache.metron.common.configuration.profiler.ProfileResult;
import org.apache.metron.profiler.ProfileMeasurement;
import org.apache.metron.profiler.hbase.RowKeyBuilder;
import org.apache.storm.tuple.Tuple;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import static org.mockito.Matchers.eq;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -47,7 +47,7 @@ public class ProfileHBaseMapperTest {
private RowKeyBuilder rowKeyBuilder;
private ProfileConfig profile;
- @Before
+ @BeforeEach
public void setup() {
rowKeyBuilder = mock(RowKeyBuilder.class);
@@ -72,22 +72,22 @@ public class ProfileHBaseMapperTest {
* The mapper should return the expiration for a tuple based on the Profile definition.
*/
@Test
- public void testExpires() throws Exception {
+ public void testExpires() {
final Long expiresDays = 30L;
profile.setExpires(expiresDays);
Optional<Long> actual = mapper.getTTL(tuple);
- Assert.assertTrue(actual.isPresent());
- Assert.assertEquals(expiresDays, (Long) TimeUnit.MILLISECONDS.toDays(actual.get()));
+ assertTrue(actual.isPresent());
+ assertEquals(expiresDays, (Long) TimeUnit.MILLISECONDS.toDays(actual.get()));
}
/**
* The expiration field is optional within a Profile definition.
*/
@Test
- public void testExpiresUndefined() throws Exception {
+ public void testExpiresUndefined() {
// the TTL should not be defined
Optional<Long> actual = mapper.getTTL(tuple);
- Assert.assertFalse(actual.isPresent());
+ assertFalse(actual.isPresent());
}
}
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileSplitterBoltTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileSplitterBoltTest.java
index c841122..a147768 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileSplitterBoltTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/ProfileSplitterBoltTest.java
@@ -20,32 +20,28 @@
package org.apache.metron.profiler.storm;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.configuration.profiler.ProfileConfig;
import org.apache.metron.common.configuration.profiler.ProfilerConfig;
+import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.profiler.DefaultMessageRouter;
import org.apache.metron.profiler.clock.FixedClockFactory;
-import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.test.bolt.BaseBoltTest;
import org.apache.storm.tuple.Tuple;
import org.apache.storm.tuple.Values;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import static org.apache.metron.storm.kafka.flux.SimpleStormKafkaBuilder.FieldsConfiguration.VALUE;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.*;
/**
* Tests the ProfileSplitterBolt.
@@ -213,16 +209,14 @@ public class ProfileSplitterBoltTest extends BaseBoltTest {
private JSONObject message;
private long timestamp = 3333333;
- @Before
+ @BeforeEach
public void setup() throws ParseException {
-
// parse the input message
JSONParser parser = new JSONParser();
message = (JSONObject) parser.parse(input);
// ensure the tuple returns the expected json message
- when(tuple.getBinaryByField(VALUE.getFieldName())).thenReturn(input.getBytes(
- StandardCharsets.UTF_8));
+ when(tuple.getBinaryByField(VALUE.getFieldName())).thenReturn(input.getBytes(StandardCharsets.UTF_8));
}
/**
@@ -439,7 +433,7 @@ public class ProfileSplitterBoltTest extends BaseBoltTest {
/**
* Create a ProfileSplitterBolt to test
*/
- private ProfileSplitterBolt createBolt(ProfilerConfig config) throws Exception {
+ private ProfileSplitterBolt createBolt(ProfilerConfig config) {
ProfileSplitterBolt bolt = new ProfileSplitterBolt("zookeeperURL");
bolt.setCuratorFramework(client);
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ConfigUploadComponent.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ConfigUploadComponent.java
index 336abd0..1ce4e50 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ConfigUploadComponent.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ConfigUploadComponent.java
@@ -19,7 +19,6 @@
*/
package org.apache.metron.profiler.storm.integration;
-import java.nio.charset.StandardCharsets;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.imps.CuratorFrameworkState;
@@ -28,14 +27,10 @@ import org.apache.metron.integration.InMemoryComponent;
import org.apache.metron.integration.UnableToStartException;
import org.apache.metron.integration.components.ZKServerComponent;
-import java.util.Arrays;
+import java.nio.charset.StandardCharsets;
import java.util.Properties;
-import static org.apache.metron.common.configuration.ConfigurationsUtils.getClient;
-import static org.apache.metron.common.configuration.ConfigurationsUtils.readGlobalConfigFromFile;
-import static org.apache.metron.common.configuration.ConfigurationsUtils.writeGlobalConfigToZookeeper;
-import static org.apache.metron.common.configuration.ConfigurationsUtils.readProfilerConfigFromFile;
-import static org.apache.metron.common.configuration.ConfigurationsUtils.writeProfilerConfigToZookeeper;
+import static org.apache.metron.common.configuration.ConfigurationsUtils.*;
/**
diff --git a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java
index ad150b1..4b14e4f 100644
--- a/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java
+++ b/metron-analytics/metron-profiler-storm/src/test/java/org/apache/metron/profiler/storm/integration/ProfilerIntegrationTest.java
@@ -20,7 +20,6 @@
package org.apache.metron.profiler.storm.integration;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.commons.io.FileUtils;
import org.apache.metron.common.Constants;
@@ -44,43 +43,24 @@ import org.apache.metron.stellar.dsl.functions.resolver.SimpleFunctionResolver;
import org.apache.storm.Config;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.lang.invoke.MethodHandles;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
import java.util.concurrent.TimeUnit;
import static org.apache.metron.integration.utils.TestUtils.assertEventually;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_COLUMN_FAMILY;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_HBASE_TABLE_PROVIDER;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_PERIOD_UNITS;
-import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.PROFILER_SALT_DIVISOR;
-import static org.apache.metron.profiler.storm.KafkaEmitter.ALERT_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.ENTITY_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.PERIOD_END_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.PERIOD_ID_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.PERIOD_START_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.PROFILE_FIELD;
-import static org.apache.metron.profiler.storm.KafkaEmitter.TIMESTAMP_FIELD;
+import static org.apache.metron.profiler.client.stellar.ProfilerClientConfig.*;
+import static org.apache.metron.profiler.storm.KafkaEmitter.*;
import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.CoreMatchers.hasItems;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* An integration test of the Profiler topology.
@@ -393,7 +373,7 @@ public class ProfilerIntegrationTest extends BaseIntegrationTest {
.toJSONString();
}
- @BeforeClass
+ @BeforeAll
public static void setupBeforeClass() throws UnableToStartException {
// create some messages that contain a timestamp - a really old timestamp; close to 1970
@@ -483,15 +463,15 @@ public class ProfilerIntegrationTest extends BaseIntegrationTest {
runner.start();
}
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
+ @AfterAll
+ public static void tearDownAfterClass() {
MockHBaseTableProvider.clear();
if (runner != null) {
runner.stop();
}
}
- @Before
+ @BeforeEach
public void setup() {
// create the mock table
profilerTable = (MockHTable) MockHBaseTableProvider.addToCache(tableName, columnFamily);
@@ -521,8 +501,8 @@ public class ProfilerIntegrationTest extends BaseIntegrationTest {
.build());
}
- @After
- public void tearDown() throws Exception {
+ @AfterEach
+ public void tearDown() {
MockHBaseTableProvider.clear();
profilerTable.clear();
if (runner != null) {
diff --git a/metron-analytics/metron-statistics/src/main/java/org/apache/metron/statistics/OnlineStatisticsProvider.java b/metron-analytics/metron-statistics/src/main/java/org/apache/metron/statistics/OnlineStatisticsProvider.java
index 1d7bdc6..0b53251 100644
--- a/metron-analytics/metron-statistics/src/main/java/org/apache/metron/statistics/OnlineStatisticsProvider.java
+++ b/metron-analytics/metron-statistics/src/main/java/org/apache/metron/statistics/OnlineStatisticsProvider.java
@@ -118,7 +118,7 @@ public class OnlineStatisticsProvider implements StatisticsProvider, KryoSeriali
//underflow. It is sufficient to check sumOfSquares because sumOfSquares is going to converge to 0 faster than sum
//in the situation where we're looking at an underflow.
if(sumOfSquares == 0.0 && sum > 0) {
- throw new IllegalStateException("Double overflow!");
+ throw new IllegalStateException("Double underflow!");
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/BinFunctionsTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/BinFunctionsTest.java
index 978b164..6f24adb 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/BinFunctionsTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/BinFunctionsTest.java
@@ -21,34 +21,36 @@ package org.apache.metron.statistics;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import org.apache.metron.stellar.common.StellarProcessor;
import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.DefaultVariableResolver;
import org.apache.metron.stellar.dsl.StellarFunctions;
-import org.apache.metron.stellar.common.StellarProcessor;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.Map;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
public class BinFunctionsTest {
public static Object run(String rule, Map<String, Object> variables) {
Context context = Context.EMPTY_CONTEXT();
StellarProcessor processor = new StellarProcessor();
- Assert.assertTrue(rule + " not valid.", processor.validate(rule, context));
+ assertTrue(processor.validate(rule, context), rule + " not valid.");
return processor.parse(rule, new DefaultVariableResolver(x -> variables.get(x),x -> variables.containsKey(x)), StellarFunctions.FUNCTION_RESOLVER(), context);
}
@Test
public void testBin() {
- Assert.assertEquals(run("BIN(value, bounds)", ImmutableMap.of("value", 0, "bounds", ImmutableList.of(10, 20, 30))), 0);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 0)), 0);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 9)), 0);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 10)), 0);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 11)), 1);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 19)), 1);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 21)), 2);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 29)), 2);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 31)), 3);
- Assert.assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 1000)), 3);
+ assertEquals(run("BIN(value, bounds)", ImmutableMap.of("value", 0, "bounds", ImmutableList.of(10, 20, 30))), 0);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 0)), 0);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 9)), 0);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 10)), 0);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 11)), 1);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 19)), 1);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 21)), 2);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 29)), 2);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 31)), 3);
+ assertEquals(run("BIN(value, [ 10, 20, 30 ])", ImmutableMap.of("value", 1000)), 3);
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/OnlineStatisticsProviderTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/OnlineStatisticsProviderTest.java
index 7573f64..c8beb0f 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/OnlineStatisticsProviderTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/OnlineStatisticsProviderTest.java
@@ -23,12 +23,14 @@ import org.apache.commons.math3.random.GaussianRandomGenerator;
import org.apache.commons.math3.random.MersenneTwister;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
public class OnlineStatisticsProviderTest {
public static void validateStatisticsProvider( StatisticsProvider statsProvider
@@ -36,38 +38,38 @@ public class OnlineStatisticsProviderTest {
, DescriptiveStatistics stats
) {
//N
- Assert.assertEquals(statsProvider.getCount(), stats.getN());
+ assertEquals(statsProvider.getCount(), stats.getN());
//sum
- Assert.assertEquals(statsProvider.getSum(), stats.getSum(), 1e-3);
+ assertEquals(statsProvider.getSum(), stats.getSum(), 1e-3);
//sum of squares
- Assert.assertEquals(statsProvider.getSumSquares(), stats.getSumsq(), 1e-3);
+ assertEquals(statsProvider.getSumSquares(), stats.getSumsq(), 1e-3);
//sum of squares
- Assert.assertEquals(statsProvider.getSumLogs(), summaryStats.getSumOfLogs(), 1e-3);
+ assertEquals(statsProvider.getSumLogs(), summaryStats.getSumOfLogs(), 1e-3);
//Mean
- Assert.assertEquals(statsProvider.getMean(), stats.getMean(), 1e-3);
+ assertEquals(statsProvider.getMean(), stats.getMean(), 1e-3);
//Quadratic Mean
- Assert.assertEquals(statsProvider.getQuadraticMean(), summaryStats.getQuadraticMean(), 1e-3);
+ assertEquals(statsProvider.getQuadraticMean(), summaryStats.getQuadraticMean(), 1e-3);
//SD
- Assert.assertEquals(statsProvider.getStandardDeviation(), stats.getStandardDeviation(), 1e-3);
+ assertEquals(statsProvider.getStandardDeviation(), stats.getStandardDeviation(), 1e-3);
//Variance
- Assert.assertEquals(statsProvider.getVariance(), stats.getVariance(), 1e-3);
+ assertEquals(statsProvider.getVariance(), stats.getVariance(), 1e-3);
//Min
- Assert.assertEquals(statsProvider.getMin(), stats.getMin(), 1e-3);
+ assertEquals(statsProvider.getMin(), stats.getMin(), 1e-3);
//Max
- Assert.assertEquals(statsProvider.getMax(), stats.getMax(), 1e-3);
+ assertEquals(statsProvider.getMax(), stats.getMax(), 1e-3);
//Kurtosis
- Assert.assertEquals(stats.getKurtosis(), statsProvider.getKurtosis(), 1e-3);
+ assertEquals(stats.getKurtosis(), statsProvider.getKurtosis(), 1e-3);
//Skewness
- Assert.assertEquals(stats.getSkewness(), statsProvider.getSkewness(), 1e-3);
+ assertEquals(stats.getSkewness(), statsProvider.getSkewness(), 1e-3);
for(double d = 10.0;d < 100.0;d+=10) {
- //This is a sketch, so we're a bit more forgiving here in our choice of \epsilon.
- Assert.assertEquals("Percentile mismatch for " + d +"th %ile"
- , statsProvider.getPercentile(d)
- , stats.getPercentile(d)
- , 1e-2
- );
+ // This is a sketch, so we're a bit more forgiving here in our choice of \epsilon.
+ assertEquals(
+ statsProvider.getPercentile(d),
+ stats.getPercentile(d),
+ 1e-2,
+ "Percentile mismatch for " + d + "th %ile");
}
}
@@ -96,19 +98,17 @@ public class OnlineStatisticsProviderTest {
validateStatisticsProvider(aggregatedProvider, summaryStats, stats);
}
- @Test(expected = IllegalStateException.class)
+ @Test
public void testOverflow() {
OnlineStatisticsProvider statsProvider = new OnlineStatisticsProvider();
- statsProvider.addValue(Double.MAX_VALUE + 1);
+ assertThrows(IllegalStateException.class, () -> statsProvider.addValue(Double.MAX_VALUE + 1));
}
- @Test(expected = IllegalStateException.class)
+ @Test
public void testUnderflow() {
OnlineStatisticsProvider statsProvider = new OnlineStatisticsProvider();
double d = 3e-305;
- for(int i = 0;i < 5;++i,d/=100000) {
- statsProvider.addValue(d);
- }
+ assertThrows(IllegalStateException.class, () -> statsProvider.addValue(d));
}
@Test
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/StellarStatisticsFunctionsTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/StellarStatisticsFunctionsTest.java
index e855cb7..02ac60c 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/StellarStatisticsFunctionsTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/StellarStatisticsFunctionsTest.java
@@ -26,43 +26,33 @@ import org.apache.commons.math3.random.GaussianRandomGenerator;
import org.apache.commons.math3.random.MersenneTwister;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
+import org.apache.metron.common.utils.SerDeUtils;
+import org.apache.metron.stellar.common.StellarProcessor;
import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.DefaultVariableResolver;
import org.apache.metron.stellar.dsl.ParseException;
import org.apache.metron.stellar.dsl.StellarFunctions;
-import org.apache.metron.stellar.common.StellarProcessor;
-import org.apache.metron.common.utils.SerDeUtils;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.*;
import java.util.function.Function;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
import static java.lang.String.format;
+import static org.junit.jupiter.api.Assertions.*;
/**
* Tests the statistical summary functions of Stellar.
*/
-@RunWith(Parameterized.class)
public class StellarStatisticsFunctionsTest {
private List<Double> values;
private Map<String, Object> variables;
private DescriptiveStatistics stats;
private SummaryStatistics summaryStats;
- private int windowSize;
- public StellarStatisticsFunctionsTest(int windowSize) {
- this.windowSize = windowSize;
- }
-
- @Parameterized.Parameters
public static Collection<Object[]> data() {
// each test will be run against these values for windowSize
return Arrays.asList(new Object[][] {{ 0 }, { 100 }});
@@ -87,10 +77,10 @@ public class StellarStatisticsFunctionsTest {
Number leftVal = func.apply(left);
Number rightVal = func.apply(left);
if(epsilon != null) {
- Assert.assertEquals((double)leftVal, (double)rightVal, epsilon);
+ assertEquals((double)leftVal, (double)rightVal, epsilon);
}
else {
- Assert.assertEquals(leftVal, rightVal);
+ assertEquals(leftVal, rightVal);
}
}
catch(UnsupportedOperationException uoe) {
@@ -146,7 +136,7 @@ public class StellarStatisticsFunctionsTest {
return ret;
}
- @Before
+ @BeforeEach
public void setup() {
variables = new HashMap<>();
@@ -173,20 +163,20 @@ public class StellarStatisticsFunctionsTest {
values.stream().forEach(val -> run(format("STATS_ADD (stats, %f)", val), variables));
}
- @Test(expected=ParseException.class)
- public void testOverflow() throws Exception {
- run(format("STATS_ADD(STATS_INIT(), %f)", (Double.MAX_VALUE + 1)), new HashMap<>());
+ @Test
+ public void testOverflow() {
+ assertThrows(ParseException.class, () -> run(format("STATS_ADD(STATS_INIT(), %f)", (Double.MAX_VALUE + 1)), new HashMap<>()));
}
@Test
- public void ensureDeterminism() throws Exception {
+ public void ensureDeterminism() {
for(int i = 0;i < 20;++i) {
testMergeProviders();
}
}
@Test
- public void testMergeProviders() throws Exception {
+ public void testMergeProviders() {
List<StatisticsProvider> providers = new ArrayList<>();
/*
Create 10 providers, each with a sample drawn from a gaussian distribution.
@@ -224,8 +214,9 @@ public class StellarStatisticsFunctionsTest {
}
- @Test
- public void testAddAllManyIntegers() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testAddAllManyIntegers(int windowSize) {
statsInit(windowSize);
Object result = run("STATS_COUNT(stats)", variables);
double countAtStart = (double) result;
@@ -236,8 +227,9 @@ public class StellarStatisticsFunctionsTest {
assertEquals(countAtStart + 5.0, (double) actual, 0.1);
}
- @Test
- public void testAddManyIntegers() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testAddManyIntegers(int windowSize) {
statsInit(windowSize);
Object result = run("STATS_COUNT(stats)", variables);
double countAtStart = (double) result;
@@ -248,8 +240,9 @@ public class StellarStatisticsFunctionsTest {
assertEquals(countAtStart + 5.0, (double) actual, 0.1);
}
- @Test
- public void testAllManyFloat() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testAllManyFloat(int windowSize) {
statsInit(windowSize);
Object result = run("STATS_COUNT(stats)", variables);
double countAtStart = (double) result;
@@ -260,8 +253,9 @@ public class StellarStatisticsFunctionsTest {
assertEquals(countAtStart + 5.0, (double) actual, 0.1);
}
- @Test
- public void testAddManyFloats() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testAddManyFloats(int windowSize) {
statsInit(windowSize);
Object result = run("STATS_COUNT(stats)", variables);
double countAtStart = (double) result;
@@ -272,22 +266,25 @@ public class StellarStatisticsFunctionsTest {
assertEquals(countAtStart + 5.0, (double) actual, 0.1);
}
- @Test
- public void testCount() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testCount(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_COUNT(stats)", variables);
assertEquals(stats.getN(), (double) actual, 0.1);
}
- @Test
- public void testMean() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testMean(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_MEAN(stats)", variables);
assertEquals(stats.getMean(), (Double) actual, 0.1);
}
- @Test
- public void testGeometricMean() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testGeometricMean(int windowSize) {
if(windowSize > 0) {
statsInit(windowSize);
Object actual = run("STATS_GEOMETRIC_MEAN(stats)", variables);
@@ -295,43 +292,49 @@ public class StellarStatisticsFunctionsTest {
}
}
- @Test
- public void testMax() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testMax(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_MAX(stats)", variables);
assertEquals(stats.getMax(), (Double) actual, 0.1);
}
- @Test
- public void testMin() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testMin(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_MIN(stats)", variables);
assertEquals(stats.getMin(), (Double) actual, 0.1);
}
- @Test
- public void testSum() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testSum(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_SUM(stats)", variables);
assertEquals(stats.getSum(), (Double) actual, 0.1);
}
- @Test
- public void testStandardDeviation() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testStandardDeviation(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_SD(stats)", variables);
assertEquals(stats.getStandardDeviation(), (Double) actual, 0.1);
}
- @Test
- public void testVariance() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testVariance(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_VARIANCE(stats)", variables);
assertEquals(stats.getVariance(), (Double) actual, 0.1);
}
- @Test
- public void testPopulationVariance() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testPopulationVariance(int windowSize) {
if(windowSize > 0) {
statsInit(windowSize);
Object actual = run("STATS_POPULATION_VARIANCE(stats)", variables);
@@ -339,8 +342,9 @@ public class StellarStatisticsFunctionsTest {
}
}
- @Test
- public void testQuadraticMean() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testQuadraticMean(int windowSize) {
if(windowSize > 0) {
statsInit(windowSize);
Object actual = run("STATS_QUADRATIC_MEAN(stats)", variables);
@@ -348,35 +352,40 @@ public class StellarStatisticsFunctionsTest {
}
}
- @Test
- public void testSumLogsNoWindow() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testSumLogsNoWindow() {
statsInit(0);
Object actual = run("STATS_SUM_LOGS(stats)", variables);
assertEquals(summaryStats.getSumOfLogs(), (Double) actual, 0.1);
}
- @Test(expected = ParseException.class)
- public void testSumLogsWithWindow() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testSumLogsWithWindow() {
statsInit(100);
- run("STATS_SUM_LOGS(stats)", variables);
+ assertThrows(ParseException.class, () -> run("STATS_SUM_LOGS(stats)", variables));
}
- @Test
- public void testSumSquares() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testSumSquares(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_SUM_SQUARES(stats)", variables);
assertEquals(stats.getSumsq(), (Double) actual, 0.1);
}
- @Test
- public void testKurtosis() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testKurtosis(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_KURTOSIS(stats)", variables);
assertEquals(stats.getKurtosis(), (Double) actual, 0.1);
}
- @Test
- public void testSkewness() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testSkewness(int windowSize) {
statsInit(windowSize);
Object actual = run("STATS_SKEWNESS(stats)", variables);
assertEquals(stats.getSkewness(), (Double) actual, 0.1);
@@ -389,8 +398,9 @@ public class StellarStatisticsFunctionsTest {
* since the numbers are sorted, the bin will increase at the percentile boundaries, thus we have
* the expected bin without recreating the computation in the STATS_BIN function.
**/
- @Test
- public void testStatsBin() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testStatsBin(int windowSize) {
statsInit(windowSize);
statsBinRunner(StellarStatisticsFunctions.StatsBin.BinSplits.QUARTILE.split);
statsBinRunner(StellarStatisticsFunctions.StatsBin.BinSplits.QUARTILE.split, "'QUARTILE'");
@@ -399,21 +409,22 @@ public class StellarStatisticsFunctionsTest {
statsBinRunner(ImmutableList.of(25.0, 50.0, 75.0), "[25.0, 50.0, 75.0]");
}
- @Test
- public void testStatsBin_singleValue() throws Exception {
+ @ParameterizedTest
+ @MethodSource("data")
+ public void testStatsBin_singleValue(int windowSize) {
StatisticsProvider provider = (StatisticsProvider)run("STATS_INIT(" + windowSize + ")", variables);
provider.addValue(10);
variables.put("stats", provider);
- Assert.assertEquals(0, run(format("STATS_BIN(stats, %f)", 9.0), variables));
- Assert.assertEquals(0, run(format("STATS_BIN(stats, %f)", 10.0), variables));
- Assert.assertEquals(3, run(format("STATS_BIN(stats, %f)", 11.0), variables));
+ assertEquals(0, run(format("STATS_BIN(stats, %f)", 9.0), variables));
+ assertEquals(0, run(format("STATS_BIN(stats, %f)", 10.0), variables));
+ assertEquals(3, run(format("STATS_BIN(stats, %f)", 11.0), variables));
}
- public void statsBinRunner(List<Number> splits) throws Exception {
+ public void statsBinRunner(List<Number> splits) {
statsBinRunner(splits, null);
}
- public void statsBinRunner(List<Number> splits, String splitsName) throws Exception {
+ public void statsBinRunner(List<Number> splits, String splitsName) {
int bin = 0;
StatisticsProvider provider = (StatisticsProvider)variables.get("stats");
for(Double d : stats.getSortedValues()) {
@@ -434,7 +445,7 @@ public class StellarStatisticsFunctionsTest {
}
@Test
- public void testPercentileNoWindow() throws Exception {
+ public void testPercentileNoWindow() {
statsInit(0);
final double percentile = 0.9;
Object actual = run(format("STATS_PERCENTILE(stats, %f)", percentile), variables);
@@ -442,7 +453,7 @@ public class StellarStatisticsFunctionsTest {
}
@Test
- public void testPercentileWithWindow() throws Exception {
+ public void testPercentileWithWindow() {
statsInit(100);
final double percentile = 0.9;
Object actual = run(format("STATS_PERCENTILE(stats, %f)", percentile), variables);
@@ -450,7 +461,7 @@ public class StellarStatisticsFunctionsTest {
}
@Test
- public void testWithNull() throws Exception {
+ public void testWithNull() {
Object actual = run("STATS_MEAN(null)", variables);
assertTrue(((Double)actual).isNaN());
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsIntegrationTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsIntegrationTest.java
index 7e67e1c..11655a2 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsIntegrationTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsIntegrationTest.java
@@ -19,13 +19,13 @@ package org.apache.metron.statistics.approximation;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.stellar.common.utils.StellarProcessorUtils;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.MatcherAssert.assertThat;
public class HyperLogLogPlusFunctionsIntegrationTest {
@@ -54,7 +54,7 @@ public class HyperLogLogPlusFunctionsIntegrationTest {
@Test
public void cardinality_gives_distinct_value_estimate_for_default_constructor() {
Long estimate = (Long) StellarProcessorUtils.run(hllpDefaultConstructorRule, values);
- Assert.assertThat("Incorrect cardinality returned", estimate, equalTo(2L));
+ assertThat("Incorrect cardinality returned", estimate, equalTo(2L));
}
/**
@@ -74,7 +74,7 @@ public class HyperLogLogPlusFunctionsIntegrationTest {
@Test
public void cardinality_gives_distinct_value_estimate_with_precisions_set() {
Long estimate = (Long) StellarProcessorUtils.run(hllpBasicRule, values);
- Assert.assertThat("Incorrect cardinality returned", estimate, equalTo(2L));
+ assertThat("Incorrect cardinality returned", estimate, equalTo(2L));
}
/**
@@ -96,7 +96,7 @@ public class HyperLogLogPlusFunctionsIntegrationTest {
@Test
public void hllp_add_accepts_multiple_items() {
Long estimate = (Long) StellarProcessorUtils.run(hllpMultipleAddItems, values);
- Assert.assertThat("Incorrect cardinality returned", estimate, equalTo(4L));
+ assertThat("Incorrect cardinality returned", estimate, equalTo(4L));
}
/**
@@ -115,7 +115,7 @@ public class HyperLogLogPlusFunctionsIntegrationTest {
@Test
public void merges_estimators() {
Long estimate = (Long) StellarProcessorUtils.run(hllpMergeRule, values);
- Assert.assertThat("Incorrect cardinality returned", estimate, equalTo(4L));
+ assertThat("Incorrect cardinality returned", estimate, equalTo(4L));
}
/**
@@ -127,7 +127,7 @@ public class HyperLogLogPlusFunctionsIntegrationTest {
@Test
public void cardinality_of_null_value_is_0() {
Long estimate = (Long) StellarProcessorUtils.run(zeroCardinalityRule, values);
- Assert.assertThat("Incorrect cardinality returned", estimate, equalTo(0L));
+ assertThat("Incorrect cardinality returned", estimate, equalTo(0L));
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsTest.java
index a43eeb7..0e0a21d 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/approximation/HyperLogLogPlusFunctionsTest.java
@@ -18,37 +18,33 @@
package org.apache.metron.statistics.approximation;
import com.google.common.collect.ImmutableList;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class HyperLogLogPlusFunctionsTest {
@Test
public void hllp_init_creates_HyperLogLogPlus_set() {
HyperLogLogPlus hllp = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of());
- Assert.assertThat(hllp.getSp(), equalTo(25));
- Assert.assertThat(hllp.getP(), equalTo(14));
- Assert.assertThat("instance types should match for constructor with default precision values", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5)), instanceOf(HyperLogLogPlus.class));
- Assert.assertThat("instance types should match for constructor with sparse set disabled", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5)), instanceOf(HyperLogLogPlus.class));
- Assert.assertThat("instance types should match for full constructor", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5, 6)), instanceOf(HyperLogLogPlus.class));
+ assertThat(hllp.getSp(), equalTo(25));
+ assertThat(hllp.getP(), equalTo(14));
+ assertThat("instance types should match for constructor with default precision values", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5)), instanceOf(HyperLogLogPlus.class));
+ assertThat("instance types should match for constructor with sparse set disabled", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5)), instanceOf(HyperLogLogPlus.class));
+ assertThat("instance types should match for full constructor", new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5, 6)), instanceOf(HyperLogLogPlus.class));
}
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
@Test
public void hllp_init_with_incorrect_args_throws_exception() {
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("Unable to get p value from 'turkey'");
- new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of("turkey"));
+ Exception e = assertThrows(IllegalArgumentException.class, () -> new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of("turkey")));
+ assertEquals("Unable to get p value from 'turkey'", e.getMessage());
}
@Test
@@ -59,21 +55,29 @@ public class HyperLogLogPlusFunctionsTest {
HyperLogLogPlus expected = new HyperLogLogPlus(5, 6);
expected.add("item-1");
expected.add("item-2");
- Assert.assertThat("hllp set should have cardinality based on added values", actual.cardinality(), equalTo(2L));
- Assert.assertThat("estimators should be equal", actual, equalTo(expected));
+ assertThat("hllp set should have cardinality based on added values", actual.cardinality(), equalTo(2L));
+ assertThat("estimators should be equal", actual, equalTo(expected));
}
@Test
public void hllp_add_with_null_set_inits_and_returns_new_hllp_with_item_added_to_set() {
HyperLogLogPlus actual = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPAdd().apply(Arrays.asList(null, "item-1"));
- Assert.assertThat(actual, notNullValue());
+ assertThat(actual, notNullValue());
}
@Test
public void hllp_add_throws_exception_with_incorrect_args() {
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("Must pass an hllp estimator set and at least one value to add to the set");
- new HyperLogLogPlusFunctions.HLLPAdd().apply(ImmutableList.of(new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5, 6))));
+ Exception e =
+ assertThrows(
+ IllegalArgumentException.class,
+ () ->
+ new HyperLogLogPlusFunctions.HLLPAdd()
+ .apply(
+ ImmutableList.of(
+ new HyperLogLogPlusFunctions.HLLPInit()
+ .apply(ImmutableList.of(5, 6)))));
+ assertEquals(
+ "Must pass an hllp estimator set and at least one value to add to the set", e.getMessage());
}
@Test
@@ -82,15 +86,15 @@ public class HyperLogLogPlusFunctionsTest {
hllp = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPAdd().apply(ImmutableList.of(hllp, "item-1"));
hllp = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPAdd().apply(ImmutableList.of(hllp, "item-2"));
hllp = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPAdd().apply(ImmutableList.of(hllp, "item-3"));
- Assert.assertThat("cardinality not expected value", new HyperLogLogPlusFunctions.HLLPCardinality().apply(ImmutableList.of(hllp)), equalTo(3L));
+ assertThat("cardinality not expected value", new HyperLogLogPlusFunctions.HLLPCardinality().apply(ImmutableList.of(hllp)), equalTo(3L));
}
@Test
public void hllp_cardinality_returns_0_for_null_set() {
- List nullArg = new ArrayList() {{
+ List<Object> nullArg = new ArrayList<Object>() {{
add(null);
}};
- Assert.assertThat("Cardinality should be 0", new HyperLogLogPlusFunctions.HLLPCardinality().apply(nullArg), equalTo(0L));
+ assertThat("Cardinality should be 0", new HyperLogLogPlusFunctions.HLLPCardinality().apply(nullArg), equalTo(0L));
}
@Test
@@ -104,14 +108,14 @@ public class HyperLogLogPlusFunctionsTest {
HyperLogLogPlus merged = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(ImmutableList.of(hllp1, hllp2)));
Long actual = (Long) new HyperLogLogPlusFunctions.HLLPCardinality().apply(ImmutableList.of(merged));
- Assert.assertThat("cardinality should match merged set", actual, equalTo(3L));
+ assertThat("cardinality should match merged set", actual, equalTo(3L));
HyperLogLogPlus hllp3 = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of(5, 6));
hllp3 = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPAdd().apply(ImmutableList.of(hllp3, "item-4"));
merged = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(ImmutableList.of(hllp1, hllp2, hllp3)));
actual = (Long) new HyperLogLogPlusFunctions.HLLPCardinality().apply(ImmutableList.of(merged));
- Assert.assertThat("cardinality should match merged set", actual, equalTo(4L));
+ assertThat("cardinality should match merged set", actual, equalTo(4L));
}
@Test
@@ -123,29 +127,35 @@ public class HyperLogLogPlusFunctionsTest {
HyperLogLogPlus merged = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(hllp1));
Long actual = (Long) new HyperLogLogPlusFunctions.HLLPCardinality().apply(ImmutableList.of(merged));
- Assert.assertThat("cardinality should match merged set", actual, equalTo(2L));
+ assertThat("cardinality should match merged set", actual, equalTo(2L));
}
@Test
public void hllp_merge_throws_exception_with_no_arguments() {
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("Must pass single list of hllp sets to merge");
- new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of());
+ Exception e =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of()));
+ assertEquals("Must pass single list of hllp sets to merge", e.getMessage());
}
@Test
public void hllp_merge_throws_exception_on_invalid_arguments() {
- thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("Must pass single list of hllp sets to merge");
- HyperLogLogPlus hllp1 = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of());
- HyperLogLogPlus hllp2 = (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of());
- new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(hllp1, hllp2));
+ HyperLogLogPlus hllp1 =
+ (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of());
+ HyperLogLogPlus hllp2 =
+ (HyperLogLogPlus) new HyperLogLogPlusFunctions.HLLPInit().apply(ImmutableList.of());
+ Exception e =
+ assertThrows(
+ IllegalArgumentException.class,
+ () -> new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(hllp1, hllp2)));
+ assertEquals("Must pass single list of hllp sets to merge", e.getMessage());
}
@Test
public void merge_returns_null_if_passed_an_empty_list_to_merge() {
List emptyList = ImmutableList.of();
- Assert.assertThat("Should be empty list", new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(emptyList)), equalTo(null));
+ assertThat("Should be empty list", new HyperLogLogPlusFunctions.HLLPMerge().apply(ImmutableList.of(emptyList)), equalTo(null));
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/informationtheory/EntropyTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/informationtheory/EntropyTest.java
index a168b2e..a3a3f4b 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/informationtheory/EntropyTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/informationtheory/EntropyTest.java
@@ -17,19 +17,18 @@
*/
package org.apache.metron.statistics.informationtheory;
-import com.google.common.collect.ImmutableMap;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.HashMap;
import static org.apache.metron.stellar.common.utils.StellarProcessorUtils.run;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class EntropyTest {
@Test
- public void entropyTest() throws Exception {
+ public void entropyTest() {
//test empty collection
- Assert.assertEquals(0.0, (Double) run("IT_ENTROPY({})", new HashMap<>()), 0.0);
+ assertEquals(0.0, (Double) run("IT_ENTROPY({})", new HashMap<>()), 0.0);
/*
Now consider the string aaaaaaaaaabbbbbccccc or 10 a's followed by 5 b's and 5 c's.
@@ -41,6 +40,6 @@ public class EntropyTest {
-p(a)*log_2(p(a)) - p(b)*log_2(p(b)) - p(c)*log_2(p(c)) =
-0.5*-1 - 0.25*-2 - 0.25*-2 = 1.5
*/
- Assert.assertEquals(1.5, (Double) run("IT_ENTROPY({ 'a' : 10, 'b' : 5, 'c' : 5} )", new HashMap<>()), 0.0);
+ assertEquals(1.5, (Double) run("IT_ENTROPY({ 'a' : 10, 'b' : 5, 'c' : 5} )", new HashMap<>()), 0.0);
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/outlier/MedianAbsoluteDeviationTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/outlier/MedianAbsoluteDeviationTest.java
index 9390b7a..68b683e 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/outlier/MedianAbsoluteDeviationTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/outlier/MedianAbsoluteDeviationTest.java
@@ -24,30 +24,31 @@ import org.apache.commons.math3.distribution.TDistribution;
import org.apache.commons.math3.random.GaussianRandomGenerator;
import org.apache.commons.math3.random.MersenneTwister;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
+import org.apache.metron.common.utils.SerDeUtils;
+import org.apache.metron.stellar.common.StellarProcessor;
import org.apache.metron.stellar.dsl.Context;
import org.apache.metron.stellar.dsl.DefaultVariableResolver;
import org.apache.metron.stellar.dsl.StellarFunctions;
-import org.apache.metron.stellar.common.StellarProcessor;
-import org.apache.metron.common.utils.SerDeUtils;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import static org.junit.jupiter.api.Assertions.*;
+
public class MedianAbsoluteDeviationTest {
public static Object run(String rule, Map<String, Object> variables) {
Context context = Context.EMPTY_CONTEXT();
StellarProcessor processor = new StellarProcessor();
- Assert.assertTrue(rule + " not valid.", processor.validate(rule, context));
+ assertTrue(processor.validate(rule, context), rule + " not valid.");
return processor.parse(rule, new DefaultVariableResolver(x -> variables.get(x),x -> variables.containsKey(x)), StellarFunctions.FUNCTION_RESOLVER(), context);
}
private void assertScoreEquals(MedianAbsoluteDeviationFunctions.State currentState, MedianAbsoluteDeviationFunctions.State clonedState, double value) {
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", value));
Double clonedScore = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", clonedState, "value", value));
- Assert.assertEquals(score, clonedScore, 1e-6);
+ assertEquals(score, clonedScore, 1e-6);
}
@Test
@@ -93,23 +94,23 @@ public class MedianAbsoluteDeviationTest {
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMin()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being a minimum.", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being a minimum.");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMax()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being a maximum", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being a maximum");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean() + 4*stats.getStandardDeviation()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being 4 std deviations away from the mean", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being 4 std deviations away from the mean");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean() - 4*stats.getStandardDeviation()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being 4 std deviations away from the mean", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being 4 std deviations away from the mean");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean()));
- Assert.assertFalse("Score: " + score + " is an outlier despite being the mean", score > 3.5);
+ assertFalse(score > 3.5, "Score: " + score + " is an outlier despite being the mean");
}
}
@@ -138,23 +139,23 @@ public class MedianAbsoluteDeviationTest {
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMin()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being a minimum.", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being a minimum.");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMax()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being a maximum", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being a maximum");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean() + 4*stats.getStandardDeviation()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being 4 std deviations away from the mean", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being 4 std deviations away from the mean");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean() - 4*stats.getStandardDeviation()));
- Assert.assertTrue("Score: " + score + " is not an outlier despite being 4 std deviations away from the mean", score > 3.5);
+ assertTrue(score > 3.5, "Score: " + score + " is not an outlier despite being 4 std deviations away from the mean");
}
{
Double score = (Double) run("OUTLIER_MAD_SCORE(currentState, value)", ImmutableMap.of("currentState", currentState, "value", stats.getMean()));
- Assert.assertFalse("Score: " + score + " is an outlier despite being the mean", score > 3.5);
+ assertFalse(score > 3.5, "Score: " + score + " is an outlier despite being the mean");
}
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/SamplerFunctionsTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/SamplerFunctionsTest.java
index fe607f7..18208ac 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/SamplerFunctionsTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/SamplerFunctionsTest.java
@@ -23,20 +23,21 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import org.apache.metron.stellar.common.utils.StellarProcessorUtils;
import org.apache.metron.stellar.dsl.ParseException;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
+import static org.junit.jupiter.api.Assertions.*;
+
public class SamplerFunctionsTest {
static List<Double> sample = new ArrayList<>();
static List<String> sampleString = new ArrayList<>();
static List<Sampler> samplers = new ArrayList<>();
- @BeforeClass
+ @BeforeAll
public static void beforeClass() {
Random rng = new Random(0);
int sampleSize = 1000000;
@@ -57,57 +58,57 @@ public class SamplerFunctionsTest {
}
@Test
- public void testValidInit_default() throws Exception {
+ public void testValidInit_default() {
String stmt = "SAMPLE_INIT()";
Sampler s = (Sampler) StellarProcessorUtils.run(stmt, new HashMap<>());
- Assert.assertEquals(Sampler.DEFAULT_SIZE, s.getSize());
+ assertEquals(Sampler.DEFAULT_SIZE, s.getSize());
}
@Test
- public void testValidInit_withSize() throws Exception {
+ public void testValidInit_withSize() {
String stmt = "SAMPLE_INIT(size)";
Sampler s = (Sampler) StellarProcessorUtils.run(stmt, ImmutableMap.of("size", 10 ));
- Assert.assertEquals(10, s.getSize());
+ assertEquals(10, s.getSize());
}
- @Test(expected=ParseException.class)
+ @Test
public void testInvalidInit(){
String stmt = "SAMPLE_INIT(size)";
- Sampler s = (Sampler) StellarProcessorUtils.run(stmt, ImmutableMap.of("size", -10 ));
+ assertThrows(ParseException.class, () -> StellarProcessorUtils.run(stmt, ImmutableMap.of("size", -10 )));
}
@Test
- public void testGet() throws Exception {
+ public void testGet() {
String stmt = "SAMPLE_GET(SAMPLE_ADD(SAMPLE_INIT(size), values))";
Iterable<? extends Object> s = (Iterable<? extends Object>) StellarProcessorUtils.run(stmt, ImmutableMap.of("size", 10, "values", sample));
- Assert.assertEquals(10, Iterables.size(s));
+ assertEquals(10, Iterables.size(s));
for(Object o : s) {
- Assert.assertTrue(o instanceof Double);
- Assert.assertTrue(sample.contains(o));
+ assertTrue(o instanceof Double);
+ assertTrue(sample.contains(o));
}
}
@Test
- public void testAddSingle() throws Exception {
+ public void testAddSingle() {
String stmt = "SAMPLE_ADD(SAMPLE_INIT(size), value)";
Sampler s = (Sampler) StellarProcessorUtils.run(stmt, ImmutableMap.of("size", 10, "value", "blah"));
- Assert.assertEquals(10, s.getSize());
- Assert.assertTrue(Iterables.getFirst(s.get(), null) instanceof String);
+ assertEquals(10, s.getSize());
+ assertTrue(Iterables.getFirst(s.get(), null) instanceof String);
}
@Test
- public void testAddAll() throws Exception {
+ public void testAddAll() {
String stmt = "SAMPLE_ADD(SAMPLE_INIT(size), value)";
Sampler s = (Sampler) StellarProcessorUtils.run(stmt, ImmutableMap.of("size", 10, "value", sampleString));
- Assert.assertEquals(10, s.getSize());
+ assertEquals(10, s.getSize());
for(Object o : s.get()) {
- Assert.assertTrue(o instanceof String);
- Assert.assertTrue(sampleString.contains(o));
+ assertTrue(o instanceof String);
+ assertTrue(sampleString.contains(o));
}
}
@Test
- public void testMerge() throws Exception {
+ public void testMerge() {
Double sampleMean= null;
Double mergedSampleMean= null;
{
@@ -120,12 +121,12 @@ public class SamplerFunctionsTest {
String stmt = "STATS_MEAN(STATS_ADD(STATS_INIT(), SAMPLE_GET(SAMPLE_MERGE(samples))))";
mergedSampleMean = (Double) StellarProcessorUtils.run(stmt, ImmutableMap.of("samples", samplers));
}
- Assert.assertEquals(sampleMean, mergedSampleMean, .1);
+ assertEquals(sampleMean, mergedSampleMean, .1);
{
//Merge the sample with a simpler sampler
String stmt = "SAMPLE_MERGE(samples, SAMPLE_INIT(10))";
Sampler s = (Sampler) StellarProcessorUtils.run(stmt, ImmutableMap.of("samples", samplers));
- Assert.assertEquals(10, s.getSize());
+ assertEquals(10, s.getSize());
}
}
}
diff --git a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/UniformSamplerTest.java b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/UniformSamplerTest.java
index 91ca3bd..f87e05a 100644
--- a/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/UniformSamplerTest.java
+++ b/metron-analytics/metron-statistics/src/test/java/org/apache/metron/statistics/sampling/UniformSamplerTest.java
@@ -22,15 +22,16 @@ package org.apache.metron.statistics.sampling;
import org.apache.commons.math3.random.GaussianRandomGenerator;
import org.apache.commons.math3.random.MersenneTwister;
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Random;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
public class UniformSamplerTest {
public static final int SAMPLE_SIZE = 2000000;
static DescriptiveStatistics uniformStats = new DescriptiveStatistics();
@@ -38,7 +39,7 @@ public class UniformSamplerTest {
static DescriptiveStatistics gaussianStats = new DescriptiveStatistics();
static List<Double> gaussianSample = new ArrayList<>();
- @BeforeClass
+ @BeforeAll
public static void beforeClass() {
Random rng = new Random(0);
GaussianRandomGenerator gen = new GaussianRandomGenerator(new MersenneTwister(0));
@@ -71,8 +72,8 @@ public class UniformSamplerTest {
for(Object d : sample.get()) {
s.addValue((Double)d);
}
- Assert.assertEquals(s.getMean(), distribution.getMean(), .1);
- Assert.assertEquals(s.getStandardDeviation(), distribution.getStandardDeviation(), .1);
+ assertEquals(s.getMean(), distribution.getMean(), .1);
+ assertEquals(s.getStandardDeviation(), distribution.getStandardDeviation(), .1);
}
@Test
@@ -87,7 +88,7 @@ public class UniformSamplerTest {
UniformSampler sampler = new UniformSampler(10);
Iterable<Sampler> subsamples = getSubsamples(uniformSample);
Sampler s = SamplerUtil.INSTANCE.merge(subsamples, Optional.of(sampler));
- Assert.assertEquals(s.getSize(), 10);
+ assertEquals(s.getSize(), 10);
}
diff --git a/metron-analytics/pom.xml b/metron-analytics/pom.xml
index ceb0170..186eafc 100644
--- a/metron-analytics/pom.xml
+++ b/metron-analytics/pom.xml
@@ -61,9 +61,33 @@
<version>${global_slf4j_version}</version>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${global_junit_version}</version>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-migrationsupport</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ <version>${global_hamcrest_version}</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/metron-contrib/metron-performance/pom.xml b/metron-contrib/metron-performance/pom.xml
index 3233d61..04a327c 100644
--- a/metron-contrib/metron-performance/pom.xml
+++ b/metron-contrib/metron-performance/pom.xml
@@ -54,12 +54,6 @@
<version>${global_kafka_version}</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
<plugins>
diff --git a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/LoadOptionsTest.java b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/LoadOptionsTest.java
index c8a6f6e..0efce3a 100644
--- a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/LoadOptionsTest.java
+++ b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/LoadOptionsTest.java
@@ -17,61 +17,61 @@
*/
package org.apache.metron.performance.load;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.io.IOUtils;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import java.util.EnumMap;
import java.util.List;
import java.util.Optional;
+import static org.junit.jupiter.api.Assertions.*;
+
public class LoadOptionsTest {
@Test
- public void testHappyPath() throws Exception {
+ public void testHappyPath() {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[] { "-eps", "1000", "-ot","foo"});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
- Assert.assertEquals(1000L, results.get(LoadOptions.EPS).get());
- Assert.assertEquals("foo", results.get(LoadOptions.OUTPUT_TOPIC).get());
- Assert.assertEquals(LoadGenerator.CONSUMER_GROUP, results.get(LoadOptions.CONSUMER_GROUP).get());
- Assert.assertEquals(Runtime.getRuntime().availableProcessors(), results.get(LoadOptions.NUM_THREADS).get());
- Assert.assertFalse(results.get(LoadOptions.BIASED_SAMPLE).isPresent());
- Assert.assertFalse(results.get(LoadOptions.CSV).isPresent());
+ assertEquals(1000L, results.get(LoadOptions.EPS).get());
+ assertEquals("foo", results.get(LoadOptions.OUTPUT_TOPIC).get());
+ assertEquals(LoadGenerator.CONSUMER_GROUP, results.get(LoadOptions.CONSUMER_GROUP).get());
+ assertEquals(Runtime.getRuntime().availableProcessors(), results.get(LoadOptions.NUM_THREADS).get());
+ assertFalse(results.get(LoadOptions.BIASED_SAMPLE).isPresent());
+ assertFalse(results.get(LoadOptions.CSV).isPresent());
}
@Test
- public void testCsvPresent() throws Exception {
+ public void testCsvPresent() {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[]{"-c", "/tmp/blah"});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
- Assert.assertEquals(new File("/tmp/blah"), results.get(LoadOptions.CSV).get());
+ assertEquals(new File("/tmp/blah"), results.get(LoadOptions.CSV).get());
}
@Test
- public void testCsvMissing() throws Exception {
+ public void testCsvMissing() {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[]{});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
- Assert.assertFalse(results.get(LoadOptions.CSV).isPresent());
+ assertFalse(results.get(LoadOptions.CSV).isPresent());
}
@Test
- public void testThreadsByCores() throws Exception {
+ public void testThreadsByCores() {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[]{"-p", "2C"});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
- Assert.assertEquals(2 * Runtime.getRuntime().availableProcessors(), results.get(LoadOptions.NUM_THREADS).get());
+ assertEquals(2 * Runtime.getRuntime().availableProcessors(), results.get(LoadOptions.NUM_THREADS).get());
}
@Test
- public void testThreadsByNum() throws Exception {
+ public void testThreadsByNum() {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[]{"-p", "5"});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
- Assert.assertEquals(5, results.get(LoadOptions.NUM_THREADS).get());
+ assertEquals(5, results.get(LoadOptions.NUM_THREADS).get());
}
@Test
@@ -85,12 +85,12 @@ public class LoadOptionsTest {
CommandLine cli = LoadOptions.parse(new PosixParser(), new String[]{"-t", templateFile.getPath()});
EnumMap<LoadOptions, Optional<Object>> results = LoadOptions.createConfig(cli);
List<String> templates = (List<String>) results.get(LoadOptions.TEMPLATE).get();
- Assert.assertEquals(1, templates.size());
- Assert.assertEquals(template, templates.get(0));
+ assertEquals(1, templates.size());
+ assertEquals(template, templates.get(0));
}
- @Test(expected=IllegalStateException.class)
- public void testTemplateMissing() throws Exception {
- LoadOptions.createConfig(LoadOptions.parse(new PosixParser(), new String[]{"-t", "target/template2"}));
+ @Test
+ public void testTemplateMissing() {
+ assertThrows(IllegalStateException.class, () -> LoadOptions.createConfig(LoadOptions.parse(new PosixParser(), new String[]{"-t", "target/template2"})));
}
}
diff --git a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/SendToKafkaTest.java b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/SendToKafkaTest.java
index c652291..fa793f3 100644
--- a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/SendToKafkaTest.java
+++ b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/load/SendToKafkaTest.java
@@ -18,14 +18,15 @@
package org.apache.metron.performance.load;
import org.apache.kafka.clients.producer.KafkaProducer;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicLong;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
public class SendToKafkaTest {
@Test
@@ -36,14 +37,14 @@ public class SendToKafkaTest {
SendToKafka sender = new SendToKafka(null, expectedSent, 10, () -> "msg", executor, numSent, ThreadLocal.withInitial(() -> null) ) {
@Override
protected Future<?> sendToKafka(KafkaProducer producer, String kafkaTopic, String message) {
- Assert.assertEquals(message, "msg");
+ assertEquals(message, "msg");
return ForkJoinPool.commonPool().submit(() -> {
numSent.incrementAndGet();
});
}
};
sender.run();
- Assert.assertEquals(numSent.get(), expectedSent);
+ assertEquals(numSent.get(), expectedSent);
}
}
diff --git a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/sampler/SamplerTest.java b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/sampler/SamplerTest.java
index d386e00..2fe601f 100644
--- a/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/sampler/SamplerTest.java
+++ b/metron-contrib/metron-performance/src/test/java/org/apache/metron/performance/sampler/SamplerTest.java
@@ -19,19 +19,15 @@ package org.apache.metron.performance.sampler;
import com.google.common.collect.ImmutableList;
import org.adrianwalker.multilinestring.Multiline;
-import org.junit.Assert;
-import org.junit.Test;
-import sun.java2d.pipe.SpanShapeRenderer;
+import org.junit.jupiter.api.Test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
-import java.util.AbstractMap;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class SamplerTest {
private static final int SIMULATION_SIZE = 10000;
@@ -46,7 +42,7 @@ public class SamplerTest {
for(Map.Entry<Integer, Double> kv : empiricalProbs.entrySet()) {
double empiricalProb = kv.getValue()/SIMULATION_SIZE;
String msg = expectedProbs.get(kv.getKey()) + " != " + empiricalProb;
- Assert.assertEquals(msg, expectedProbs.get(kv.getKey()), empiricalProb, 1e-2);
+ assertEquals(expectedProbs.get(kv.getKey()), empiricalProb, 1e-2, msg);
}
}
@@ -97,9 +93,9 @@ public class SamplerTest {
public void testDistributionRead() throws IOException {
for(String config : ImmutableList.of(paretoConfig, paretoConfigImplicit)) {
List<Map.Entry<Integer, Integer>> endpoints = BiasedSampler.readDistribution(new BufferedReader(new StringReader(config)), true);
- Assert.assertEquals(2, endpoints.size());
- Assert.assertEquals(new AbstractMap.SimpleEntry<>(80,20), endpoints.get(0));
- Assert.assertEquals(new AbstractMap.SimpleEntry<>(20,80), endpoints.get(1));
+ assertEquals(2, endpoints.size());
+ assertEquals(new AbstractMap.SimpleEntry<>(80,20), endpoints.get(0));
+ assertEquals(new AbstractMap.SimpleEntry<>(20,80), endpoints.get(1));
}
}
@@ -121,25 +117,25 @@ public class SamplerTest {
public void testDistributionReadLonger() throws IOException {
for(String config : ImmutableList.of(longerConfig, longerConfigImplicit)) {
List<Map.Entry<Integer, Integer>> endpoints = BiasedSampler.readDistribution(new BufferedReader(new StringReader(config)), true);
- Assert.assertEquals(3, endpoints.size());
- Assert.assertEquals(new AbstractMap.SimpleEntry<>(80,20), endpoints.get(0));
- Assert.assertEquals(new AbstractMap.SimpleEntry<>(10,70), endpoints.get(1));
- Assert.assertEquals(new AbstractMap.SimpleEntry<>(10,10), endpoints.get(2));
+ assertEquals(3, endpoints.size());
+ assertEquals(new AbstractMap.SimpleEntry<>(80,20), endpoints.get(0));
+ assertEquals(new AbstractMap.SimpleEntry<>(10,70), endpoints.get(1));
+ assertEquals(new AbstractMap.SimpleEntry<>(10,10), endpoints.get(2));
}
}
- @Test(expected=IllegalArgumentException.class)
- public void testDistributionRead_garbage() throws IOException {
- BiasedSampler.readDistribution(new BufferedReader(new StringReader("blah foo")), true);
+ @Test
+ public void testDistributionRead_garbage() {
+ assertThrows(IllegalArgumentException.class, () -> BiasedSampler.readDistribution(new BufferedReader(new StringReader("blah foo")), true));
}
- @Test(expected=IllegalArgumentException.class)
- public void testDistributionRead_negative() throws IOException {
- BiasedSampler.readDistribution(new BufferedReader(new StringReader("80,-20")), true);
+ @Test
+ public void testDistributionRead_negative() {
+ assertThrows(IllegalArgumentException.class, () -> BiasedSampler.readDistribution(new BufferedReader(new StringReader("80,-20")), true));
}
- @Test(expected=IllegalArgumentException.class)
- public void testDistributionRead_over100() throws IOException {
- BiasedSampler.readDistribution(new BufferedReader(new StringReader("200,20")), true);
+ @Test
+ public void testDistributionRead_over100() {
+ assertThrows(IllegalArgumentException.class, () -> BiasedSampler.readDistribution(new BufferedReader(new StringReader("200,20")), true));
}
}
diff --git a/metron-contrib/pom.xml b/metron-contrib/pom.xml
index e10220b..dc8b828 100644
--- a/metron-contrib/pom.xml
+++ b/metron-contrib/pom.xml
@@ -44,11 +44,17 @@
</modules>
<dependencies>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${global_junit_version}</version>
- <scope>test</scope>
- </dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${global_junit_jupiter_version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.adrianwalker</groupId>
<artifactId>multiline-string</artifactId>
diff --git a/metron-interface/metron-rest/pom.xml b/metron-interface/metron-rest/pom.xml
index 630130c..ca59cb4 100644
--- a/metron-interface/metron-rest/pom.xml
+++ b/metron-interface/metron-rest/pom.xml
@@ -28,7 +28,6 @@
<java.version>1.8</java.version>
<antlr.version>4.5</antlr.version>
<curator.version>2.7.1</curator.version>
- <powermock.version>1.6.4</powermock.version>
<spring.boot.version>2.0.1.RELEASE</spring.boot.version>
<spring.kerberos.version>1.0.1.RELEASE</spring.kerberos.version>
<spring.ldap.core.version>2.3.2.RELEASE</spring.ldap.core.version>
@@ -43,9 +42,6 @@
</properties>
<dependencies>
<dependency>
- <!-- There's an issue with the Javassist versions used by our version of Powermock. Keep the explicit test dep at the top
- so it takes precedence during testing - https://github.com/powermock/powermock/issues/729
- -->
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
@@ -376,6 +372,12 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
@@ -387,24 +389,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-module-junit4</artifactId>
- <version>${powermock.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>javassist</artifactId>
- <groupId>org.javassist</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
- <version>${powermock.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.metron</groupId>
<artifactId>metron-integration-test</artifactId>
<version>${project.parent.version}</version>
@@ -521,6 +505,13 @@
<artifactId>nimbus-jose-jwt</artifactId>
<version>${jwt.version}</version>
</dependency>
+ <!-- Needed to fix Mockito issue: https://github.com/mockito/mockito/issues/1606 -->
+ <dependency>
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>1.10.2</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<dependencyManagement>
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HBaseConfig.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HBaseConfig.java
index 7ce16f9..d97978f 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HBaseConfig.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HBaseConfig.java
@@ -55,10 +55,15 @@ public class HBaseConfig {
} catch (RestException e) {
throw new IllegalStateException("Unable to retrieve the global config.", e);
}
- }, new HTableProvider());
+ }, getTableProvider());
return userSettingsClient;
}
+ // Used for testing
+ protected HTableProvider getTableProvider() {
+ return new HTableProvider();
+ }
+
@Bean()
public HBaseClient hBaseClient() {
Map<String, Object> restConfig = null;
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HadoopConfig.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HadoopConfig.java
index 98c8108..16c3654 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HadoopConfig.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/HadoopConfig.java
@@ -40,11 +40,21 @@ public class HadoopConfig {
public org.apache.hadoop.conf.Configuration configuration() throws IOException {
org.apache.hadoop.conf.Configuration configuration = new org.apache.hadoop.conf.Configuration();
if (environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)) {
- UserGroupInformation.setConfiguration(configuration);
+ setUGIConfiguration(configuration);
String keyTabLocation = environment.getProperty(MetronRestConstants.KERBEROS_KEYTAB_SPRING_PROPERTY);
String userPrincipal = environment.getProperty(MetronRestConstants.KERBEROS_PRINCIPLE_SPRING_PROPERTY);
- UserGroupInformation.loginUserFromKeytab(userPrincipal, keyTabLocation);
+ loginUserFromKeytab(keyTabLocation, userPrincipal);
}
return configuration;
}
+
+ // Exposed for testing
+ protected void setUGIConfiguration(org.apache.hadoop.conf.Configuration configuration) {
+ UserGroupInformation.setConfiguration(configuration);
+ }
+
+ // Exposed for testing
+ protected void loginUserFromKeytab(String keyTabLocation, String userPrincipal) throws IOException {
+ UserGroupInformation.loginUserFromKeytab(userPrincipal, keyTabLocation);
+ }
}
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilter.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilter.java
index d140a2f..e58063a 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilter.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilter.java
@@ -32,6 +32,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
@@ -49,6 +50,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.security.cert.CertificateException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
@@ -116,12 +118,12 @@ public class KnoxSSOAuthenticationFilter implements Filter {
if (serializedJWT != null) {
SignedJWT jwtToken;
try {
- jwtToken = SignedJWT.parse(serializedJWT);
+ jwtToken = parseJWT(serializedJWT);
String userName = jwtToken.getJWTClaimsSet().getSubject();
LOG.info("SSO login user : {} ", userName);
if (isValid(jwtToken, userName)) {
Authentication authentication = getAuthentication(userName, httpRequest);
- SecurityContextHolder.getContext().setAuthentication(authentication);
+ getSecurityContext().setAuthentication(authentication);
}
} catch (ParseException e) {
LOG.warn("Unable to parse the JWT token", e);
@@ -131,6 +133,16 @@ public class KnoxSSOAuthenticationFilter implements Filter {
chain.doFilter(request, response);
}
+ // exposed for testing
+ protected SecurityContext getSecurityContext() {
+ return SecurityContextHolder.getContext();
+ }
+
+ // exposed for testing
+ protected SignedJWT parseJWT(String serializedJWT) throws ParseException {
+ return SignedJWT.parse(serializedJWT);
+ }
+
/**
* Validates a Knox token with expiration and begin times and verifies the token with a public Knox key.
* @param jwtToken Knox token
@@ -187,7 +199,7 @@ public class KnoxSSOAuthenticationFilter implements Filter {
if (jwtToken.getSignature() != null) {
LOG.debug("SSO token signature is not null");
try {
- JWSVerifier verifier = new RSASSAVerifier(SecurityUtils.parseRSAPublicKey(getKnoxKey()));
+ JWSVerifier verifier = getRSASSAVerifier();
if (jwtToken.verify(verifier)) {
LOG.debug("SSO token has been successfully verified");
return true;
@@ -202,6 +214,11 @@ public class KnoxSSOAuthenticationFilter implements Filter {
return false;
}
+ // exposed for testing
+ protected RSASSAVerifier getRSASSAVerifier() throws CertificateException, IOException {
+ return new RSASSAVerifier(SecurityUtils.parseRSAPublicKey(getKnoxKey()));
+ }
+
/**
* Encapsulate the acquisition of the JWT token from HTTP cookies within the
* request.
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/RestTemplateConfig.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/RestTemplateConfig.java
index 7443ccd..9034974 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/RestTemplateConfig.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/config/RestTemplateConfig.java
@@ -44,11 +44,16 @@ public class RestTemplateConfig {
if (environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)) {
String keyTabLocation = environment.getProperty(MetronRestConstants.KERBEROS_KEYTAB_SPRING_PROPERTY);
String userPrincipal = environment.getProperty(MetronRestConstants.KERBEROS_PRINCIPLE_SPRING_PROPERTY);
- return new KerberosRestTemplate(keyTabLocation, userPrincipal);
+ return getKerberosRestTemplate(keyTabLocation, userPrincipal);
} else {
return new RestTemplate();
}
}
+ // Exposed for testing
+ protected KerberosRestTemplate getKerberosRestTemplate(String keyTabLocation, String userPrincipal) {
+ return new KerberosRestTemplate(keyTabLocation, userPrincipal);
+ }
+
}
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapper.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapper.java
index 168d11d..6650fc3 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapper.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapper.java
@@ -69,7 +69,8 @@ public class DockerStormCLIWrapper extends StormCLIWrapper {
}
}
- private ProcessBuilder getDockerEnvironmentProcessBuilder() {
+ // Exposed for testing
+ protected ProcessBuilder getDockerEnvironmentProcessBuilder() {
String[] command = {"docker-machine", "env", "metron-machine"};
return new ProcessBuilder(command);
}
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/HdfsServiceImpl.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/HdfsServiceImpl.java
index d637ecf..d88d342 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/HdfsServiceImpl.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/HdfsServiceImpl.java
@@ -52,7 +52,7 @@ public class HdfsServiceImpl implements HdfsService {
@Override
public List<String> list(Path path) throws RestException {
try {
- return Arrays.asList(FileSystem.get(configuration).listStatus(path)).stream().map(fileStatus -> fileStatus.getPath().getName()).collect(Collectors.toList());
+ return Arrays.asList(getFileSystem().listStatus(path)).stream().map(fileStatus -> fileStatus.getPath().getName()).collect(Collectors.toList());
} catch (IOException e) {
throw new RestException(e);
}
@@ -62,7 +62,7 @@ public class HdfsServiceImpl implements HdfsService {
public String read(Path path) throws RestException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
- IOUtils.copyBytes(FileSystem.get(configuration).open(path), byteArrayOutputStream, configuration);
+ IOUtils.copyBytes(getFileSystem().open(path), byteArrayOutputStream, configuration);
} catch (FileNotFoundException e) {
return null;
} catch (IOException e) {
@@ -90,11 +90,11 @@ public class HdfsServiceImpl implements HdfsService {
permission = new FsPermission(userAction, groupAction, otherAction);
setPermissions = true;
}
- fsDataOutputStream = FileSystem.get(configuration).create(path, true);
+ fsDataOutputStream = getFileSystem().create(path, true);
fsDataOutputStream.write(contents);
fsDataOutputStream.close();
if(setPermissions) {
- FileSystem.get(configuration).setPermission(path, permission);
+ getFileSystem().setPermission(path, permission);
}
} catch (IOException e) {
throw new RestException(e);
@@ -104,7 +104,7 @@ public class HdfsServiceImpl implements HdfsService {
@Override
public boolean delete(Path path, boolean recursive) throws RestException {
try {
- return FileSystem.get(configuration).delete(path, recursive);
+ return getFileSystem().delete(path, recursive);
} catch (IOException e) {
throw new RestException(e);
}
@@ -113,9 +113,14 @@ public class HdfsServiceImpl implements HdfsService {
@Override
public boolean mkdirs(Path path) throws RestException {
try {
- return FileSystem.get(configuration).mkdirs(path);
+ return getFileSystem().mkdirs(path);
} catch (IOException e) {
throw new RestException(e);
}
}
- }
+
+ // Exposed for testing
+ protected FileSystem getFileSystem() throws IOException {
+ return FileSystem.get(configuration);
+ }
+}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/MetronRestApplicationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/MetronRestApplicationTest.java
deleted file mode 100644
index 3025932..0000000
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/MetronRestApplicationTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.apache.metron.rest;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.springframework.boot.SpringApplication;
-
-import static org.mockito.Mockito.times;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.verifyStatic;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({SpringApplication.class})
-public class MetronRestApplicationTest {
-
- @Test
- public void test() {
- mockStatic(SpringApplication.class);
- String[] args = {"arg1", "arg2"};
- MetronRestApplication.main(args);
- verifyStatic(times(1));
- SpringApplication.run(MetronRestApplication.class, args);
- }
-}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HBaseConfigTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HBaseConfigTest.java
index 720f1ff..2b56260 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HBaseConfigTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HBaseConfigTest.java
@@ -17,41 +17,31 @@
*/
package org.apache.metron.rest.config;
-import static org.apache.metron.rest.user.UserSettingsClient.USER_SETTINGS_HBASE_CF;
-import static org.apache.metron.rest.user.UserSettingsClient.USER_SETTINGS_HBASE_TABLE;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
-
-import java.util.HashMap;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.metron.common.configuration.EnrichmentConfigurations;
import org.apache.metron.hbase.HTableProvider;
import org.apache.metron.hbase.mock.MockHBaseTableProvider;
import org.apache.metron.rest.service.GlobalConfigService;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.HashMap;
+
+import static org.apache.metron.rest.user.UserSettingsClient.USER_SETTINGS_HBASE_CF;
+import static org.apache.metron.rest.user.UserSettingsClient.USER_SETTINGS_HBASE_TABLE;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.mockito.Mockito.*;
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({HTableProvider.class, HBaseConfiguration.class, HBaseConfig.class})
public class HBaseConfigTest {
private GlobalConfigService globalConfigService;
private HBaseConfig hBaseConfig;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
globalConfigService = mock(GlobalConfigService.class);
- hBaseConfig = new HBaseConfig(globalConfigService);
- mockStatic(HBaseConfiguration.class);
+ hBaseConfig = mock(HBaseConfig.class,
+ withSettings().useConstructor(globalConfigService).defaultAnswer(CALLS_REAL_METHODS));
}
@Test
@@ -61,13 +51,11 @@ public class HBaseConfigTest {
put(USER_SETTINGS_HBASE_CF, "global_config_user_settings_cf");
}});
HTableProvider htableProvider = mock(HTableProvider.class);
- whenNew(HTableProvider.class).withNoArguments().thenReturn(htableProvider);
- Configuration configuration = mock(Configuration.class);
- when(HBaseConfiguration.create()).thenReturn(configuration);
+ doReturn(htableProvider).when(hBaseConfig).getTableProvider();
hBaseConfig.userSettingsClient();
- verify(htableProvider).getTable(configuration, "global_config_user_settings_table");
- verifyZeroInteractions(htableProvider);
+ verify(htableProvider).getTable(any(Configuration.class), eq("global_config_user_settings_table"));
+ verifyNoMoreInteractions(htableProvider);
}
@Test
@@ -76,7 +64,7 @@ public class HBaseConfigTest {
put(EnrichmentConfigurations.TABLE_PROVIDER, MockHBaseTableProvider.class.getName());
put(EnrichmentConfigurations.TABLE_NAME, "enrichment_list_hbase_table_name");
}});
- Assert.assertNotNull(hBaseConfig.hBaseClient());
+ assertNotNull(hBaseConfig.hBaseClient());
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HadoopConfigTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HadoopConfigTest.java
index 7504e3e..ffbff9e 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HadoopConfigTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/HadoopConfigTest.java
@@ -18,40 +18,25 @@
package org.apache.metron.rest.config;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.security.UserGroupInformation;
import org.apache.metron.rest.MetronRestConstants;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
import java.io.IOException;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.when;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.*;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.verifyStatic;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({HadoopConfig.class, UserGroupInformation.class})
public class HadoopConfigTest {
private Environment environment;
private HadoopConfig hadoopConfig;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
environment = mock(Environment.class);
- hadoopConfig = new HadoopConfig(environment);
- mockStatic(UserGroupInformation.class);
+ hadoopConfig = spy(new HadoopConfig(environment));
}
@Test
@@ -61,11 +46,13 @@ public class HadoopConfigTest {
when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(true);
- Configuration configuration = hadoopConfig.configuration();
+ doNothing().when(hadoopConfig).setUGIConfiguration(any());
+ doNothing().when(hadoopConfig).loginUserFromKeytab(any(), any());
+
+ hadoopConfig.configuration();
- verifyStatic();
- UserGroupInformation.setConfiguration(any(Configuration.class));
- UserGroupInformation.loginUserFromKeytab("metron keytabLocation", "metron principal");
+ verify(hadoopConfig).setUGIConfiguration(any());
+ verify(hadoopConfig).loginUserFromKeytab("metron keytabLocation", "metron principal");
}
@Test
@@ -74,9 +61,13 @@ public class HadoopConfigTest {
Configuration configuration = hadoopConfig.configuration();
- verifyStatic(never());
- UserGroupInformation.setConfiguration(any(Configuration.class));
- UserGroupInformation.loginUserFromKeytab(anyString(), anyString());
+ doNothing().when(hadoopConfig).setUGIConfiguration(any());
+ doNothing().when(hadoopConfig).loginUserFromKeytab(any(), any());
+
+ hadoopConfig.configuration();
+
+ verify(hadoopConfig, times(0)).setUGIConfiguration(any());
+ verify(hadoopConfig, times(0)).loginUserFromKeytab(any(), any());
assertEquals("simple", configuration.get("hadoop.security.authentication"));
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KafkaConfigTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KafkaConfigTest.java
index dab924f..0e56403 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KafkaConfigTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KafkaConfigTest.java
@@ -17,30 +17,31 @@
*/
package org.apache.metron.rest.config;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.Map;
import org.apache.metron.rest.MetronRestConstants;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
public class KafkaConfigTest {
private Environment environment;
private KafkaConfig kafkaConfig;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
environment = mock(Environment.class);
kafkaConfig = new KafkaConfig(environment);
}
@Test
- public void kafkaConfigShouldProperlyReturnConsumerProperties() throws Exception {
+ public void kafkaConfigShouldProperlyReturnConsumerProperties() {
when(environment.getProperty(MetronRestConstants.KAFKA_BROKER_URL_SPRING_PROPERTY)).thenReturn("broker urls");
when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(false);
@@ -56,7 +57,7 @@ public class KafkaConfigTest {
}
@Test
- public void kafkaConfigShouldProperlyReturnProducerProperties() throws Exception {
+ public void kafkaConfigShouldProperlyReturnProducerProperties() {
when(environment.getProperty(MetronRestConstants.KAFKA_BROKER_URL_SPRING_PROPERTY)).thenReturn("broker urls");
when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(false);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilterTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilterTest.java
index e00bc70..1fab5ce 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilterTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/KnoxSSOAuthenticationFilterTest.java
@@ -17,6 +17,22 @@
*/
package org.apache.metron.rest.config;
+import static junit.framework.TestCase.assertNull;
+import static junit.framework.TestCase.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSAlgorithm;
import com.nimbusds.jose.JWSHeader;
@@ -25,25 +41,6 @@ import com.nimbusds.jose.crypto.RSASSAVerifier;
import com.nimbusds.jose.util.Base64URL;
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.jwt.SignedJWT;
-import org.apache.commons.io.FileUtils;
-import org.apache.metron.rest.security.SecurityUtils;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.springframework.ldap.core.AttributesMapper;
-import org.springframework.ldap.core.LdapTemplate;
-import org.springframework.ldap.query.LdapQuery;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
@@ -52,40 +49,28 @@ import java.security.interfaces.RSAPublicKey;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Date;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.io.FileUtils;
+import org.junit.jupiter.api.Test;
+import org.springframework.ldap.core.AttributesMapper;
+import org.springframework.ldap.core.LdapTemplate;
+import org.springframework.ldap.query.LdapQuery;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
-import static junit.framework.TestCase.assertNull;
-import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({KnoxSSOAuthenticationFilter.class, SignedJWT.class, SecurityContextHolder.class, SecurityUtils.class, RSASSAVerifier.class})
public class KnoxSSOAuthenticationFilterTest {
-
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
@Test
public void shouldThrowExceptionOnMissingLdapTemplate() {
- exception.expect(IllegalStateException.class);
- exception.expectMessage("KnoxSSO requires LDAP. You must add 'ldap' to the active profiles.");
-
- new KnoxSSOAuthenticationFilter("userSearchBase",
- mock(Path.class),
- "knoxKeyString",
- "knoxCookie",
- null
- );
+ IllegalStateException e =
+ assertThrows(
+ IllegalStateException.class,
+ () ->
+ new KnoxSSOAuthenticationFilter(
+ "userSearchBase", mock(Path.class), "knoxKeyString", "knoxCookie", null));
+ assertEquals("KnoxSSO requires LDAP. You must add 'ldap' to the active profiles.", e.getMessage());
}
@Test
@@ -100,19 +85,17 @@ public class KnoxSSOAuthenticationFilterTest {
ServletResponse response = mock(ServletResponse.class);
FilterChain chain = mock(FilterChain.class);
SignedJWT signedJWT = mock(SignedJWT.class);
- mockStatic(SignedJWT.class);
JWTClaimsSet jwtClaimsSet = new JWTClaimsSet.Builder().subject("userName").build();
Authentication authentication = mock(Authentication.class);
SecurityContext securityContext = mock(SecurityContext.class);
- mockStatic(SecurityContextHolder.class);
when(request.getHeader("Authorization")).thenReturn(null);
doReturn("serializedJWT").when(knoxSSOAuthenticationFilter).getJWTFromCookie(request);
- when(SignedJWT.parse("serializedJWT")).thenReturn(signedJWT);
+ doReturn(signedJWT).when(knoxSSOAuthenticationFilter).parseJWT(any());
when(signedJWT.getJWTClaimsSet()).thenReturn(jwtClaimsSet);
doReturn(true).when(knoxSSOAuthenticationFilter).isValid(signedJWT, "userName");
doReturn(authentication).when(knoxSSOAuthenticationFilter).getAuthentication("userName", request);
- when(SecurityContextHolder.getContext()).thenReturn(securityContext);
+ doReturn(securityContext).when(knoxSSOAuthenticationFilter).getSecurityContext();
knoxSSOAuthenticationFilter.doFilter(request, response, chain);
@@ -153,12 +136,10 @@ public class KnoxSSOAuthenticationFilterTest {
HttpServletRequest request = mock(HttpServletRequest.class);
ServletResponse response = mock(ServletResponse.class);
FilterChain chain = mock(FilterChain.class);
- SignedJWT signedJWT = mock(SignedJWT.class);
- mockStatic(SignedJWT.class);
when(request.getHeader("Authorization")).thenReturn(null);
doReturn("serializedJWT").when(knoxSSOAuthenticationFilter).getJWTFromCookie(request);
- when(SignedJWT.parse("serializedJWT")).thenThrow(new ParseException("parse exception", 0));
+ doThrow(new ParseException("parse exception", 0)).when(knoxSSOAuthenticationFilter).parseJWT(any());
knoxSSOAuthenticationFilter.doFilter(request, response, chain);
@@ -179,12 +160,11 @@ public class KnoxSSOAuthenticationFilterTest {
ServletResponse response = mock(ServletResponse.class);
FilterChain chain = mock(FilterChain.class);
SignedJWT signedJWT = mock(SignedJWT.class);
- mockStatic(SignedJWT.class);
JWTClaimsSet jwtClaimsSet = new JWTClaimsSet.Builder().subject("userName").build();
when(request.getHeader("Authorization")).thenReturn(null);
doReturn("serializedJWT").when(knoxSSOAuthenticationFilter).getJWTFromCookie(request);
- when(SignedJWT.parse("serializedJWT")).thenReturn(signedJWT);
+ doReturn(signedJWT).when(knoxSSOAuthenticationFilter).parseJWT(any());
when(signedJWT.getJWTClaimsSet()).thenReturn(jwtClaimsSet);
doReturn(false).when(knoxSSOAuthenticationFilter).isValid(signedJWT, "userName");
@@ -281,9 +261,7 @@ public class KnoxSSOAuthenticationFilterTest {
when(jwtToken.getSignature()).thenReturn(signature);
RSAPublicKey rsaPublicKey = mock(RSAPublicKey.class);
RSASSAVerifier rsaSSAVerifier = mock(RSASSAVerifier.class);
- mockStatic(SecurityUtils.class);
- when(SecurityUtils.parseRSAPublicKey("knoxKeyString")).thenReturn(rsaPublicKey);
- whenNew(RSASSAVerifier.class).withArguments(rsaPublicKey).thenReturn(rsaSSAVerifier);
+ doReturn(rsaSSAVerifier).when(knoxSSOAuthenticationFilter).getRSASSAVerifier();
{
// Should be invalid if token verify throws an exception
when(jwtToken.verify(rsaSSAVerifier)).thenThrow(new JOSEException("verify exception"));
@@ -365,7 +343,7 @@ public class KnoxSSOAuthenticationFilterTest {
@SuppressWarnings("unchecked")
@Test
- public void getAuthenticationShouldProperlyPopulateAuthentication() throws Exception {
+ public void getAuthenticationShouldProperlyPopulateAuthentication() {
LdapTemplate ldapTemplate = mock(LdapTemplate.class);
KnoxSSOAuthenticationFilter knoxSSOAuthenticationFilter = spy(new KnoxSSOAuthenticationFilter("ou=people,dc=hadoop,dc=apache,dc=org",
mock(Path.class),
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/MetronAuthoritiesMapperTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/MetronAuthoritiesMapperTest.java
index b3af370..f10ad92 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/MetronAuthoritiesMapperTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/MetronAuthoritiesMapperTest.java
@@ -17,8 +17,7 @@
*/
package org.apache.metron.rest.config;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -26,9 +25,8 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import static org.apache.metron.rest.MetronRestConstants.SECURITY_ROLE_ADMIN;
-import static org.apache.metron.rest.MetronRestConstants.SECURITY_ROLE_PREFIX;
-import static org.apache.metron.rest.MetronRestConstants.SECURITY_ROLE_USER;
+import static org.apache.metron.rest.MetronRestConstants.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class MetronAuthoritiesMapperTest {
@@ -47,8 +45,8 @@ public class MetronAuthoritiesMapperTest {
// should map "ACME_METRON_USER" to "ROLE_USER"
Collection<? extends GrantedAuthority> actuals = mapper.mapAuthorities(input);
- Assert.assertEquals(1, actuals.size());
- Assert.assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_USER, actuals.iterator().next().getAuthority());
+ assertEquals(1, actuals.size());
+ assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_USER, actuals.iterator().next().getAuthority());
}
@Test
@@ -63,8 +61,8 @@ public class MetronAuthoritiesMapperTest {
// should map "ACME_ADMIN" to "ROLE_ADMIN"
Collection<? extends GrantedAuthority> actuals = mapper.mapAuthorities(input);
- Assert.assertEquals(1, actuals.size());
- Assert.assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_ADMIN, actuals.iterator().next().getAuthority());
+ assertEquals(1, actuals.size());
+ assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_ADMIN, actuals.iterator().next().getAuthority());
}
@Test
@@ -79,7 +77,7 @@ public class MetronAuthoritiesMapperTest {
input.add(new SimpleGrantedAuthority("ROLE_" + "YET_ANOTHER_ROLE"));
Collection<? extends GrantedAuthority> actuals = mapper.mapAuthorities(input);
- Assert.assertEquals(0, actuals.size());
+ assertEquals(0, actuals.size());
}
@Test
@@ -95,7 +93,7 @@ public class MetronAuthoritiesMapperTest {
// should map "ACME_ADMIN" to "ROLE_ADMIN"
Collection<? extends GrantedAuthority> actuals = mapper.mapAuthorities(input);
- Assert.assertEquals(1, actuals.size());
- Assert.assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_ADMIN, actuals.iterator().next().getAuthority());
+ assertEquals(1, actuals.size());
+ assertEquals(SECURITY_ROLE_PREFIX + SECURITY_ROLE_ADMIN, actuals.iterator().next().getAuthority());
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/RestTemplateConfigTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/RestTemplateConfigTest.java
index 0d9d620..bafd9ca 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/RestTemplateConfigTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/config/RestTemplateConfigTest.java
@@ -18,50 +18,44 @@
package org.apache.metron.rest.config;
import org.apache.metron.rest.MetronRestConstants;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
-import org.springframework.security.kerberos.client.KerberosRestTemplate;
-import org.springframework.web.client.RestTemplate;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.verifyNew;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
+import static org.mockito.Mockito.*;
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({RestTemplateConfig.class, KerberosRestTemplate.class, RestTemplate.class})
public class RestTemplateConfigTest {
private Environment environment;
private RestTemplateConfig restTemplateConfig;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
environment = mock(Environment.class);
- restTemplateConfig = new RestTemplateConfig(environment);
+ restTemplateConfig = mock(RestTemplateConfig.class,
+ withSettings().useConstructor(environment).defaultAnswer(CALLS_REAL_METHODS));
}
@Test
- public void restTemplateShouldReturnProperTemplate() throws Exception {
+ public void restTemplateShouldReturnProperNonKerberosTemplate() {
+ when(environment.getProperty(MetronRestConstants.KERBEROS_KEYTAB_SPRING_PROPERTY)).thenReturn("metron keytabLocation");
+ when(environment.getProperty(MetronRestConstants.KERBEROS_PRINCIPLE_SPRING_PROPERTY)).thenReturn("metron principal");
+
+ when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(false);
+
+ verify(restTemplateConfig, times(0)).getKerberosRestTemplate(any(), any());
+ }
+
+ @Test
+ public void restTemplateShouldReturnProperKerberosTemplate() {
when(environment.getProperty(MetronRestConstants.KERBEROS_KEYTAB_SPRING_PROPERTY)).thenReturn("metron keytabLocation");
when(environment.getProperty(MetronRestConstants.KERBEROS_PRINCIPLE_SPRING_PROPERTY)).thenReturn("metron principal");
- whenNew(KerberosRestTemplate.class).withParameterTypes(String.class, String.class).withArguments("metron keytabLocation", "metron principal").thenReturn(null);
when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(true);
restTemplateConfig.restTemplate();
- verifyNew(KerberosRestTemplate.class).withArguments("metron keytabLocation", "metron principal");
+ verify(restTemplateConfig).getKerberosRestTemplate("metron keytabLocation", "metron principal");
- whenNew(RestTemplate.class).withNoArguments().thenReturn(null);
when(environment.getProperty(MetronRestConstants.KERBEROS_ENABLED_SPRING_PROPERTY, Boolean.class, false)).thenReturn(false);
-
- restTemplateConfig.restTemplate();
- verifyNew(RestTemplate.class).withNoArguments();
}
-
-
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/AlertsUIControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/AlertsUIControllerIntegrationTest.java
index 49863d6..28a4098 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/AlertsUIControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/AlertsUIControllerIntegrationTest.java
@@ -17,36 +17,32 @@
*/
package org.apache.metron.rest.controller;
-import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
-import static org.hamcrest.Matchers.hasSize;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
-import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.integration.ComponentRunner;
import org.apache.metron.integration.UnableToStartException;
import org.apache.metron.integration.components.KafkaComponent;
import org.apache.metron.rest.service.AlertsUIService;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-@RunWith(SpringRunner.class)
+import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.hamcrest.Matchers.hasSize;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
+import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class AlertsUIControllerIntegrationTest {
@@ -135,7 +131,7 @@ public class AlertsUIControllerIntegrationTest {
private String admin = "admin";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
for (String user : alertsUIService.findAllAlertsUIUserSettings().keySet()) {
alertsUIService.deleteAlertsUIUserSettings(user);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GlobalConfigControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GlobalConfigControllerIntegrationTest.java
index 4351959..ad2edcc 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GlobalConfigControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GlobalConfigControllerIntegrationTest.java
@@ -19,14 +19,14 @@ package org.apache.metron.rest.controller;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.rest.service.GlobalConfigService;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -36,13 +36,11 @@ import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class GlobalConfigControllerIntegrationTest {
@@ -70,7 +68,7 @@ public class GlobalConfigControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GrokControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GrokControllerIntegrationTest.java
index ee7587e..1d0a510 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GrokControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/GrokControllerIntegrationTest.java
@@ -17,22 +17,22 @@
*/
package org.apache.metron.rest.controller;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.commons.io.FileUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
@@ -40,11 +40,9 @@ import static org.springframework.security.test.web.servlet.request.SecurityMock
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class GrokControllerIntegrationTest {
@@ -86,7 +84,7 @@ public class GrokControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/HdfsControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/HdfsControllerIntegrationTest.java
index a5c6043..2d5a2f4 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/HdfsControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/HdfsControllerIntegrationTest.java
@@ -17,32 +17,31 @@
*/
package org.apache.metron.rest.controller;
-import java.nio.charset.StandardCharsets;
import org.apache.hadoop.fs.Path;
import org.apache.metron.rest.service.HdfsService;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
+import java.nio.charset.StandardCharsets;
+
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class HdfsControllerIntegrationTest {
@@ -61,7 +60,7 @@ public class HdfsControllerIntegrationTest {
private String path = "./target/hdfsTest.txt";
private String fileContents = "file contents";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/KafkaControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/KafkaControllerIntegrationTest.java
index 5719a41..59858b1 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/KafkaControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/KafkaControllerIntegrationTest.java
@@ -17,17 +17,6 @@
*/
package org.apache.metron.rest.controller;
-import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
-import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
import kafka.common.TopicAlreadyMarkedForDeletionException;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.integration.ComponentRunner;
@@ -35,22 +24,29 @@ import org.apache.metron.integration.UnableToStartException;
import org.apache.metron.integration.components.KafkaComponent;
import org.apache.metron.rest.service.KafkaService;
import org.hamcrest.Matchers;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.util.NestedServletException;
-@RunWith(SpringRunner.class)
+import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
+import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class KafkaControllerIntegrationTest {
@@ -142,7 +138,7 @@ public class KafkaControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
runner = new ComponentRunner.Builder()
.withComponent("kafka", kafkaWithZKComponent)
@@ -280,7 +276,7 @@ public class KafkaControllerIntegrationTest {
}
}
- @After
+ @AfterEach
public void tearDown() {
runner.stop();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/MetaAlertControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/MetaAlertControllerIntegrationTest.java
index 8e3abe5..63253d0 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/MetaAlertControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/MetaAlertControllerIntegrationTest.java
@@ -18,21 +18,7 @@
package org.apache.metron.rest.controller;
-import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.greaterThan;
-import static org.hamcrest.Matchers.hasSize;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
-import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
import com.google.common.collect.ImmutableMap;
-import java.util.ArrayList;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.curator.framework.CuratorFramework;
import org.apache.metron.common.utils.JSONUtils;
@@ -42,21 +28,31 @@ import org.apache.metron.indexing.dao.metaalert.MetaAlertAddRemoveRequest;
import org.apache.metron.indexing.dao.metaalert.MetaAlertConstants;
import org.apache.metron.indexing.dao.search.GetRequest;
import org.apache.metron.rest.service.MetaAlertService;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-@RunWith(SpringRunner.class)
+import java.util.ArrayList;
+
+import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.hamcrest.Matchers.*;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
+import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class MetaAlertControllerIntegrationTest extends DaoControllerTest {
@@ -105,7 +101,7 @@ public class MetaAlertControllerIntegrationTest extends DaoControllerTest {
@Multiline
public static String metaAlertData;
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
ImmutableMap<String, String> testData = ImmutableMap.of(
@@ -116,7 +112,7 @@ public class MetaAlertControllerIntegrationTest extends DaoControllerTest {
loadTestData(testData);
}
- @After
+ @AfterEach
public void cleanup() {
InMemoryMetaAlertDao.clear();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/PcapControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/PcapControllerIntegrationTest.java
index 737f8bb..3564e8a 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/PcapControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/PcapControllerIntegrationTest.java
@@ -17,7 +17,6 @@
*/
package org.apache.metron.rest.controller;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.fs.Path;
@@ -31,36 +30,33 @@ import org.apache.metron.pcap.filter.fixed.FixedPcapFilter;
import org.apache.metron.pcap.filter.query.QueryPcapFilter;
import org.apache.metron.rest.mock.MockPcapJob;
import org.apache.metron.rest.service.PcapService;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Map;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(SpringRunner.class)
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class PcapControllerIntegrationTest {
@@ -126,7 +122,7 @@ public class PcapControllerIntegrationTest {
private String user2 = "user2";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
InMemoryJobManager jobManager = (InMemoryJobManager) wac.getBean("jobManager");
@@ -152,21 +148,21 @@ public class PcapControllerIntegrationTest {
.andExpect(content().contentType(MediaType.parseMediaType("application/json;charset=UTF-8")))
.andExpect(jsonPath("$.jobStatus").value("RUNNING"));
- Assert.assertEquals("/base/path", mockPcapJob.getBasePath());
- Assert.assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(10000000, mockPcapJob.getStartTimeNs());
- Assert.assertEquals(20000000, mockPcapJob.getEndTimeNs());
- Assert.assertEquals(2, mockPcapJob.getNumReducers());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
+ assertEquals("/base/path", mockPcapJob.getBasePath());
+ assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
+ assertEquals(10000000, mockPcapJob.getStartTimeNs());
+ assertEquals(20000000, mockPcapJob.getEndTimeNs());
+ assertEquals(2, mockPcapJob.getNumReducers());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
Map<String, String> actualFixedFields = mockPcapJob.getFixedFields();
- Assert.assertEquals("192.168.1.2", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
- Assert.assertEquals("2000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
- Assert.assertEquals("192.168.1.1", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
- Assert.assertEquals("1000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
- Assert.assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
- Assert.assertEquals("TCP", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
- Assert.assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
+ assertEquals("192.168.1.2", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
+ assertEquals("2000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
+ assertEquals("192.168.1.1", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
+ assertEquals("1000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
+ assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
+ assertEquals("TCP", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
+ assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
}
@@ -181,22 +177,22 @@ public class PcapControllerIntegrationTest {
.andExpect(content().contentType(MediaType.parseMediaType("application/json;charset=UTF-8")))
.andExpect(jsonPath("$.jobStatus").value("RUNNING"));
- Assert.assertEquals("/apps/metron/pcap/input", mockPcapJob.getBasePath());
- Assert.assertEquals("/apps/metron/pcap/interim", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("/apps/metron/pcap/output", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(0, mockPcapJob.getStartTimeNs());
- Assert.assertTrue(beforeJobTime < mockPcapJob.getEndTimeNs() / 1000000);
- Assert.assertTrue(System.currentTimeMillis() > mockPcapJob.getEndTimeNs() / 1000000);
- Assert.assertEquals(10, mockPcapJob.getNumReducers());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
+ assertEquals("/apps/metron/pcap/input", mockPcapJob.getBasePath());
+ assertEquals("/apps/metron/pcap/interim", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("/apps/metron/pcap/output", mockPcapJob.getFinalOutputPath());
+ assertEquals(0, mockPcapJob.getStartTimeNs());
+ assertTrue(beforeJobTime < mockPcapJob.getEndTimeNs() / 1000000);
+ assertTrue(System.currentTimeMillis() > mockPcapJob.getEndTimeNs() / 1000000);
+ assertEquals(10, mockPcapJob.getNumReducers());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
Map<String, String> actualFixedFields = mockPcapJob.getFixedFields();
- Assert.assertEquals("192.168.1.2", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
- Assert.assertEquals("2000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
- Assert.assertEquals("192.168.1.1", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
- Assert.assertEquals("1000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
- Assert.assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
- Assert.assertEquals("TCP", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
- Assert.assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
+ assertEquals("192.168.1.2", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
+ assertEquals("2000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
+ assertEquals("192.168.1.1", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
+ assertEquals("1000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
+ assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
+ assertEquals("TCP", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
+ assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
}
@Test
@@ -209,14 +205,14 @@ public class PcapControllerIntegrationTest {
.andExpect(content().contentType(MediaType.parseMediaType("application/json;charset=UTF-8")))
.andExpect(jsonPath("$.jobStatus").value("RUNNING"));
- Assert.assertEquals("/base/path", mockPcapJob.getBasePath());
- Assert.assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(10000000, mockPcapJob.getStartTimeNs());
- Assert.assertEquals(20000000, mockPcapJob.getEndTimeNs());
- Assert.assertEquals(2, mockPcapJob.getNumReducers());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof QueryPcapFilter.Configurator);
- Assert.assertEquals("query", mockPcapJob.getQuery());
+ assertEquals("/base/path", mockPcapJob.getBasePath());
+ assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
+ assertEquals(10000000, mockPcapJob.getStartTimeNs());
+ assertEquals(20000000, mockPcapJob.getEndTimeNs());
+ assertEquals(2, mockPcapJob.getNumReducers());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof QueryPcapFilter.Configurator);
+ assertEquals("query", mockPcapJob.getQuery());
}
@Test
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/RestExceptionHandlerTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/RestExceptionHandlerTest.java
index b934481..b9a2da9 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/RestExceptionHandlerTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/RestExceptionHandlerTest.java
@@ -14,15 +14,15 @@
*/
package org.apache.metron.rest.controller;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.metron.rest.model.RestError;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -31,7 +31,7 @@ public class RestExceptionHandlerTest {
private RestExceptionHandler restExceptionHandler;
private HttpServletRequest request;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
restExceptionHandler = new RestExceptionHandler();
request = mock(HttpServletRequest.class);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SearchControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SearchControllerIntegrationTest.java
index aa7b6cd..859c21a 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SearchControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SearchControllerIntegrationTest.java
@@ -17,43 +17,40 @@
*/
package org.apache.metron.rest.controller;
-import static org.apache.metron.integration.utils.TestUtils.assertEventually;
-import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
-import static org.hamcrest.Matchers.hasSize;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
-import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
import com.google.common.collect.ImmutableMap;
-
-import java.util.HashMap;
-import java.util.Map;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.indexing.dao.InMemoryDao;
import org.apache.metron.indexing.dao.SearchIntegrationTest;
import org.apache.metron.indexing.dao.search.FieldType;
import org.apache.metron.rest.service.AlertsUIService;
-import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.metron.rest.service.SensorIndexingConfigService;
import org.json.simple.parser.ParseException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-@RunWith(SpringRunner.class)
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.apache.metron.integration.utils.TestUtils.assertEventually;
+import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.hamcrest.Matchers.hasSize;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
+import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class SearchControllerIntegrationTest extends DaoControllerTest {
@@ -99,7 +96,7 @@ public class SearchControllerIntegrationTest extends DaoControllerTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
ImmutableMap<String, String> testData = ImmutableMap.of(
@@ -111,7 +108,7 @@ public class SearchControllerIntegrationTest extends DaoControllerTest {
loadFacetCounts();
}
- @After
+ @AfterEach
public void cleanup() throws Exception {
InMemoryDao.clear();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorEnrichmentConfigControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorEnrichmentConfigControllerIntegrationTest.java
index d25ee04..ab288ef 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorEnrichmentConfigControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorEnrichmentConfigControllerIntegrationTest.java
@@ -20,14 +20,14 @@ package org.apache.metron.rest.controller;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.rest.service.SensorEnrichmentConfigService;
import org.hamcrest.core.IsCollectionContaining;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -42,7 +42,7 @@ import static org.springframework.security.test.web.servlet.setup.SecurityMockMv
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class SensorEnrichmentConfigControllerIntegrationTest {
@@ -120,7 +120,7 @@ public class SensorEnrichmentConfigControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorIndexingConfigControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorIndexingConfigControllerIntegrationTest.java
index cde71fd..dd1ae11 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorIndexingConfigControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorIndexingConfigControllerIntegrationTest.java
@@ -17,34 +17,31 @@
*/
package org.apache.metron.rest.controller;
-import static org.apache.metron.integration.utils.TestUtils.assertEventually;
-import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
-import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
-import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.rest.service.SensorIndexingConfigService;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-@RunWith(SpringRunner.class)
+import java.nio.charset.StandardCharsets;
+
+import static org.apache.metron.integration.utils.TestUtils.assertEventually;
+import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
+import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
+import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class SensorIndexingConfigControllerIntegrationTest {
@@ -70,8 +67,8 @@ public class SensorIndexingConfigControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserConfigControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserConfigControllerIntegrationTest.java
index c9adac9..d3f7e62 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserConfigControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserConfigControllerIntegrationTest.java
@@ -23,16 +23,15 @@ import org.apache.metron.common.configuration.SensorParserConfig;
import org.apache.metron.integration.utils.TestUtils;
import org.apache.metron.rest.MetronRestConstants;
import org.apache.metron.rest.service.SensorParserConfigService;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -45,17 +44,14 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.apache.metron.integration.utils.TestUtils.assertEventually;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.hamcrest.Matchers.hasSize;
+import static org.junit.jupiter.api.Assertions.assertNull;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(SpringRunner.class)
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class SensorParserConfigControllerIntegrationTest {
@@ -176,8 +172,8 @@ public class SensorParserConfigControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
@@ -301,7 +297,7 @@ public class SensorParserConfigControllerIntegrationTest {
{
//we must wait for the config to find its way into the config.
- TestUtils.assertEventually(() -> Assert.assertNull(sensorParserConfigService.findOne("squidTest")));
+ TestUtils.assertEventually(() -> assertNull(sensorParserConfigService.findOne("squidTest")));
}
this.mockMvc.perform(get(sensorParserConfigUrl + "/squidTest").with(httpBasic(user,password)))
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserGroupControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserGroupControllerIntegrationTest.java
index f74bf58..9a36555 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserGroupControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/SensorParserGroupControllerIntegrationTest.java
@@ -25,16 +25,15 @@ import org.apache.metron.integration.utils.TestUtils;
import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.metron.rest.service.SensorParserConfigService;
import org.apache.metron.rest.service.SensorParserGroupService;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -45,17 +44,14 @@ import java.util.concurrent.atomic.AtomicInteger;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.hamcrest.Matchers.hasSize;
+import static org.junit.jupiter.api.Assertions.*;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@RunWith(SpringRunner.class)
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class SensorParserGroupControllerIntegrationTest {
@@ -119,7 +115,7 @@ public class SensorParserGroupControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
Method[] method = SensorParserGroup.class.getMethods();
@@ -135,11 +131,11 @@ public class SensorParserGroupControllerIntegrationTest {
this.sensorParserConfigService.save("squid", new SensorParserConfig());
this.sensorParserConfigService.save("yaf", new SensorParserConfig());
this.sensorParserConfigService.save("jsonMap", new SensorParserConfig());
- TestUtils.assertEventually(() -> Assert.assertNotNull(sensorParserConfigService.findOne("bro")));
- TestUtils.assertEventually(() -> Assert.assertNotNull(sensorParserConfigService.findOne("snort")));
- TestUtils.assertEventually(() -> Assert.assertNotNull(sensorParserConfigService.findOne("squid")));
- TestUtils.assertEventually(() -> Assert.assertNotNull(sensorParserConfigService.findOne("yaf")));
- TestUtils.assertEventually(() -> Assert.assertNotNull(sensorParserConfigService.findOne("jsonMap")));
+ TestUtils.assertEventually(() -> assertNotNull(sensorParserConfigService.findOne("bro")));
+ TestUtils.assertEventually(() -> assertNotNull(sensorParserConfigService.findOne("snort")));
+ TestUtils.assertEventually(() -> assertNotNull(sensorParserConfigService.findOne("squid")));
+ TestUtils.assertEventually(() -> assertNotNull(sensorParserConfigService.findOne("yaf")));
+ TestUtils.assertEventually(() -> assertNotNull(sensorParserConfigService.findOne("jsonMap")));
}
@Test
@@ -182,7 +178,7 @@ public class SensorParserGroupControllerIntegrationTest {
public void testUpdate() throws Exception {
SensorParserGroup group1 = JSONUtils.INSTANCE.load(group1BroSquid, SensorParserGroup.class);
this.sensorParserGroupService.save(group1);
- TestUtils.assertEventually(() -> Assert.assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
this.mockMvc.perform(post(sensorParserGroupUrl).with(httpBasic(user, password)).with(csrf()).contentType(MediaType.parseMediaType("application/json;charset=UTF-8")).content(group1BroSquid))
.andExpect(status().isOk())
@@ -198,7 +194,7 @@ public class SensorParserGroupControllerIntegrationTest {
public void testFindOne() throws Exception {
SensorParserGroup group1 = JSONUtils.INSTANCE.load(group1BroSquid, SensorParserGroup.class);
this.sensorParserGroupService.save(group1);
- TestUtils.assertEventually(() -> Assert.assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
this.mockMvc.perform(get(sensorParserGroupUrl + "/group1").with(httpBasic(user,password)))
.andExpect(status().isOk())
@@ -217,10 +213,10 @@ public class SensorParserGroupControllerIntegrationTest {
public void testGetAll() throws Exception {
SensorParserGroup group1 = JSONUtils.INSTANCE.load(group1BroSquid, SensorParserGroup.class);
this.sensorParserGroupService.save(group1);
- TestUtils.assertEventually(() -> Assert.assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
SensorParserGroup group2 = JSONUtils.INSTANCE.load(group2YafJsonMap, SensorParserGroup.class);
this.sensorParserGroupService.save(group2);
- TestUtils.assertEventually(() -> Assert.assertEquals(group2, this.sensorParserGroupService.findOne("group2")));
+ TestUtils.assertEventually(() -> assertEquals(group2, this.sensorParserGroupService.findOne("group2")));
this.mockMvc.perform(get(sensorParserGroupUrl).with(httpBasic(user,password)))
.andExpect(status().isOk())
@@ -242,7 +238,7 @@ public class SensorParserGroupControllerIntegrationTest {
public void testError() throws Exception {
SensorParserGroup group1 = JSONUtils.INSTANCE.load(group1BroSquid, SensorParserGroup.class);
this.sensorParserGroupService.save(group1);
- TestUtils.assertEventually(() -> Assert.assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
this.mockMvc.perform(post(sensorParserGroupUrl).with(httpBasic(user, password)).with(csrf()).contentType(MediaType.parseMediaType("application/json;charset=UTF-8")).content(errorGroup))
.andExpect(status().isInternalServerError())
@@ -256,7 +252,7 @@ public class SensorParserGroupControllerIntegrationTest {
public void testDelete() throws Exception {
SensorParserGroup group1 = JSONUtils.INSTANCE.load(group1BroSquid, SensorParserGroup.class);
this.sensorParserGroupService.save(group1);
- TestUtils.assertEventually(() -> Assert.assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertEquals(group1, this.sensorParserGroupService.findOne("group1")));
this.mockMvc.perform(delete(sensorParserGroupUrl + "/group1").with(httpBasic(user,password)).with(csrf()))
.andExpect(status().isOk());
@@ -266,11 +262,11 @@ public class SensorParserGroupControllerIntegrationTest {
{
//we must wait for the config to find its way into the config.
- TestUtils.assertEventually(() -> Assert.assertNull(sensorParserGroupService.findOne("group1")));
+ TestUtils.assertEventually(() -> assertNull(sensorParserGroupService.findOne("group1")));
}
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
this.globalConfigService.delete();
this.sensorParserConfigService.delete("bro");
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StellarControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StellarControllerIntegrationTest.java
index 7a57173..d36df11 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StellarControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StellarControllerIntegrationTest.java
@@ -18,14 +18,14 @@
package org.apache.metron.rest.controller;
import org.adrianwalker.multilinestring.Multiline;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -38,11 +38,9 @@ import static org.springframework.security.test.web.servlet.request.SecurityMock
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class StellarControllerIntegrationTest {
@@ -70,7 +68,7 @@ public class StellarControllerIntegrationTest {
private String user = "user";
private String password = "password";
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StormControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StormControllerIntegrationTest.java
index 3986413..8b4c3a8 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StormControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/StormControllerIntegrationTest.java
@@ -24,16 +24,15 @@ import org.apache.metron.rest.MetronRestConstants;
import org.apache.metron.rest.model.TopologyStatusCode;
import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.metron.rest.service.SensorParserConfigService;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
@@ -45,14 +44,13 @@ import java.util.Map;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.hasSize;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class StormControllerIntegrationTest {
@@ -77,8 +75,8 @@ public class StormControllerIntegrationTest {
private String metronVersion;
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
this.metronVersion = this.environment.getProperty("metron.version");
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
@@ -177,7 +175,7 @@ public class StormControllerIntegrationTest {
{
final Map<String, Object> expectedGlobalConfig = globalConfig;
//we must wait for the config to find its way into the config.
- TestUtils.assertEventually(() -> Assert.assertEquals(expectedGlobalConfig, globalConfigService.get()));
+ TestUtils.assertEventually(() -> assertEquals(expectedGlobalConfig, globalConfigService.get()));
}
this.mockMvc.perform(get(stormUrl + "/parser/start/broTest").with(httpBasic(user,password)))
@@ -192,7 +190,7 @@ public class StormControllerIntegrationTest {
{
final SensorParserConfig expectedSensorParserConfig = sensorParserConfig;
//we must wait for the config to find its way into the config.
- TestUtils.assertEventually(() -> Assert.assertEquals(expectedSensorParserConfig, sensorParserConfigService.findOne("broTest")));
+ TestUtils.assertEventually(() -> assertEquals(expectedSensorParserConfig, sensorParserConfigService.findOne("broTest")));
}
this.mockMvc.perform(get(stormUrl + "/parser/start/broTest").with(httpBasic(user,password)))
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UpdateControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UpdateControllerIntegrationTest.java
index 02f3f3a..ee844ad 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UpdateControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UpdateControllerIntegrationTest.java
@@ -18,7 +18,6 @@
package org.apache.metron.rest.controller;
import com.google.common.collect.ImmutableMap;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.curator.framework.CuratorFramework;
import org.apache.hadoop.hbase.client.Get;
@@ -29,34 +28,33 @@ import org.apache.metron.indexing.dao.HBaseDao;
import org.apache.metron.indexing.dao.SearchIntegrationTest;
import org.apache.metron.indexing.dao.update.CommentAddRemoveRequest;
import org.apache.metron.rest.service.UpdateService;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
+import java.nio.charset.StandardCharsets;
import java.util.NavigableMap;
import static org.apache.metron.rest.MetronRestConstants.TEST_PROFILE;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class UpdateControllerIntegrationTest extends DaoControllerTest {
@@ -125,7 +123,7 @@ public class UpdateControllerIntegrationTest extends DaoControllerTest {
@Multiline
public static String removeComment;
- @Before
+ @BeforeEach
public void setup() throws Exception {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
ImmutableMap<String, String> testData = ImmutableMap.of(
@@ -165,7 +163,7 @@ public class UpdateControllerIntegrationTest extends DaoControllerTest {
// nothing is recorded in HBase
MockHTable table = (MockHTable) MockHBaseTableProvider.getFromCache(TABLE);
- Assert.assertEquals(0,table.size());
+ assertEquals(0,table.size());
// patch the document
this.mockMvc.perform(patchRequest)
@@ -181,13 +179,13 @@ public class UpdateControllerIntegrationTest extends DaoControllerTest {
.andExpect(jsonPath("$.timestamp").value(2));
// the change should be recorded in HBase
- Assert.assertEquals(1,table.size());
+ assertEquals(1,table.size());
{
//ensure hbase is up to date
Get g = new Get(new HBaseDao.Key(guid,"bro").toBytes());
Result r = table.get(g);
NavigableMap<byte[], byte[]> columns = r.getFamilyMap(CF.getBytes(StandardCharsets.UTF_8));
- Assert.assertEquals(1, columns.size());
+ assertEquals(1, columns.size());
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UserControllerIntegrationTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UserControllerIntegrationTest.java
index b1e432e..16ff374 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UserControllerIntegrationTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/controller/UserControllerIntegrationTest.java
@@ -17,13 +17,13 @@
*/
package org.apache.metron.rest.controller;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@@ -35,7 +35,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-@RunWith(SpringRunner.class)
+@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(TEST_PROFILE)
public class UserControllerIntegrationTest {
@@ -49,8 +49,8 @@ public class UserControllerIntegrationTest {
private String user1 = "user1";
private String password = "password";
- @Before
- public void setup() throws Exception {
+ @BeforeEach
+ public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).apply(springSecurity()).build();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/AlertsUIServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/AlertsUIServiceImplTest.java
index 016a08b..14099e3 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/AlertsUIServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/AlertsUIServiceImplTest.java
@@ -17,40 +17,28 @@
*/
package org.apache.metron.rest.service.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.mock;
-
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.metron.common.system.FakeClock;
import org.apache.metron.rest.MetronRestConstants;
import org.apache.metron.rest.model.AlertsUIUserSettings;
import org.apache.metron.rest.service.KafkaService;
import org.apache.metron.rest.user.UserSettingsClient;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.core.env.Environment;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
-@SuppressWarnings("unchecked")
+import java.io.IOException;
+import java.util.*;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
public class AlertsUIServiceImplTest {
public static ThreadLocal<ObjectMapper> _mapper = ThreadLocal.withInitial(() ->
@@ -80,9 +68,8 @@ public class AlertsUIServiceImplTest {
private String user2 = "user2";
private FakeClock clock;
- @SuppressWarnings("unchecked")
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
kafkaService = mock(KafkaService.class);
environment = mock(Environment.class);
userSettingsClient = mock(UserSettingsClient.class);
@@ -122,7 +109,7 @@ public class AlertsUIServiceImplTest {
alertsUIService.escalateAlerts(Arrays.asList(alert1, alert2));
verify(kafkaService).produceMessage(escalationTopic, escalationMessage1);
verify(kafkaService).produceMessage(escalationTopic, escalationMessage2);
- verifyZeroInteractions(kafkaService);
+ verifyNoMoreInteractions(kafkaService);
}
@Test
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/CachedStormStatusServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/CachedStormStatusServiceImplTest.java
index 993465f..f77e031 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/CachedStormStatusServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/CachedStormStatusServiceImplTest.java
@@ -18,33 +18,27 @@
package org.apache.metron.rest.service.impl;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
import com.google.common.collect.ImmutableList;
-import java.util.List;
-import org.apache.metron.rest.model.SupervisorStatus;
-import org.apache.metron.rest.model.SupervisorSummary;
-import org.apache.metron.rest.model.TopologyResponse;
-import org.apache.metron.rest.model.TopologyStatus;
-import org.apache.metron.rest.model.TopologySummary;
+import org.apache.metron.rest.model.*;
import org.apache.metron.rest.service.StormStatusService;
import org.hamcrest.CoreMatchers;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import java.util.List;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.*;
+
public class CachedStormStatusServiceImplTest {
@Mock
private StormStatusService stormService;
private CachedStormStatusServiceImpl cachedStormStatusService;
- @Before
+ @BeforeEach
public void setup() {
MockitoAnnotations.initMocks(this);
cachedStormStatusService = new CachedStormStatusServiceImpl(stormService, 150, 30);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapperTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapperTest.java
index d2847f0..a2f3e04 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapperTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/DockerStormCLIWrapperTest.java
@@ -17,45 +17,38 @@
*/
package org.apache.metron.rest.service.impl;
-import java.nio.charset.StandardCharsets;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.anyVararg;
-import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.collection.IsMapContaining.hasEntry;
+import static org.mockito.Mockito.*;
-@SuppressWarnings("unchecked")
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({DockerStormCLIWrapper.class, ProcessBuilder.class})
public class DockerStormCLIWrapperTest {
private ProcessBuilder processBuilder;
private Environment environment;
private DockerStormCLIWrapper dockerStormCLIWrapper;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
processBuilder = mock(ProcessBuilder.class);
environment = mock(Environment.class);
- dockerStormCLIWrapper = new DockerStormCLIWrapper(environment);
+ dockerStormCLIWrapper = mock(DockerStormCLIWrapper.class,
+ withSettings().useConstructor(environment).defaultAnswer(CALLS_REAL_METHODS));
}
@Test
public void getProcessBuilderShouldProperlyGenerateProcessorBuilder() throws Exception {
- whenNew(ProcessBuilder.class).withParameterTypes(String[].class).withArguments(anyVararg()).thenReturn(processBuilder);
+ doReturn(processBuilder).when(dockerStormCLIWrapper).getDockerEnvironmentProcessBuilder();
when(processBuilder.environment()).thenReturn(new HashMap<>());
when(processBuilder.command()).thenReturn(new ArrayList<>());
@@ -71,12 +64,11 @@ public class DockerStormCLIWrapperTest {
ProcessBuilder actualBuilder = dockerStormCLIWrapper.getProcessBuilder("oo", "ooo");
+ assertThat(actualBuilder.environment(), hasEntry("METRON_VERSION", "1"));
+ assertThat(actualBuilder.environment(), hasEntry("DOCKER_HOST", "tcp://192.168.99.100:2376"));
- assertEquals(new HashMap<String, String>() {{
- put("METRON_VERSION", "1");
- put("DOCKER_HOST", "tcp://192.168.99.100:2376");
- }}, actualBuilder.environment());
- assertEquals(new ArrayList<>(), actualBuilder.command());
+ // Needs to contain what we normally construct + what we passed in.
+ assertThat(actualBuilder.command(), contains("docker-compose", "-f", "/test", "-p", "metron", "exec", "storm", "oo", "ooo"));
verify(process).waitFor();
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GlobalConfigServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GlobalConfigServiceImplTest.java
index caddf8b..b49c135 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GlobalConfigServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GlobalConfigServiceImplTest.java
@@ -17,19 +17,6 @@
*/
package org.apache.metron.rest.service.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
-
import com.google.common.collect.ImmutableMap;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.api.DeleteBuilder;
@@ -42,22 +29,24 @@ import org.apache.metron.rest.RestException;
import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
@SuppressWarnings("ALL")
public class GlobalConfigServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
CuratorFramework curatorFramework;
GlobalConfigService globalConfigService;
ConfigurationsCache cache;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
curatorFramework = mock(CuratorFramework.class);
cache = mock(ConfigurationsCache.class);
globalConfigService = new GlobalConfigServiceImpl(curatorFramework, cache);
@@ -76,25 +65,20 @@ public class GlobalConfigServiceImplTest {
@Test
public void deleteShouldProperlyCatchNonNoNodeExceptionAndThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
DeleteBuilder builder = mock(DeleteBuilder.class);
when(curatorFramework.delete()).thenReturn(builder);
when(builder.forPath(ConfigurationType.GLOBAL.getZookeeperRoot())).thenThrow(Exception.class);
- assertFalse(globalConfigService.delete());
+ assertThrows(RestException.class, () -> assertFalse(globalConfigService.delete()));
}
@Test
public void deleteShouldReturnTrueWhenClientSuccessfullyCallsDelete() throws Exception {
DeleteBuilder builder = mock(DeleteBuilder.class);
-
when(curatorFramework.delete()).thenReturn(builder);
- when(builder.forPath(ConfigurationType.GLOBAL.getZookeeperRoot())).thenReturn(null);
assertTrue(globalConfigService.delete());
-
verify(curatorFramework).delete();
}
@@ -119,27 +103,23 @@ public class GlobalConfigServiceImplTest {
@Test
public void getShouldWrapNonNoNodeExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
GetDataBuilder getDataBuilder = mock(GetDataBuilder.class);
when(getDataBuilder.forPath(ConfigurationType.GLOBAL.getZookeeperRoot())).thenThrow(Exception.class);
when(curatorFramework.getData()).thenReturn(getDataBuilder);
- globalConfigService.get();
+ assertThrows(RestException.class, () -> globalConfigService.get());
}
@Test
public void saveShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
when(setDataBuilder.forPath(ConfigurationType.GLOBAL.getZookeeperRoot(), "{ }".getBytes(
StandardCharsets.UTF_8))).thenThrow(Exception.class);
when(curatorFramework.setData()).thenReturn(setDataBuilder);
- globalConfigService.save(new HashMap<>());
+ assertThrows(RestException.class, () -> globalConfigService.save(new HashMap<>()));
}
@Test
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GrokServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GrokServiceImplTest.java
index 4e06b59..5056283 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GrokServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/GrokServiceImplTest.java
@@ -18,13 +18,14 @@
package org.apache.metron.rest.service.impl;
import static org.apache.metron.rest.MetronRestConstants.GROK_TEMP_PATH_SPRING_PROPERTY;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import static org.powermock.api.mockito.PowerMockito.when;
+import static org.mockito.Mockito.when;
+
import java.io.File;
-import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@@ -35,25 +36,20 @@ import org.apache.metron.rest.RestException;
import org.apache.metron.rest.model.GrokValidation;
import org.apache.metron.rest.service.GrokService;
import org.apache.metron.rest.service.HdfsService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
public class GrokServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
private Environment environment;
private Grok grok;
private HdfsService hdfsService;
private GrokService grokService;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
environment = mock(Environment.class);
grok = mock(Grok.class);
hdfsService = new HdfsServiceImpl(new Configuration());
@@ -61,14 +57,14 @@ public class GrokServiceImplTest {
}
@Test
- public void getCommonGrokPattersShouldCallGrokToGetPatterns() throws Exception {
+ public void getCommonGrokPattersShouldCallGrokToGetPatterns() {
grokService.getCommonGrokPatterns();
verify(grok).getPatterns();
}
@Test
- public void getCommonGrokPattersShouldCallGrokToGetPatternsAndNotAlterValue() throws Exception {
+ public void getCommonGrokPattersShouldCallGrokToGetPatternsAndNotAlterValue() {
final Map<String, String> actual = new HashMap<String, String>() {{
put("k", "v");
put("k1", "v1");
@@ -84,44 +80,38 @@ public class GrokServiceImplTest {
}
@Test
- public void validateGrokStatementShouldThrowExceptionWithNullStringAsPatternLabel() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Pattern label is required");
-
+ public void validateGrokStatementShouldThrowExceptionWithNullStringAsPatternLabel() {
GrokValidation grokValidation = new GrokValidation();
grokValidation.setResults(new HashMap<>());
grokValidation.setSampleData("asdf asdf");
grokValidation.setStatement("LABEL %{WORD:word1} %{WORD:word2}");
- grokService.validateGrokStatement(grokValidation);
+ RestException e = assertThrows(RestException.class, () -> grokService.validateGrokStatement(grokValidation));
+ assertEquals("Pattern label is required", e.getMessage());
}
@Test
- public void validateGrokStatementShouldThrowExceptionWithEmptyStringAsStatement() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Grok statement is required");
-
+ public void validateGrokStatementShouldThrowExceptionWithEmptyStringAsStatement() {
GrokValidation grokValidation = new GrokValidation();
grokValidation.setResults(new HashMap<>());
grokValidation.setSampleData("asdf asdf");
grokValidation.setPatternLabel("LABEL");
grokValidation.setStatement("");
- grokService.validateGrokStatement(grokValidation);
+ RestException e = assertThrows(RestException.class, () -> grokService.validateGrokStatement(grokValidation));
+ assertEquals("Grok statement is required", e.getMessage());
}
@Test
- public void validateGrokStatementShouldThrowExceptionWithNullStringAsStatement() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Grok statement is required");
-
+ public void validateGrokStatementShouldThrowExceptionWithNullStringAsStatement() {
GrokValidation grokValidation = new GrokValidation();
grokValidation.setResults(new HashMap<>());
grokValidation.setSampleData("asdf asdf");
grokValidation.setPatternLabel("LABEL");
grokValidation.setStatement(null);
- grokService.validateGrokStatement(grokValidation);
+ RestException e = assertThrows(RestException.class, () -> grokService.validateGrokStatement(grokValidation));
+ assertEquals("Grok statement is required", e.getMessage());
}
@Test
@@ -178,15 +168,13 @@ public class GrokServiceImplTest {
}
@Test
- public void invalidGrokStatementShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
+ public void invalidGrokStatementShouldThrowRestException() {
GrokValidation grokValidation = new GrokValidation();
grokValidation.setResults(new HashMap<>());
grokValidation.setSampleData(null);
grokValidation.setStatement("LABEL %{WORD:word1} %{WORD:word2");
- grokService.validateGrokStatement(grokValidation);
+ assertThrows(RestException.class, () -> grokService.validateGrokStatement(grokValidation));
}
@Test
@@ -207,11 +195,9 @@ public class GrokServiceImplTest {
}
@Test
- public void missingGrokStatementShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("A grokStatement must be provided");
-
- grokService.saveTemporary(null, "squid");
+ public void missingGrokStatementShouldThrowRestException() {
+ RestException e = assertThrows(RestException.class, () -> grokService.saveTemporary(null, "squid"));
+ assertEquals("A grokStatement must be provided", e.getMessage());
}
@Test
@@ -222,10 +208,8 @@ public class GrokServiceImplTest {
}
@Test
- public void getStatementFromClasspathShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Could not find a statement at path /bad/path");
-
- grokService.getStatementFromClasspath("/bad/path");
+ public void getStatementFromClasspathShouldThrowRestException() {
+ RestException e = assertThrows(RestException.class, () -> grokService.getStatementFromClasspath("/bad/path"));
+ assertEquals("Could not find a statement at path /bad/path", e.getMessage());
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplExceptionTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplExceptionTest.java
index 7282859..373250e 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplExceptionTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplExceptionTest.java
@@ -21,91 +21,56 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.metron.rest.RestException;
-import org.apache.metron.rest.service.HdfsService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.IOException;
import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.when;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.*;
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({HdfsServiceImpl.class, FileSystem.class})
public class HdfsServiceImplExceptionTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
- private Configuration configuration;
- private HdfsService hdfsService;
+ private HdfsServiceImpl hdfsService;
+ private FileSystem fileSystem;
private String testDir = "./target/hdfsUnitTest";
- @Before
+ @BeforeEach
public void setup() throws IOException {
- configuration = new Configuration();
- hdfsService = new HdfsServiceImpl(configuration);
-
- mockStatic(FileSystem.class);
+ Configuration configuration = new Configuration();
+ hdfsService = mock(HdfsServiceImpl.class, withSettings().useConstructor(configuration).defaultAnswer(CALLS_REAL_METHODS));
+ fileSystem = mock(FileSystem.class);
+ doReturn(fileSystem).when(hdfsService).getFileSystem();
}
@Test
public void listShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
- FileSystem fileSystem = mock(FileSystem.class);
- when(FileSystem.get(configuration)).thenReturn(fileSystem);
- when(fileSystem.listStatus(new Path(testDir))).thenThrow(new IOException());
-
- hdfsService.list(new Path(testDir));
+ doThrow(new IOException()).when(fileSystem).listStatus(new Path(testDir));
+ assertThrows(RestException.class, () -> hdfsService.list(new Path(testDir)));
}
@Test
public void readShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
- FileSystem fileSystem = mock(FileSystem.class);
- when(FileSystem.get(configuration)).thenReturn(fileSystem);
- when(fileSystem.open(new Path(testDir))).thenThrow(new IOException());
-
- hdfsService.read(new Path(testDir));
+ doThrow(new IOException()).when(fileSystem).open(new Path(testDir));
+ assertThrows(RestException.class, () -> hdfsService.read(new Path(testDir)));
}
@Test
public void writeShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
- FileSystem fileSystem = mock(FileSystem.class);
- when(FileSystem.get(configuration)).thenReturn(fileSystem);
- when(fileSystem.create(new Path(testDir), true)).thenThrow(new IOException());
-
- hdfsService.write(new Path(testDir), "contents".getBytes(UTF_8),null, null,null);
+ doThrow(new IOException()).when(fileSystem).create(new Path(testDir), true);
+ assertThrows(RestException.class,
+ () -> hdfsService.write(new Path(testDir), "contents".getBytes(UTF_8),null, null,null));
}
@Test
- public void writeShouldThrowIfInvalidPermissions() throws Exception {
- exception.expect(RestException.class);
-
- FileSystem fileSystem = mock(FileSystem.class);
- when(FileSystem.get(configuration)).thenReturn(fileSystem);
-
- hdfsService.write(new Path(testDir,"test"),"oops".getBytes(UTF_8), "foo", "r-x","r--");
+ public void writeShouldThrowIfInvalidPermissions() {
+ assertThrows(RestException.class,
+ () -> hdfsService.write(new Path(testDir,"test"),"oops".getBytes(UTF_8), "foo", "r-x","r--"));
}
@Test
public void deleteShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
- FileSystem fileSystem = mock(FileSystem.class);
- when(FileSystem.get(configuration)).thenReturn(fileSystem);
- when(fileSystem.delete(new Path(testDir), false)).thenThrow(new IOException());
-
- hdfsService.delete(new Path(testDir), false);
+ doThrow(new IOException()).when(fileSystem).delete(new Path(testDir), false);
+ assertThrows(RestException.class, () -> hdfsService.delete(new Path(testDir), false));
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplTest.java
index 280be63..60abe90 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/HdfsServiceImplTest.java
@@ -21,14 +21,12 @@ import org.apache.commons.io.FileUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.hadoop.fs.permission.FsAction;
+import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.metron.rest.service.HdfsService;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
@@ -36,17 +34,14 @@ import java.util.Collections;
import java.util.List;
import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
public class HdfsServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
private Configuration configuration;
private HdfsService hdfsService;
private String testDir = "./target/hdfsUnitTest";
- @Before
+ @BeforeEach
public void setup() throws IOException {
configuration = new Configuration();
hdfsService = new HdfsServiceImpl(configuration);
@@ -57,7 +52,7 @@ public class HdfsServiceImplTest {
FileUtils.cleanDirectory(file);
}
- @After
+ @AfterEach
public void teardown() throws IOException {
File file = new File(testDir);
FileUtils.cleanDirectory(file);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/KafkaServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/KafkaServiceImplTest.java
index b99128a..a6d52ff 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/KafkaServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/KafkaServiceImplTest.java
@@ -17,27 +17,9 @@
*/
package org.apache.metron.rest.service.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.mock;
-
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
import kafka.admin.AdminOperationException;
import kafka.admin.AdminUtils$;
import kafka.admin.RackAwareMode;
@@ -53,25 +35,18 @@ import org.apache.kafka.common.TopicPartition;
import org.apache.metron.rest.RestException;
import org.apache.metron.rest.model.KafkaTopic;
import org.apache.metron.rest.service.KafkaService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.kafka.core.ConsumerFactory;
+import java.util.*;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
@SuppressWarnings("unchecked")
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("javax.management.*") // resolve classloader conflict
-@PrepareForTest({AdminUtils$.class})
public class KafkaServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
private ZkUtils zkUtils;
private KafkaConsumer<String, String> kafkaConsumer;
private KafkaProducer<String, String> kafkaProducer;
@@ -89,8 +64,8 @@ public class KafkaServiceImplTest {
}};
@SuppressWarnings("unchecked")
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
zkUtils = mock(ZkUtils.class);
kafkaConsumerFactory = mock(ConsumerFactory.class);
kafkaConsumer = mock(KafkaConsumer.class);
@@ -103,23 +78,21 @@ public class KafkaServiceImplTest {
}
@Test
- public void listTopicsHappyPathWithListTopicsReturningNull() throws Exception {
- final Map<String, List<PartitionInfo>> topics = null;
-
- when(kafkaConsumer.listTopics()).thenReturn(topics);
+ public void listTopicsHappyPathWithListTopicsReturningNull() {
+ when(kafkaConsumer.listTopics()).thenReturn(null);
final Set<String> listedTopics = kafkaService.listTopics();
assertEquals(Sets.newHashSet(), listedTopics);
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer).close();
verifyNoMoreInteractions(kafkaConsumer, zkUtils, adminUtils);
}
@Test
- public void listTopicsHappyPathWithListTopicsReturningEmptyMap() throws Exception {
+ public void listTopicsHappyPathWithListTopicsReturningEmptyMap() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
when(kafkaConsumer.listTopics()).thenReturn(topics);
@@ -128,14 +101,14 @@ public class KafkaServiceImplTest {
assertEquals(Sets.newHashSet(), listedTopics);
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer).close();
verifyNoMoreInteractions(kafkaConsumer, zkUtils);
}
@Test
- public void listTopicsHappyPath() throws Exception {
+ public void listTopicsHappyPath() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
topics.put("topic1", Lists.newArrayList());
topics.put("topic2", Lists.newArrayList());
@@ -147,14 +120,14 @@ public class KafkaServiceImplTest {
assertEquals(Sets.newHashSet("topic1", "topic2", "topic3"), listedTopics);
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer).close();
verifyNoMoreInteractions(kafkaConsumer, zkUtils);
}
@Test
- public void listTopicsShouldProperlyRemoveOffsetTopic() throws Exception {
+ public void listTopicsShouldProperlyRemoveOffsetTopic() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
topics.put("topic1", Lists.newArrayList());
topics.put("topic2", Lists.newArrayList());
@@ -167,26 +140,26 @@ public class KafkaServiceImplTest {
assertEquals(Sets.newHashSet("topic1", "topic2", "topic3"), listedTopics);
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer).close();
verifyNoMoreInteractions(kafkaConsumer, zkUtils);
}
@Test
- public void deletingTopicThatDoesNotExistShouldReturnFalse() throws Exception {
+ public void deletingTopicThatDoesNotExistShouldReturnFalse() {
when(kafkaConsumer.listTopics()).thenReturn(Maps.newHashMap());
assertFalse(kafkaService.deleteTopic("non_existent_topic"));
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer).close();
verifyNoMoreInteractions(kafkaConsumer, zkUtils);
}
@Test
- public void deletingTopicThatExistShouldReturnTrue() throws Exception {
+ public void deletingTopicThatExistShouldReturnTrue() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
topics.put("non_existent_topic", Lists.newArrayList());
@@ -201,7 +174,7 @@ public class KafkaServiceImplTest {
}
@Test
- public void makeSureDeletingTopicReturnsFalseWhenNoTopicsExist() throws Exception {
+ public void makeSureDeletingTopicReturnsFalseWhenNoTopicsExist() {
final Map<String, List<PartitionInfo>> topics = null;
when(kafkaConsumer.listTopics()).thenReturn(topics);
@@ -214,7 +187,7 @@ public class KafkaServiceImplTest {
}
@Test
- public void getTopicShouldProperlyMapTopicToKafkaTopic() throws Exception {
+ public void getTopicShouldProperlyMapTopicToKafkaTopic() {
final PartitionInfo partitionInfo = mock(PartitionInfo.class);
when(partitionInfo.replicas()).thenReturn(new Node[] {new Node(1, "host", 8080)});
@@ -236,34 +209,30 @@ public class KafkaServiceImplTest {
}
@Test
- public void getTopicShouldProperlyHandleTopicsThatDontExist() throws Exception {
+ public void getTopicShouldProperlyHandleTopicsThatDontExist() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
topics.put("t1", Lists.newArrayList());
when(kafkaConsumer.listTopics()).thenReturn(topics);
when(kafkaConsumer.partitionsFor("t")).thenReturn(Lists.newArrayList());
- assertEquals(null, kafkaService.getTopic("t"));
+ assertNull(kafkaService.getTopic("t"));
verify(kafkaConsumer).listTopics();
verify(kafkaConsumer, times(0)).partitionsFor("t");
verify(kafkaConsumer).close();
- verifyZeroInteractions(zkUtils);
+ verifyNoInteractions(zkUtils);
verifyNoMoreInteractions(kafkaConsumer);
}
@Test
- public void createTopicShouldFailIfReplicationFactorIsGreaterThanAvailableBrokers() throws Exception {
- exception.expect(RestException.class);
+ public void createTopicShouldFailIfReplicationFactorIsGreaterThanAvailableBrokers() {
doThrow(AdminOperationException.class).when(adminUtils).createTopic(eq(zkUtils), eq("t"), eq(1), eq(2), eq(new Properties()), eq(RackAwareMode.Disabled$.MODULE$));
- kafkaService.createTopic(VALID_KAFKA_TOPIC);
-
+ assertThrows(RestException.class, () -> kafkaService.createTopic(VALID_KAFKA_TOPIC));
}
@Test
- public void whenAdminUtilsThrowsAdminOperationExceptionCreateTopicShouldProperlyWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
+ public void whenAdminUtilsThrowsAdminOperationExceptionCreateTopicShouldProperlyWrapExceptionInRestException() {
final Map<String, List<PartitionInfo>> topics = new HashMap<>();
topics.put("1", new ArrayList<>());
@@ -271,11 +240,11 @@ public class KafkaServiceImplTest {
doThrow(AdminOperationException.class).when(adminUtils).createTopic(eq(zkUtils), eq("t"), eq(1), eq(2), eq(new Properties()), eq(RackAwareMode.Disabled$.MODULE$));
- kafkaService.createTopic(VALID_KAFKA_TOPIC);
+ assertThrows(RestException.class, () -> kafkaService.createTopic(VALID_KAFKA_TOPIC));
}
@Test
- public void getSampleMessageProperlyReturnsAMessageFromAGivenKafkaTopic() throws Exception {
+ public void getSampleMessageProperlyReturnsAMessageFromAGivenKafkaTopic() {
final String topicName = "t";
final Node host = new Node(1, "host", 8080);
final Node[] replicas = {host};
@@ -302,7 +271,7 @@ public class KafkaServiceImplTest {
verify(kafkaConsumer, times(2)).position(topicPartition);
verify(kafkaConsumer).seek(topicPartition, 0);
- verifyZeroInteractions(zkUtils, adminUtils);
+ verifyNoInteractions(zkUtils, adminUtils);
}
@Test
@@ -314,11 +283,11 @@ public class KafkaServiceImplTest {
String expectedMessage = "{\"field\":\"value\"}";
verify(kafkaProducer).send(new ProducerRecord<>(topicName, expectedMessage));
- verifyZeroInteractions(kafkaProducer);
+ verifyNoMoreInteractions(kafkaProducer);
}
@Test
- public void addACLtoNonExistingTopicShouldReturnFalse() throws Exception{
+ public void addACLtoNonExistingTopicShouldReturnFalse() {
when(kafkaConsumer.listTopics()).thenReturn(Maps.newHashMap());
assertFalse(kafkaService.addACLToCurrentUser("non_existent_topic"));
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/PcapServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/PcapServiceImplTest.java
index 62b197b..ffbfc38 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/PcapServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/PcapServiceImplTest.java
@@ -17,27 +17,6 @@
*/
package org.apache.metron.rest.service.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.anyVararg;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.doReturn;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
@@ -45,11 +24,7 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.metron.common.Constants;
import org.apache.metron.common.utils.JSONUtils;
-import org.apache.metron.job.JobException;
-import org.apache.metron.job.JobNotFoundException;
-import org.apache.metron.job.JobStatus;
-import org.apache.metron.job.Pageable;
-import org.apache.metron.job.Statusable;
+import org.apache.metron.job.*;
import org.apache.metron.job.manager.InMemoryJobManager;
import org.apache.metron.job.manager.JobManager;
import org.apache.metron.pcap.PcapHelper;
@@ -61,31 +36,28 @@ import org.apache.metron.rest.RestException;
import org.apache.metron.rest.config.PcapJobSupplier;
import org.apache.metron.rest.mock.MockPcapJob;
import org.apache.metron.rest.mock.MockPcapJobSupplier;
-import org.apache.metron.rest.model.pcap.FixedPcapOptions;
-import org.apache.metron.rest.model.pcap.FixedPcapRequest;
-import org.apache.metron.rest.model.pcap.PcapStatus;
-import org.apache.metron.rest.model.pcap.Pdml;
-import org.apache.metron.rest.model.pcap.QueryPcapOptions;
-import org.apache.metron.rest.model.pcap.QueryPcapRequest;
+import org.apache.metron.rest.model.pcap.*;
import org.hamcrest.CoreMatchers;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
@SuppressWarnings("ALL")
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({PcapToPdmlScriptWrapper.class, ProcessBuilder.class})
+//@PrepareForTest({PcapToPdmlScriptWrapper.class, ProcessBuilder.class})
public class PcapServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
/**
*<?xml version="1.0" encoding="utf-8"?>
*<?xml-stylesheet type="text/xsl" href="pdml2html.xsl"?>
@@ -182,8 +154,8 @@ public class PcapServiceImplTest {
MockPcapJobSupplier mockPcapJobSupplier;
PcapToPdmlScriptWrapper pcapToPdmlScriptWrapper;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
environment = mock(Environment.class);
configuration = new Configuration();
mockPcapJobSupplier = new MockPcapJobSupplier();
@@ -244,26 +216,26 @@ public class PcapServiceImplTest {
expectedPcapStatus.setJobStatus(JobStatus.State.RUNNING.name());
expectedPcapStatus.setDescription("description");
- Assert.assertEquals(expectedPcapStatus, pcapService.submit("user", fixedPcapRequest));
- Assert.assertEquals(expectedPcapStatus, pcapService.jobStatusToPcapStatus(jobManager.getJob("user", "jobId").getStatus()));
- Assert.assertEquals("basePath", mockPcapJob.getBasePath());
- Assert.assertEquals("baseOutputPath", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("finalOutputPath", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(1000000, mockPcapJob.getStartTimeNs());
- Assert.assertEquals(2000000, mockPcapJob.getEndTimeNs());
- Assert.assertEquals(2, mockPcapJob.getNumReducers());
- Assert.assertEquals(100, mockPcapJob.getRecPerFile());
- Assert.assertEquals("pcap", mockPcapJob.getYarnQueue());
- Assert.assertEquals("2C", mockPcapJob.getFinalizerThreadpoolSize());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
+ assertEquals(expectedPcapStatus, pcapService.submit("user", fixedPcapRequest));
+ assertEquals(expectedPcapStatus, pcapService.jobStatusToPcapStatus(jobManager.getJob("user", "jobId").getStatus()));
+ assertEquals("basePath", mockPcapJob.getBasePath());
+ assertEquals("baseOutputPath", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("finalOutputPath", mockPcapJob.getFinalOutputPath());
+ assertEquals(1000000, mockPcapJob.getStartTimeNs());
+ assertEquals(2000000, mockPcapJob.getEndTimeNs());
+ assertEquals(2, mockPcapJob.getNumReducers());
+ assertEquals(100, mockPcapJob.getRecPerFile());
+ assertEquals("pcap", mockPcapJob.getYarnQueue());
+ assertEquals("2C", mockPcapJob.getFinalizerThreadpoolSize());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
Map<String, String> actualFixedFields = mockPcapJob.getFixedFields();
- Assert.assertEquals("ip_src_addr", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
- Assert.assertEquals("1000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
- Assert.assertEquals("ip_dst_addr", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
- Assert.assertEquals("2000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
- Assert.assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
- Assert.assertEquals("tcp", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
- Assert.assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
+ assertEquals("ip_src_addr", actualFixedFields.get(Constants.Fields.SRC_ADDR.getName()));
+ assertEquals("1000", actualFixedFields.get(Constants.Fields.SRC_PORT.getName()));
+ assertEquals("ip_dst_addr", actualFixedFields.get(Constants.Fields.DST_ADDR.getName()));
+ assertEquals("2000", actualFixedFields.get(Constants.Fields.DST_PORT.getName()));
+ assertEquals("true", actualFixedFields.get(Constants.Fields.INCLUDES_REVERSE_TRAFFIC.getName()));
+ assertEquals("tcp", actualFixedFields.get(Constants.Fields.PROTOCOL.getName()));
+ assertEquals("filter", actualFixedFields.get(PcapHelper.PacketFields.PACKET_FILTER.getName()));
}
@Test
@@ -289,17 +261,17 @@ public class PcapServiceImplTest {
expectedPcapStatus.setJobStatus(JobStatus.State.RUNNING.name());
expectedPcapStatus.setDescription("description");
- Assert.assertEquals(expectedPcapStatus, pcapService.submit("user", fixedPcapRequest));
- Assert.assertEquals("/base/path", mockPcapJob.getBasePath());
- Assert.assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(0, mockPcapJob.getStartTimeNs());
- Assert.assertTrue(beforeJobTime <= mockPcapJob.getEndTimeNs() / 1000000);
- Assert.assertTrue(System.currentTimeMillis() >= mockPcapJob.getEndTimeNs() / 1000000);
- Assert.assertEquals(10, mockPcapJob.getNumReducers());
- Assert.assertEquals(100, mockPcapJob.getRecPerFile());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
- Assert.assertEquals(new HashMap<>(), mockPcapJob.getFixedFields());
+ assertEquals(expectedPcapStatus, pcapService.submit("user", fixedPcapRequest));
+ assertEquals("/base/path", mockPcapJob.getBasePath());
+ assertEquals("/base/interim/result/path", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("/final/output/path", mockPcapJob.getFinalOutputPath());
+ assertEquals(0, mockPcapJob.getStartTimeNs());
+ assertTrue(beforeJobTime <= mockPcapJob.getEndTimeNs() / 1000000);
+ assertTrue(System.currentTimeMillis() >= mockPcapJob.getEndTimeNs() / 1000000);
+ assertEquals(10, mockPcapJob.getNumReducers());
+ assertEquals(100, mockPcapJob.getRecPerFile());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof FixedPcapFilter.Configurator);
+ assertEquals(new HashMap<>(), mockPcapJob.getFixedFields());
}
@Test
@@ -331,25 +303,22 @@ public class PcapServiceImplTest {
expectedPcapStatus.setJobStatus(JobStatus.State.RUNNING.name());
expectedPcapStatus.setDescription("description");
- Assert.assertEquals(expectedPcapStatus, pcapService.submit("user", queryPcapRequest));
- Assert.assertEquals(expectedPcapStatus, pcapService.jobStatusToPcapStatus(jobManager.getJob("user", "jobId").getStatus()));
- Assert.assertEquals("basePath", mockPcapJob.getBasePath());
- Assert.assertEquals("baseOutputPath", mockPcapJob.getBaseInterrimResultPath());
- Assert.assertEquals("finalOutputPath", mockPcapJob.getFinalOutputPath());
- Assert.assertEquals(1000000, mockPcapJob.getStartTimeNs());
- Assert.assertEquals(2000000, mockPcapJob.getEndTimeNs());
- Assert.assertEquals(2, mockPcapJob.getNumReducers());
- Assert.assertEquals(100, mockPcapJob.getRecPerFile());
- Assert.assertTrue(mockPcapJob.getFilterImpl() instanceof QueryPcapFilter.Configurator);
+ assertEquals(expectedPcapStatus, pcapService.submit("user", queryPcapRequest));
+ assertEquals(expectedPcapStatus, pcapService.jobStatusToPcapStatus(jobManager.getJob("user", "jobId").getStatus()));
+ assertEquals("basePath", mockPcapJob.getBasePath());
+ assertEquals("baseOutputPath", mockPcapJob.getBaseInterrimResultPath());
+ assertEquals("finalOutputPath", mockPcapJob.getFinalOutputPath());
+ assertEquals(1000000, mockPcapJob.getStartTimeNs());
+ assertEquals(2000000, mockPcapJob.getEndTimeNs());
+ assertEquals(2, mockPcapJob.getNumReducers());
+ assertEquals(100, mockPcapJob.getRecPerFile());
+ assertTrue(mockPcapJob.getFilterImpl() instanceof QueryPcapFilter.Configurator);
Map<String, String> actualFixedFields = mockPcapJob.getFixedFields();
- Assert.assertEquals("query", mockPcapJob.getQuery());
+ assertEquals("query", mockPcapJob.getQuery());
}
@Test
public void submitShouldThrowExceptionOnRunningJobFound() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Cannot submit job because a job is already running. Please contact the administrator to cancel job(s) with id(s) jobId");
-
PcapStatus runningStatus1 = new PcapStatus();
runningStatus1.setJobStatus("RUNNING");
runningStatus1.setJobId("jobId1");
@@ -361,15 +330,13 @@ public class PcapServiceImplTest {
doReturn(Arrays.asList(runningStatus1, runningStatus2)).when(pcapService).getJobStatus("user", JobStatus.State.RUNNING);
when(environment.getProperty(MetronRestConstants.USER_JOB_LIMIT_SPRING_PROPERTY, Integer.class, 1)).thenReturn(2);
- pcapService.submit("user", new FixedPcapRequest());
+ RestException e = assertThrows(RestException.class, () -> pcapService.submit("user", new FixedPcapRequest()));
+ assertTrue(e.getMessage().contains("Cannot submit job because a job is already running. Please contact the administrator to cancel job(s) with id(s) jobId"));
}
@Test
public void fixedShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("some job exception");
-
FixedPcapRequest fixedPcapRequest = new FixedPcapRequest();
JobManager jobManager = mock(JobManager.class);
PcapJobSupplier pcapJobSupplier = new PcapJobSupplier();
@@ -378,7 +345,8 @@ public class PcapServiceImplTest {
doReturn(fileSystem).when(pcapService).getFileSystem();
when(jobManager.submit(pcapJobSupplier, "user")).thenThrow(new JobException("some job exception"));
- pcapService.submit("user", fixedPcapRequest);
+ RestException e = assertThrows(RestException.class, () -> pcapService.submit("user", fixedPcapRequest));
+ assertEquals("some job exception", e.getMessage());
}
@Test
@@ -405,7 +373,7 @@ public class PcapServiceImplTest {
expectedPcapStatus.setPercentComplete(100.0);
expectedPcapStatus.setPageTotal(2);
- Assert.assertEquals(expectedPcapStatus, pcapService.getJobStatus("user", "jobId"));
+ assertEquals(expectedPcapStatus, pcapService.getJobStatus("user", "jobId"));
}
@Test
@@ -413,19 +381,17 @@ public class PcapServiceImplTest {
JobManager jobManager = new InMemoryJobManager();
PcapServiceImpl pcapService = new PcapServiceImpl(environment, configuration, new PcapJobSupplier(), jobManager, pcapToPdmlScriptWrapper);
- Assert.assertNull(pcapService.getJobStatus("user", "jobId"));
+ assertNull(pcapService.getJobStatus("user", "jobId"));
}
@Test
public void getStatusShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("some job exception");
-
JobManager jobManager = mock(JobManager.class);
when(jobManager.getJob("user", "jobId")).thenThrow(new JobException("some job exception"));
PcapServiceImpl pcapService = new PcapServiceImpl(environment, configuration, new PcapJobSupplier(), jobManager, pcapToPdmlScriptWrapper);
- pcapService.getJobStatus("user", "jobId");
+ RestException e = assertThrows(RestException.class, () -> pcapService.getJobStatus("user", "jobId"));
+ assertEquals("some job exception", e.getMessage());
}
@Test
@@ -458,18 +424,18 @@ public class PcapServiceImplTest {
PcapStatus expectedRunningPcapStatus = new PcapStatus();
expectedRunningPcapStatus.setJobId("runningJob");
expectedRunningPcapStatus.setJobStatus(JobStatus.State.RUNNING.name());
- Assert.assertEquals(expectedRunningPcapStatus, pcapService.getJobStatus("user", JobStatus.State.RUNNING).get(0));
+ assertEquals(expectedRunningPcapStatus, pcapService.getJobStatus("user", JobStatus.State.RUNNING).get(0));
PcapStatus expectedFailedPcapStatus = new PcapStatus();
expectedFailedPcapStatus.setJobStatus(JobStatus.State.FAILED.name());
expectedFailedPcapStatus.setDescription("job exception");
- Assert.assertEquals(expectedFailedPcapStatus, pcapService.getJobStatus("user", JobStatus.State.FAILED).get(0));
+ assertEquals(expectedFailedPcapStatus, pcapService.getJobStatus("user", JobStatus.State.FAILED).get(0));
PcapStatus expectedSucceededPcapStatus = new PcapStatus();
expectedSucceededPcapStatus.setJobId("succeededJob");
expectedSucceededPcapStatus.setJobStatus(JobStatus.State.SUCCEEDED.name());
expectedSucceededPcapStatus.setPageTotal(5);
- Assert.assertEquals(expectedSucceededPcapStatus, pcapService.getJobStatus("user", JobStatus.State.SUCCEEDED).get(0));
+ assertEquals(expectedSucceededPcapStatus, pcapService.getJobStatus("user", JobStatus.State.SUCCEEDED).get(0));
}
@Test
@@ -520,7 +486,7 @@ public class PcapServiceImplTest {
when(pageable.getPage(0)).thenReturn(actualPath);
when(jobManager.getJob("user", "jobId")).thenReturn(mockPcapJob);
- Assert.assertEquals("/path", pcapService.getPath("user", "jobId", 1).toUri().getPath());
+ assertEquals("/path", pcapService.getPath("user", "jobId", 1).toUri().getPath());
}
@Test
@@ -535,8 +501,8 @@ public class PcapServiceImplTest {
when(mockPcapJob.get()).thenReturn(pageable);
when(jobManager.getJob("user", "jobId")).thenReturn(mockPcapJob);
- Assert.assertNull(pcapService.getPath("user", "jobId", 0));
- Assert.assertNull(pcapService.getPath("user", "jobId", 3));
+ assertNull(pcapService.getPath("user", "jobId", 0));
+ assertNull(pcapService.getPath("user", "jobId", 3));
}
@Test
@@ -549,14 +515,14 @@ public class PcapServiceImplTest {
when(fileSystem.exists(path)).thenReturn(true);
doReturn(path).when(pcapService).getPath("user", "jobId", 1);
doReturn(new ByteArrayInputStream(pdmlXml.getBytes(StandardCharsets.UTF_8))).when(pcapToPdmlScriptWrapper).getRawInputStream(fileSystem, path);
- ProcessBuilder pb = PowerMockito.mock(ProcessBuilder.class);
- Process p = PowerMockito.mock(Process.class);
+ ProcessBuilder pb = mock(ProcessBuilder.class);
+ Process p = mock(Process.class);
OutputStream outputStream = new ByteArrayOutputStream();
when(p.getOutputStream()).thenReturn(outputStream);
when(p.isAlive()).thenReturn(true);
when(p.getInputStream()).thenReturn(new ByteArrayInputStream(pdmlXml.getBytes(StandardCharsets.UTF_8)));
- whenNew(ProcessBuilder.class).withParameterTypes(String[].class).withArguments(anyVararg()).thenReturn(pb);
- PowerMockito.when(pb.start()).thenReturn(p);
+ doReturn(pb).when(pcapToPdmlScriptWrapper).getProcessBuilder(any());
+ when(pb.start()).thenReturn(p);
assertEquals(JSONUtils.INSTANCE.load(expectedPdml, Pdml.class), pcapService.getPdml("user", "jobId", 1));
}
@@ -576,9 +542,6 @@ public class PcapServiceImplTest {
@Test
public void getPdmlShouldThrowException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("some exception");
-
Path path = new Path("./target");
PcapToPdmlScriptWrapper pcapToPdmlScriptWrapper = spy(new PcapToPdmlScriptWrapper());
PcapServiceImpl pcapService = spy(new PcapServiceImpl(environment, configuration, new PcapJobSupplier(), new InMemoryJobManager<>(), pcapToPdmlScriptWrapper));
@@ -586,11 +549,12 @@ public class PcapServiceImplTest {
doReturn(fileSystem).when(pcapService).getFileSystem();
when(fileSystem.exists(path)).thenReturn(true);
doReturn(path).when(pcapService).getPath("user", "jobId", 1);
- ProcessBuilder pb = PowerMockito.mock(ProcessBuilder.class);
+ ProcessBuilder pb = mock(ProcessBuilder.class);
doReturn(pb).when(pcapToPdmlScriptWrapper).getProcessBuilder("/path/to/pdml/script", "target");
- PowerMockito.when(pb.start()).thenThrow(new IOException("some exception"));
+ when(pb.start()).thenThrow(new IOException("some exception"));
- pcapService.getPdml("user", "jobId", 1);
+ RestException e = assertThrows(RestException.class, () -> pcapService.getPdml("user", "jobId", 1));
+ assertEquals("some exception", e.getMessage());
}
@Test
@@ -604,7 +568,7 @@ public class PcapServiceImplTest {
doReturn(path).when(pcapService).getPath("user", "jobId", 1);
when(fileSystem.open(path)).thenReturn(inputStream);
- Assert.assertEquals(inputStream, pcapService.getRawPcap("user", "jobId", 1));
+ assertEquals(inputStream, pcapService.getRawPcap("user", "jobId", 1));
}
@Test
@@ -633,9 +597,6 @@ public class PcapServiceImplTest {
@Test
public void getRawShouldThrowException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("some exception");
-
Path path = new Path("./target");
PcapServiceImpl pcapService = spy(new PcapServiceImpl(environment, configuration, new PcapJobSupplier(), new InMemoryJobManager<>(), pcapToPdmlScriptWrapper));
FileSystem fileSystem = mock(FileSystem.class);
@@ -644,7 +605,8 @@ public class PcapServiceImplTest {
doReturn(path).when(pcapService).getPath("user", "jobId", 1);
when(fileSystem.open(path)).thenThrow(new IOException("some exception"));
- pcapService.getRawPcap("user", "jobId", 1);
+ RestException e = assertThrows(RestException.class, () -> pcapService.getRawPcap("user", "jobId", 1));
+ assertEquals("some exception", e.getMessage());
}
@Test
@@ -676,18 +638,18 @@ public class PcapServiceImplTest {
pcapService.submit("user", fixedPcapRequest);
Map<String, Object> configuration = pcapService.getConfiguration("user", "jobId");
- Assert.assertEquals("basePath", configuration.get(PcapOptions.BASE_PATH.getKey()));
- Assert.assertEquals("finalOutputPath", configuration.get(PcapOptions.FINAL_OUTPUT_PATH.getKey()));
- Assert.assertEquals(1L, configuration.get(PcapOptions.START_TIME_MS.getKey()));
- Assert.assertEquals(2L, configuration.get(PcapOptions.END_TIME_MS.getKey()));
- Assert.assertEquals(2, configuration.get(PcapOptions.NUM_REDUCERS.getKey()));
- Assert.assertEquals("ip_src_addr", configuration.get(FixedPcapOptions.IP_SRC_ADDR.getKey()));
- Assert.assertEquals("ip_dst_addr", configuration.get(FixedPcapOptions.IP_DST_ADDR.getKey()));
- Assert.assertEquals(1000, configuration.get(FixedPcapOptions.IP_SRC_PORT.getKey()));
- Assert.assertEquals(2000, configuration.get(FixedPcapOptions.IP_DST_PORT.getKey()));
- Assert.assertEquals("tcp", configuration.get(FixedPcapOptions.PROTOCOL.getKey()));
- Assert.assertEquals("filter", configuration.get(FixedPcapOptions.PACKET_FILTER.getKey()));
- Assert.assertEquals(true, configuration.get(FixedPcapOptions.INCLUDE_REVERSE.getKey()));
+ assertEquals("basePath", configuration.get(PcapOptions.BASE_PATH.getKey()));
+ assertEquals("finalOutputPath", configuration.get(PcapOptions.FINAL_OUTPUT_PATH.getKey()));
+ assertEquals(1L, configuration.get(PcapOptions.START_TIME_MS.getKey()));
+ assertEquals(2L, configuration.get(PcapOptions.END_TIME_MS.getKey()));
+ assertEquals(2, configuration.get(PcapOptions.NUM_REDUCERS.getKey()));
+ assertEquals("ip_src_addr", configuration.get(FixedPcapOptions.IP_SRC_ADDR.getKey()));
+ assertEquals("ip_dst_addr", configuration.get(FixedPcapOptions.IP_DST_ADDR.getKey()));
+ assertEquals(1000, configuration.get(FixedPcapOptions.IP_SRC_PORT.getKey()));
+ assertEquals(2000, configuration.get(FixedPcapOptions.IP_DST_PORT.getKey()));
+ assertEquals("tcp", configuration.get(FixedPcapOptions.PROTOCOL.getKey()));
+ assertEquals("filter", configuration.get(FixedPcapOptions.PACKET_FILTER.getKey()));
+ assertEquals(true, configuration.get(FixedPcapOptions.INCLUDE_REVERSE.getKey()));
}
@Test
@@ -713,12 +675,12 @@ public class PcapServiceImplTest {
pcapService.submit("user", queryPcapRequest);
Map<String, Object> configuration = pcapService.getConfiguration("user", "jobId");
- Assert.assertEquals("basePath", configuration.get(PcapOptions.BASE_PATH.getKey()));
- Assert.assertEquals("finalOutputPath", configuration.get(PcapOptions.FINAL_OUTPUT_PATH.getKey()));
- Assert.assertEquals(1L, configuration.get(PcapOptions.START_TIME_MS.getKey()));
- Assert.assertEquals(2L, configuration.get(PcapOptions.END_TIME_MS.getKey()));
- Assert.assertEquals(2, configuration.get(PcapOptions.NUM_REDUCERS.getKey()));
- Assert.assertEquals("query", configuration.get(QueryPcapOptions.QUERY.getKey()));
+ assertEquals("basePath", configuration.get(PcapOptions.BASE_PATH.getKey()));
+ assertEquals("finalOutputPath", configuration.get(PcapOptions.FINAL_OUTPUT_PATH.getKey()));
+ assertEquals(1L, configuration.get(PcapOptions.START_TIME_MS.getKey()));
+ assertEquals(2L, configuration.get(PcapOptions.END_TIME_MS.getKey()));
+ assertEquals(2, configuration.get(PcapOptions.NUM_REDUCERS.getKey()));
+ assertEquals("query", configuration.get(QueryPcapOptions.QUERY.getKey()));
}
@Test
@@ -729,19 +691,17 @@ public class PcapServiceImplTest {
PcapServiceImpl pcapService = new PcapServiceImpl(environment, configuration, mockPcapJobSupplier, jobManager, pcapToPdmlScriptWrapper);
Map<String, Object> configuration = pcapService.getConfiguration("user", "jobId");
- Assert.assertEquals(new HashMap<>(), configuration);
+ assertEquals(new HashMap<>(), configuration);
}
@Test
public void getConfigurationShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("some job exception");
-
JobManager jobManager = mock(JobManager.class);
when(jobManager.getJob("user", "jobId")).thenThrow(new JobException("some job exception"));
PcapServiceImpl pcapService = new PcapServiceImpl(environment, configuration, new PcapJobSupplier(), jobManager, pcapToPdmlScriptWrapper);
- pcapService.getConfiguration("user", "jobId");
+ RestException e = assertThrows(RestException.class, () -> pcapService.getConfiguration("user", "jobId"));
+ assertEquals("some job exception", e.getMessage());
}
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SearchServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SearchServiceImplTest.java
index 82e7221..589904e 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SearchServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SearchServiceImplTest.java
@@ -17,23 +17,6 @@
*/
package org.apache.metron.rest.service.impl;
-import static org.apache.metron.common.Constants.SENSOR_TYPE_FIELD_PROPERTY;
-import static org.apache.metron.rest.MetronRestConstants.INDEX_WRITER_NAME;
-import static org.apache.metron.rest.MetronRestConstants.SEARCH_FACET_FIELDS_SPRING_PROPERTY;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
import org.apache.metron.indexing.dao.IndexDao;
import org.apache.metron.indexing.dao.search.InvalidSearchException;
import org.apache.metron.indexing.dao.search.SearchRequest;
@@ -42,17 +25,21 @@ import org.apache.metron.rest.model.AlertsUIUserSettings;
import org.apache.metron.rest.service.AlertsUIService;
import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.metron.rest.service.SensorIndexingConfigService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
+import java.util.*;
+
+import static org.apache.metron.common.Constants.SENSOR_TYPE_FIELD_PROPERTY;
+import static org.apache.metron.rest.MetronRestConstants.INDEX_WRITER_NAME;
+import static org.apache.metron.rest.MetronRestConstants.SEARCH_FACET_FIELDS_SPRING_PROPERTY;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.Mockito.*;
+
@SuppressWarnings("ALL")
public class SearchServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
IndexDao dao;
Environment environment;
SensorIndexingConfigService sensorIndexingConfigService;
@@ -60,7 +47,7 @@ public class SearchServiceImplTest {
AlertsUIService alertsUIService;
SearchServiceImpl searchService;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
dao = mock(IndexDao.class);
environment = mock(Environment.class);
@@ -157,14 +144,12 @@ public class SearchServiceImplTest {
@Test
public void saveShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
when(dao.search(any(SearchRequest.class))).thenThrow(InvalidSearchException.class);
SearchRequest searchRequest = new SearchRequest();
searchRequest.setIndices(Arrays.asList("bro"));
searchRequest.setFacetFields(Arrays.asList("ip_src_addr"));
- searchService.search(searchRequest);
+ assertThrows(RestException.class, () -> searchService.search(searchRequest));
}
@Test
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorEnrichmentConfigServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorEnrichmentConfigServiceImplTest.java
index 5cc9705..12affbf 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorEnrichmentConfigServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorEnrichmentConfigServiceImplTest.java
@@ -34,26 +34,19 @@ import org.apache.metron.rest.RestException;
import org.apache.metron.rest.service.SensorEnrichmentConfigService;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.eq;
+import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
-@SuppressWarnings("ALL")
public class SensorEnrichmentConfigServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
ObjectMapper objectMapper;
CuratorFramework curatorFramework;
SensorEnrichmentConfigService sensorEnrichmentConfigService;
@@ -81,8 +74,8 @@ public class SensorEnrichmentConfigServiceImplTest {
ConfigurationsCache cache;
private HBaseClient hBaseClient;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
objectMapper = mock(ObjectMapper.class);
curatorFramework = mock(CuratorFramework.class);
cache = mock(ConfigurationsCache.class);
@@ -103,14 +96,12 @@ public class SensorEnrichmentConfigServiceImplTest {
@Test
public void deleteShouldProperlyCatchNonNoNodeExceptionAndThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
DeleteBuilder builder = mock(DeleteBuilder.class);
when(curatorFramework.delete()).thenReturn(builder);
when(builder.forPath(ConfigurationType.ENRICHMENT.getZookeeperRoot() + "/bro")).thenThrow(Exception.class);
- assertFalse(sensorEnrichmentConfigService.delete("bro"));
+ assertThrows(RestException.class, () -> sensorEnrichmentConfigService.delete("bro"));
}
@Test
@@ -118,7 +109,7 @@ public class SensorEnrichmentConfigServiceImplTest {
DeleteBuilder builder = mock(DeleteBuilder.class);
when(curatorFramework.delete()).thenReturn(builder);
- when(builder.forPath(ConfigurationType.ENRICHMENT.getZookeeperRoot() + "/bro")).thenReturn(null);
+ doNothing().when(builder).forPath(ConfigurationType.ENRICHMENT.getZookeeperRoot() + "/bro");
assertTrue(sensorEnrichmentConfigService.delete("bro"));
@@ -158,7 +149,7 @@ public class SensorEnrichmentConfigServiceImplTest {
when(cache.get(eq(EnrichmentConfigurations.class)))
.thenReturn(configs);
- assertEquals(new ArrayList() {{
+ assertEquals(new ArrayList<String>() {{
add("bro");
add("squid");
}}, sensorEnrichmentConfigService.getAllTypes());
@@ -178,20 +169,18 @@ public class SensorEnrichmentConfigServiceImplTest {
when(cache.get( eq(EnrichmentConfigurations.class)))
.thenReturn(configs);
- assertEquals(new HashMap() {{ put("bro", sensorEnrichmentConfig);}}, sensorEnrichmentConfigService.getAll());
+ assertEquals(Collections.singletonMap("bro", sensorEnrichmentConfig), sensorEnrichmentConfigService.getAll());
}
@Test
public void saveShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
when(setDataBuilder.forPath(ConfigurationType.ENRICHMENT.getZookeeperRoot() + "/bro", broJson.getBytes(
StandardCharsets.UTF_8))).thenThrow(Exception.class);
when(curatorFramework.setData()).thenReturn(setDataBuilder);
- sensorEnrichmentConfigService.save("bro", new SensorEnrichmentConfig());
+ assertThrows(RestException.class, () -> sensorEnrichmentConfigService.save("bro", new SensorEnrichmentConfig()));
}
@Test
@@ -225,7 +214,7 @@ public class SensorEnrichmentConfigServiceImplTest {
}
@Test
- public void getAvailableThreatTriageAggregatorsShouldReturnAggregators() throws Exception {
+ public void getAvailableThreatTriageAggregatorsShouldReturnAggregators() {
assertEquals(new ArrayList<String>() {{
add("MAX");
add("MIN");
@@ -238,11 +227,11 @@ public class SensorEnrichmentConfigServiceImplTest {
private SensorEnrichmentConfig getTestSensorEnrichmentConfig() {
SensorEnrichmentConfig sensorEnrichmentConfig = new SensorEnrichmentConfig();
EnrichmentConfig enrichmentConfig = new EnrichmentConfig();
- enrichmentConfig.setFieldMap(new HashMap() {{ put("geo", Arrays.asList("ip_dst_addr")); }});
+ enrichmentConfig.setFieldMap(Collections.singletonMap("geo", Collections.singletonList("ip_dst_addr")));
sensorEnrichmentConfig.setEnrichment(enrichmentConfig);
ThreatIntelConfig threatIntelConfig = new ThreatIntelConfig();
- threatIntelConfig.setFieldMap(new HashMap() {{ put("hbaseThreatIntel", Arrays.asList("ip_src_addr")); }});
- threatIntelConfig.setFieldToTypeMap(new HashMap() {{ put("ip_src_addr", Arrays.asList("malicious_ip")); }});
+ threatIntelConfig.setFieldMap(Collections.singletonMap("hbaseThreatIntel", Collections.singletonList("ip_src_addr")));
+ threatIntelConfig.setFieldToTypeMap(Collections.singletonMap("ip_src_addr", Collections.singletonList("malicious_ip")));
sensorEnrichmentConfig.setThreatIntel(threatIntelConfig);
return sensorEnrichmentConfig;
}
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorIndexingConfigServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorIndexingConfigServiceImplTest.java
index dcdd41d..3496d74 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorIndexingConfigServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorIndexingConfigServiceImplTest.java
@@ -21,48 +21,29 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
-import java.nio.charset.StandardCharsets;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.api.DeleteBuilder;
-import org.apache.curator.framework.api.GetChildrenBuilder;
-import org.apache.curator.framework.api.GetDataBuilder;
import org.apache.curator.framework.api.SetDataBuilder;
import org.apache.metron.common.configuration.ConfigurationType;
import org.apache.metron.common.configuration.IndexingConfigurations;
import org.apache.metron.common.configuration.ParserConfigurations;
-import org.apache.metron.common.utils.JSONUtils;
import org.apache.metron.common.zookeeper.ConfigurationsCache;
import org.apache.metron.rest.RestException;
import org.apache.metron.rest.service.SensorIndexingConfigService;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Collections;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
@SuppressWarnings("ALL")
public class SensorIndexingConfigServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
ObjectMapper objectMapper;
CuratorFramework curatorFramework;
SensorIndexingConfigService sensorIndexingConfigService;
@@ -80,7 +61,7 @@ public class SensorIndexingConfigServiceImplTest {
@Multiline
public static String broJson;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
objectMapper = mock(ObjectMapper.class);
curatorFramework = mock(CuratorFramework.class);
@@ -101,25 +82,20 @@ public class SensorIndexingConfigServiceImplTest {
@Test
public void deleteShouldProperlyCatchNonNoNodeExceptionAndThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
DeleteBuilder builder = mock(DeleteBuilder.class);
when(curatorFramework.delete()).thenReturn(builder);
when(builder.forPath(ConfigurationType.INDEXING.getZookeeperRoot() + "/bro")).thenThrow(Exception.class);
- assertFalse(sensorIndexingConfigService.delete("bro"));
+ assertThrows(RestException.class, () -> sensorIndexingConfigService.delete("bro"));
}
@Test
public void deleteShouldReturnTrueWhenClientSuccessfullyCallsDelete() throws Exception {
DeleteBuilder builder = mock(DeleteBuilder.class);
-
when(curatorFramework.delete()).thenReturn(builder);
- when(builder.forPath(ConfigurationType.INDEXING.getZookeeperRoot() + "/bro")).thenReturn(null);
assertTrue(sensorIndexingConfigService.delete("bro"));
-
verify(curatorFramework).delete();
}
@@ -158,9 +134,9 @@ public class SensorIndexingConfigServiceImplTest {
when(cache.get(eq(IndexingConfigurations.class))).thenReturn(indexingConfiguration);
List<String> indices = new ArrayList<String>();
Iterables.addAll(indices, sensorIndexingConfigService.getAllIndices("elasticsearch"));
- Assert.assertEquals(2, indices.size());
- Assert.assertTrue(indices.contains("bro"));
- Assert.assertTrue(indices.contains("snort"));
+ assertEquals(2, indices.size());
+ assertTrue(indices.contains("bro"));
+ assertTrue(indices.contains("snort"));
}
@Test
@@ -180,9 +156,9 @@ public class SensorIndexingConfigServiceImplTest {
when(cache.get(eq(IndexingConfigurations.class))).thenReturn(indexingConfiguration);
List<String> indices = new ArrayList<String>();
Iterables.addAll(indices, sensorIndexingConfigService.getAllIndices("elasticsearch"));
- Assert.assertEquals(2, indices.size());
- Assert.assertTrue(indices.contains("renamed_bro"));
- Assert.assertTrue(indices.contains("snort"));
+ assertEquals(2, indices.size());
+ assertTrue(indices.contains("renamed_bro"));
+ assertTrue(indices.contains("snort"));
}
@Test
@@ -203,10 +179,10 @@ public class SensorIndexingConfigServiceImplTest {
when(cache.get(eq(IndexingConfigurations.class))).thenReturn(indexingConfiguration);
List<String> indices = new ArrayList<String>();
Iterables.addAll(indices, sensorIndexingConfigService.getAllIndices("elasticsearch"));
- Assert.assertEquals(3, indices.size());
- Assert.assertTrue(indices.contains("renamed_bro"));
- Assert.assertTrue(indices.contains("snort"));
- Assert.assertTrue(indices.contains("yaf"));
+ assertEquals(3, indices.size());
+ assertTrue(indices.contains("renamed_bro"));
+ assertTrue(indices.contains("snort"));
+ assertTrue(indices.contains("yaf"));
}
@Test
@@ -220,7 +196,7 @@ public class SensorIndexingConfigServiceImplTest {
when(cache.get(eq(IndexingConfigurations.class))).thenReturn(indexingConfiguration);
List<String> indices = new ArrayList<String>();
Iterables.addAll(indices, sensorIndexingConfigService.getAllIndices("elasticsearch"));
- Assert.assertEquals(0, indices.size());
+ assertEquals(0, indices.size());
}
@Test
@@ -260,15 +236,13 @@ public class SensorIndexingConfigServiceImplTest {
@Test
public void saveShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
when(setDataBuilder.forPath(ConfigurationType.INDEXING.getZookeeperRoot() + "/bro", broJson.getBytes(
StandardCharsets.UTF_8))).thenThrow(Exception.class);
when(curatorFramework.setData()).thenReturn(setDataBuilder);
- sensorIndexingConfigService.save("bro", new HashMap<>());
+ assertThrows(RestException.class, () -> sensorIndexingConfigService.save("bro", new HashMap<>()));
}
@Test
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserConfigServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserConfigServiceImplTest.java
index a588b99..742a92d 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserConfigServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserConfigServiceImplTest.java
@@ -19,20 +19,13 @@ package org.apache.metron.rest.service.impl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
-import java.io.FileOutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
import oi.thekraken.grok.api.Grok;
import org.adrianwalker.multilinestring.Multiline;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.api.DeleteBuilder;
-import org.apache.curator.framework.api.GetChildrenBuilder;
-import org.apache.curator.framework.api.GetDataBuilder;
import org.apache.curator.framework.api.SetDataBuilder;
import org.apache.hadoop.conf.Configuration;
import org.apache.metron.common.configuration.ConfigurationType;
-import org.apache.metron.common.configuration.ConfigurationType;
import org.apache.metron.common.configuration.ParserConfigurations;
import org.apache.metron.common.configuration.SensorParserConfig;
import org.apache.metron.common.zookeeper.ConfigurationsCache;
@@ -42,35 +35,26 @@ import org.apache.metron.rest.service.GrokService;
import org.apache.metron.rest.service.SensorParserConfigService;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.springframework.core.env.Environment;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
import static org.apache.metron.rest.MetronRestConstants.GROK_TEMP_PATH_SPRING_PROPERTY;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@SuppressWarnings("ALL")
-public class SensorParserConfigServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+public class SensorParserConfigServiceImplTest {
Environment environment;
ObjectMapper objectMapper;
CuratorFramework curatorFramework;
@@ -105,8 +89,8 @@ public class SensorParserConfigServiceImplTest {
ConfigurationsCache cache;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
objectMapper = mock(ObjectMapper.class);
curatorFramework = mock(CuratorFramework.class);
Environment environment = mock(Environment.class);
@@ -132,25 +116,20 @@ public class SensorParserConfigServiceImplTest {
@Test
public void deleteShouldProperlyCatchNonNoNodeExceptionAndThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
DeleteBuilder builder = mock(DeleteBuilder.class);
when(curatorFramework.delete()).thenReturn(builder);
when(builder.forPath(ConfigurationType.PARSER.getZookeeperRoot() + "/bro")).thenThrow(Exception.class);
- assertFalse(sensorParserConfigService.delete("bro"));
+ assertThrows(RestException.class, () -> sensorParserConfigService.delete("bro"));
}
@Test
public void deleteShouldReturnTrueWhenClientSuccessfullyCallsDelete() throws Exception {
DeleteBuilder builder = mock(DeleteBuilder.class);
-
when(curatorFramework.delete()).thenReturn(builder);
- when(builder.forPath(ConfigurationType.PARSER.getZookeeperRoot() + "/bro")).thenReturn(null);
assertTrue(sensorParserConfigService.delete("bro"));
-
verify(curatorFramework).delete();
}
@@ -186,7 +165,7 @@ public class SensorParserConfigServiceImplTest {
when(cache.get( eq(ParserConfigurations.class)))
.thenReturn(configs);
- assertEquals(new ArrayList() {{
+ assertEquals(new ArrayList<String>() {{
add("bro");
add("squid");
}}, sensorParserConfigService.getAllTypes());
@@ -207,7 +186,7 @@ public class SensorParserConfigServiceImplTest {
when(cache.get( eq(ParserConfigurations.class)))
.thenReturn(configs);
- assertEquals(new HashMap() {{
+ assertEquals(new HashMap<String, Object>() {{
put("bro", getTestBroSensorParserConfig());
put("squid", getTestSquidSensorParserConfig());
}}, sensorParserConfigService.getAll());
@@ -215,8 +194,6 @@ public class SensorParserConfigServiceImplTest {
@Test
public void saveShouldWrapExceptionInRestException() throws Exception {
- exception.expect(RestException.class);
-
SetDataBuilder setDataBuilder = mock(SetDataBuilder.class);
when(setDataBuilder.forPath(ConfigurationType.PARSER.getZookeeperRoot() + "/bro", broJson.getBytes(StandardCharsets.UTF_8))).thenThrow(Exception.class);
@@ -224,7 +201,7 @@ public class SensorParserConfigServiceImplTest {
final SensorParserConfig sensorParserConfig = new SensorParserConfig();
sensorParserConfig.setSensorTopic("bro");
- sensorParserConfigService.save("bro", sensorParserConfig);
+ assertThrows(RestException.class, () -> sensorParserConfigService.save("bro", sensorParserConfig));
}
@Test
@@ -242,7 +219,7 @@ public class SensorParserConfigServiceImplTest {
}
@Test
- public void reloadAvailableParsersShouldReturnParserClasses() throws Exception {
+ public void reloadAvailableParsersShouldReturnParserClasses() {
Map<String, String> availableParsers = sensorParserConfigService.reloadAvailableParsers();
assertTrue(availableParsers.size() > 0);
assertEquals("org.apache.metron.parsers.GrokParser", availableParsers.get("Grok"));
@@ -266,7 +243,7 @@ public class SensorParserConfigServiceImplTest {
writer.write(grokStatement);
writer.close();
- assertEquals(new HashMap() {{
+ assertEquals(new HashMap<String, Object>() {{
put("elapsed", 161);
put("code", 200);
put("ip_dst_addr", "199.27.79.73");
@@ -282,34 +259,28 @@ public class SensorParserConfigServiceImplTest {
}
@Test
- public void missingSensorParserConfigShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
+ public void missingSensorParserConfigShouldThrowRestException() {
ParseMessageRequest parseMessageRequest = new ParseMessageRequest();
- sensorParserConfigService.parseMessage(parseMessageRequest);
+ assertThrows(RestException.class, () -> sensorParserConfigService.parseMessage(parseMessageRequest));
}
@Test
- public void missingParserClassShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
+ public void missingParserClassShouldThrowRestException() {
final SensorParserConfig sensorParserConfig = new SensorParserConfig();
sensorParserConfig.setSensorTopic("squid");
ParseMessageRequest parseMessageRequest = new ParseMessageRequest();
parseMessageRequest.setSensorParserConfig(sensorParserConfig);
- sensorParserConfigService.parseMessage(parseMessageRequest);
+ assertThrows(RestException.class, () -> sensorParserConfigService.parseMessage(parseMessageRequest));
}
@Test
- public void invalidParserClassShouldThrowRestException() throws Exception {
- exception.expect(RestException.class);
-
+ public void invalidParserClassShouldThrowRestException() {
final SensorParserConfig sensorParserConfig = new SensorParserConfig();
sensorParserConfig.setSensorTopic("squid");
sensorParserConfig.setParserClassName("bad.class.package.BadClassName");
ParseMessageRequest parseMessageRequest = new ParseMessageRequest();
parseMessageRequest.setSensorParserConfig(sensorParserConfig);
- sensorParserConfigService.parseMessage(parseMessageRequest);
+ assertThrows(RestException.class, () -> sensorParserConfigService.parseMessage(parseMessageRequest));
}
private SensorParserConfig getTestBroSensorParserConfig() {
@@ -323,7 +294,7 @@ public class SensorParserConfigServiceImplTest {
SensorParserConfig sensorParserConfig = new SensorParserConfig();
sensorParserConfig.setSensorTopic("squid");
sensorParserConfig.setParserClassName("org.apache.metron.parsers.GrokParser");
- sensorParserConfig.setParserConfig(new HashMap() {{
+ sensorParserConfig.setParserConfig(new HashMap<String, Object>() {{
put("grokPath", "/patterns/squid");
put("patternLabel", "SQUID_DELIMITED");
put("timestampField", "timestamp");
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserGroupServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserGroupServiceImplTest.java
index efe8f43..a070c34 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserGroupServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/SensorParserGroupServiceImplTest.java
@@ -25,37 +25,23 @@ import org.apache.metron.rest.RestException;
import org.apache.metron.rest.service.GlobalConfigService;
import org.apache.metron.rest.service.SensorParserConfigService;
import org.apache.metron.rest.service.SensorParserGroupService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
+import java.util.*;
import static org.apache.metron.common.configuration.ParserConfigurations.PARSER_GROUPS_CONF;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
public class SensorParserGroupServiceImplTest {
-
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
private ConfigurationsCache cache;
private GlobalConfigService globalConfigService;
private SensorParserConfigService sensorParserConfigService;
private SensorParserGroupService sensorParserGroupService;
- @Before
- public void setUp() throws Exception {
+ @BeforeEach
+ public void setUp() {
cache = mock(ConfigurationsCache.class);
globalConfigService = mock(GlobalConfigService.class);
sensorParserConfigService = mock(SensorParserConfigService.class);
@@ -112,33 +98,26 @@ public class SensorParserGroupServiceImplTest {
}
@Test
- public void saveShouldThrowExceptionOnMissingSensor() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("A parser group must contain sensors");
-
+ public void saveShouldThrowExceptionOnMissingSensor() {
when(cache.get(ParserConfigurations.class)).thenReturn(new ParserConfigurations());
- sensorParserGroupService.save(new SensorParserGroup());
+ RestException e = assertThrows(RestException.class, () -> sensorParserGroupService.save(new SensorParserGroup()));
+ assertEquals("A parser group must contain sensors", e.getMessage());
}
@Test
- public void saveShouldThrowExceptionOnMissingConfig() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Could not find config for sensor bro");
-
+ public void saveShouldThrowExceptionOnMissingConfig() {
when(cache.get(ParserConfigurations.class)).thenReturn(new ParserConfigurations());
SensorParserGroup sensorParserGroup = new SensorParserGroup();
sensorParserGroup.setSensors(Collections.singleton("bro"));
- sensorParserGroupService.save(sensorParserGroup);
+ RestException e = assertThrows(RestException.class, () -> sensorParserGroupService.save(sensorParserGroup));
+ assertEquals("Could not find config for sensor bro", e.getMessage());
}
@Test
public void saveShouldThrowExceptionOnSensorInAnotherGroup() throws Exception {
- exception.expect(RestException.class);
- exception.expectMessage("Sensor bro is already in group existingGroup");
-
SensorParserGroup existingGroup = new SensorParserGroup();
existingGroup.setName("existingGroup");
existingGroup.setSensors(Collections.singleton("bro"));
@@ -153,11 +132,12 @@ public class SensorParserGroupServiceImplTest {
newGroup.setName("newGroup");
newGroup.setSensors(Collections.singleton("bro"));
- sensorParserGroupService.save(newGroup);
+ RestException e = assertThrows(RestException.class, () -> sensorParserGroupService.save(newGroup));
+ assertEquals("Sensor bro is already in group existingGroup", e.getMessage());
}
@Test
- public void shouldFindSensorParserGroup() throws Exception {
+ public void shouldFindSensorParserGroup() {
ParserConfigurations parserConfigurations = mock(ParserConfigurations.class);
SensorParserGroup group1 = new SensorParserGroup();
group1.setName("group1");
@@ -192,8 +172,8 @@ public class SensorParserGroupServiceImplTest {
Map<String, Object> expectedGlobalConfig = new HashMap<>();
expectedGlobalConfig.put(PARSER_GROUPS_CONF, new HashSet<>());
- assertEquals(true, sensorParserGroupService.delete("group1"));
- assertEquals(false, sensorParserGroupService.delete("group2"));
+ assertTrue(sensorParserGroupService.delete("group1"));
+ assertFalse(sensorParserGroupService.delete("group2"));
verify(globalConfigService, times(1)).save(expectedGlobalConfig);
verifyNoMoreInteractions(globalConfigService);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StellarServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StellarServiceImplTest.java
index 629dfc3..1c8ce99 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StellarServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StellarServiceImplTest.java
@@ -23,8 +23,8 @@ import org.apache.metron.common.configuration.SensorParserConfig;
import org.apache.metron.rest.model.SensorParserContext;
import org.apache.metron.rest.service.StellarService;
import org.apache.storm.shade.com.google.common.collect.ImmutableList;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.HashMap;
@@ -32,8 +32,8 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
public class StellarServiceImplTest {
@@ -41,7 +41,7 @@ public class StellarServiceImplTest {
private StellarService stellarService;
CuratorFramework curatorFramework;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
curatorFramework = mock(CuratorFramework.class);
stellarService = new StellarServiceImpl(curatorFramework);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormAdminServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormAdminServiceImplTest.java
index 9f6c3c5..e842b83 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormAdminServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormAdminServiceImplTest.java
@@ -22,31 +22,20 @@ import org.apache.metron.common.configuration.SensorParserGroup;
import org.apache.metron.rest.model.TopologyResponse;
import org.apache.metron.rest.model.TopologyStatus;
import org.apache.metron.rest.model.TopologyStatusCode;
-import org.apache.metron.rest.service.GlobalConfigService;
-import org.apache.metron.rest.service.SensorParserConfigService;
-import org.apache.metron.rest.service.SensorParserGroupService;
-import org.apache.metron.rest.service.StormAdminService;
-import org.apache.metron.rest.service.StormStatusService;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import java.util.Arrays;
-import java.util.Collections;
+import org.apache.metron.rest.service.*;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@SuppressWarnings("ALL")
public class StormAdminServiceImplTest {
- @Rule
- public final ExpectedException exception = ExpectedException.none();
-
StormCLIWrapper stormCLIClientWrapper;
StormAdminService stormAdminService;
GlobalConfigService globalConfigService;
@@ -54,7 +43,7 @@ public class StormAdminServiceImplTest {
SensorParserGroupService sensorParserGroupService;
StormStatusService stormStatusService;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
stormCLIClientWrapper = mock(StormCLIWrapper.class);
globalConfigService = mock(GlobalConfigService.class);
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormCLIWrapperTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormCLIWrapperTest.java
index 60a9790..fc734d5 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormCLIWrapperTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormCLIWrapperTest.java
@@ -19,13 +19,8 @@ package org.apache.metron.rest.service.impl;
import org.apache.metron.rest.MetronRestConstants;
import org.apache.metron.rest.RestException;
-import org.junit.Before;
-import org.junit.Rule;
... 35519 lines suppressed ...