[
https://issues.apache.org/jira/browse/NIFI-12190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Sampson updated NIFI-12190:
---------------------------------
Description:
NIFI-12177 adds an {{integraiton-tests}} GitHub Actions Workflow to regularly
run the {{integration-tests}} defined throughout the NiFi repo. However, many
tests have had to be skipped from the {{failsafe plugin}} execution due to
failures within the GitHub runner.
Typically these are caused by:
* the need for external resources to be setup
* incorrect assertions that might have worked during the original IT creation
but have not been updated since
* or missing/incompatible OS resources within the GitHub runner
This Epic is to review the failing ITs within NiFi codebase and either:
* fix them, e.g. correct assertions, and/or by using Testcontainers for hosting
external resources, such as for the Elasticsearch Processors
* remove them if no longer useful/cannot be reliably executed on
developer's/GitHub runners
* annotate them to be skipped in CI environments if the tests are useful and
work on a developer machine but won't be able to work in a CI runner, e.g. a
[DisabledIfEnvironmentVariable|https://junit.org/junit5/docs/5.7.0/api/org.junit.jupiter.api/org/junit/jupiter/api/condition/DisabledIfEnvironmentVariable.html]
to check whether the `CI` env var is present and set to `true`
Once fixed, the appropriate entry from the {{integration-tests}} Workflow's
{{MAVEN_FAILSAFE_SKIP_ITS}} env var **must** be removed
At the time of writing, the ITs known to be failing (either in part or as a
whole) are:
{quote} !AwsSecretsManagerSensitivePropertyProviderIT,
!AwsKmsSensitivePropertyProviderIT,
!AzureKeyVaultKeySensitivePropertyProviderIT,
!GcpKmsSensitivePropertyProviderIT,
!StandardHashiCorpVaultCommunicationServiceIT,
!ConversionWithSchemaInferenceIT#testXmlToAvro,
!ConversionWithSchemaInferenceIT#testXmlToJson,
!ConversionWithSchemaInferenceIT#testJsonToCsv,
!ConversionWithSchemaInferenceIT#testCsvToXml,
!ConversionWithSchemaInferenceIT#testXmlToAvroToXml,
!ConversionWithSchemaInferenceIT#testCsvToAvro,
!ConversionWithSchemaInferenceIT#testCsvToJson,
!ConversionWithSchemaInferenceIT#testJsonToAvroToJson,
!ConversionWithSchemaInferenceIT#testCsvToAvroToCsv,
!ConversionWithExplicitSchemaIT#testJsonToCsv,
!ConversionWithExplicitSchemaIT#testJsonToAvro,
!ConversionWithExplicitSchemaIT#testJsonToAvroToJson,
!ITConsumeKinesisStreamEndpointOverride,
!ITConsumeKinesisStreamConnectAWS,
!ITPutKinesisStream,
!ITPutKinesisStreamWithEndpointOverride#testIntegrationSuccess,
!ITPutKinesisFirehoseWithEndpointOverride#testIntegrationSuccess,
!ITPutKinesisFirehose,
!ITTagS3Object,
!ITFetchS3Object,
!ITDeleteS3Object,
!ITPutS3Object,
!ITListS3,
!ITPutSNS#testPublish,
!ITPutSNS#testPublishWithCredentialsProviderService,
!ITDeleteSQS,
!ITGetSQS,
!ITPutSQS,
!ITPutLambda,
!GetMongoIT#testDatabaseEL,
!PutGridFSIT#testFileNameAndHashUniqueness,
!PutGridFSIT#testHashUniqueness,
!ITPutAzureCosmosDBRecord,
!ITListAzureBlobStorage_v12,
!ITPutAzureDataLakeStorage,
!ITFetchAzureDataLakeStorage,
!ITListAzureDataLakeStorage,
!ITFetchAzureBlobStorage_v12,
!ITPutAzureBlobStorage_v12,
!ITDeleteAzureDataLakeStorage,
!ITDeleteAzureBlobStorage_v12,
!ITMoveAzureDataLakeStorage,
!AzureGraphUserGroupProviderIT,
!JMSPublisherConsumerIT#validateMessageRedeliveryWhenNotAcked,
!ITPutInfluxDB,
!ITExecuteInfluxDBQuery,
!GremlinClientServiceYamlSettingsAndBytecodeIT,
!GremlinClientServiceControllerSettingsIT,
!ITestConsumeEmail#validateUrl,
!PrometheusReportingTaskIT#testNullLabel,
!SnowflakeConnectionPoolIT,
!SalesforceRestServiceIT,
!QuerySalesforceObjectIT,
!PutSalesforceObjectIT,
!FetchDropboxIT,
!PutDropboxIT,
!ListDropboxIT,
!FetchBoxFileIT,
!PutBoxFileIT,
!ListBoxFileIT,
!JsonConfigBasedBoxClientServiceIT,
!QueryIoTDBIT,
!PutIoTDBRecordIT,
!StandardProcessSessionIT#testCloneThenWriteCountsClaimReferencesProperly,
!StandardProcessSessionIT#testUpdateFlowFileRepoFailsOnSessionCommit,
!JMSPublisherConsumerIT#testMultipleThreads,
!ITRedisDistributedMapCacheClientService#testSentinelRedisWithAuthentication,
!ITRedisDistributedMapCacheClientService#testSentinelRedis,
!SnowflakePipeIT,
!SecureFileIT,
!SecureProxyIT#testAccessStatus,
!SecureProxyIT#testAccessStatusAsProxiedAdmin,
!SecureProxyIT#testAccessStatusUsingRegistryClient,
!SecureNiFiRegistryClientIT#testGetAccessStatus,
!SecureNiFiRegistryClientIT#testTenantsClientGroups,
!SecureNiFiRegistryClientIT#testTenantsClientUsers,
!SecureNiFiRegistryClientIT#testCrudOperations,
!SecureDatabaseIT
!ITConnectionAccessControl,
!ITLabelAccessControl,
!ITOutputPortAccessControl,
!ITProcessorAccessControl,
!ITFlowAccessControl,
!ITFunnelAccessControl,
!ITInputPortAccessControl
!ITCountersAccessControl,
!ITAllowProxiedAnonymousAccess,
!ITPreventProxiedAnonymousAccess,
!ITPreventDirectAnonymousAccess,
!ITAllowDirectAnonymousAccess,
!ITProcessGroupAccessControl{quote}
This list was generated in the order that the tests were found to be failing,
and is written in the format to indicate that {{failsafe should skip these test
classes/methods|https://maven.apache.org/surefire/maven-failsafe-plugin/examples/single-test.html#multiple-formats-in-one]
was:
NIFI-12177 adds an {{integraiton-tests}} GitHub Actions Workflow to regularly
run the {{integration-tests}} defined throughout the NiFi repo. However, many
tests have had to be skipped from the {{failsafe plugin}} execution due to
failures within the GitHub runner.
Typically these are caused by:
* the need for external resources to be setup
* incorrect assertions that might have worked during the original IT creation
but have not been updated since
* or missing/incompatible OS resources within the GitHub runner
This Epic is to review the failing ITs within NiFi codebase and either:
* fix them, e.g. correct assertions, and/or by using Testcontainers for hosting
external resources, such as for the Elasticsearch Processors
* remove them if no longer useful/cannot be reliably executed on
developer's/GitHub runners
* annotate them to be skipped in CI environments if the tests are useful and
work on a developer machine but won't be able to work in a CI runner, e.g. a
[DisabledIfEnvironmentVariable|https://junit.org/junit5/docs/5.7.0/api/org.junit.jupiter.api/org/junit/jupiter/api/condition/DisabledIfEnvironmentVariable.html]
to check whether the `CI` env var is present and set to `true`
Once fixed, the appropriate entry from the {{integration-tests}} Workflow's
{{MAVEN_FAILSAFE_SKIP_ITS}} env var **must** be removed
> Fix failing Integration Tests
> -----------------------------
>
> Key: NIFI-12190
> URL: https://issues.apache.org/jira/browse/NIFI-12190
> Project: Apache NiFi
> Issue Type: Epic
> Reporter: Chris Sampson
> Priority: Major
> Fix For: 2.latest
>
>
> NIFI-12177 adds an {{integraiton-tests}} GitHub Actions Workflow to regularly
> run the {{integration-tests}} defined throughout the NiFi repo. However, many
> tests have had to be skipped from the {{failsafe plugin}} execution due to
> failures within the GitHub runner.
> Typically these are caused by:
> * the need for external resources to be setup
> * incorrect assertions that might have worked during the original IT creation
> but have not been updated since
> * or missing/incompatible OS resources within the GitHub runner
> This Epic is to review the failing ITs within NiFi codebase and either:
> * fix them, e.g. correct assertions, and/or by using Testcontainers for
> hosting external resources, such as for the Elasticsearch Processors
> * remove them if no longer useful/cannot be reliably executed on
> developer's/GitHub runners
> * annotate them to be skipped in CI environments if the tests are useful and
> work on a developer machine but won't be able to work in a CI runner, e.g. a
> [DisabledIfEnvironmentVariable|https://junit.org/junit5/docs/5.7.0/api/org.junit.jupiter.api/org/junit/jupiter/api/condition/DisabledIfEnvironmentVariable.html]
> to check whether the `CI` env var is present and set to `true`
> Once fixed, the appropriate entry from the {{integration-tests}} Workflow's
> {{MAVEN_FAILSAFE_SKIP_ITS}} env var **must** be removed
> At the time of writing, the ITs known to be failing (either in part or as a
> whole) are:
> {quote} !AwsSecretsManagerSensitivePropertyProviderIT,
> !AwsKmsSensitivePropertyProviderIT,
> !AzureKeyVaultKeySensitivePropertyProviderIT,
> !GcpKmsSensitivePropertyProviderIT,
> !StandardHashiCorpVaultCommunicationServiceIT,
> !ConversionWithSchemaInferenceIT#testXmlToAvro,
> !ConversionWithSchemaInferenceIT#testXmlToJson,
> !ConversionWithSchemaInferenceIT#testJsonToCsv,
> !ConversionWithSchemaInferenceIT#testCsvToXml,
> !ConversionWithSchemaInferenceIT#testXmlToAvroToXml,
> !ConversionWithSchemaInferenceIT#testCsvToAvro,
> !ConversionWithSchemaInferenceIT#testCsvToJson,
> !ConversionWithSchemaInferenceIT#testJsonToAvroToJson,
> !ConversionWithSchemaInferenceIT#testCsvToAvroToCsv,
> !ConversionWithExplicitSchemaIT#testJsonToCsv,
> !ConversionWithExplicitSchemaIT#testJsonToAvro,
> !ConversionWithExplicitSchemaIT#testJsonToAvroToJson,
> !ITConsumeKinesisStreamEndpointOverride,
> !ITConsumeKinesisStreamConnectAWS,
> !ITPutKinesisStream,
> !ITPutKinesisStreamWithEndpointOverride#testIntegrationSuccess,
> !ITPutKinesisFirehoseWithEndpointOverride#testIntegrationSuccess,
> !ITPutKinesisFirehose,
> !ITTagS3Object,
> !ITFetchS3Object,
> !ITDeleteS3Object,
> !ITPutS3Object,
> !ITListS3,
> !ITPutSNS#testPublish,
> !ITPutSNS#testPublishWithCredentialsProviderService,
> !ITDeleteSQS,
> !ITGetSQS,
> !ITPutSQS,
> !ITPutLambda,
> !GetMongoIT#testDatabaseEL,
> !PutGridFSIT#testFileNameAndHashUniqueness,
> !PutGridFSIT#testHashUniqueness,
> !ITPutAzureCosmosDBRecord,
> !ITListAzureBlobStorage_v12,
> !ITPutAzureDataLakeStorage,
> !ITFetchAzureDataLakeStorage,
> !ITListAzureDataLakeStorage,
> !ITFetchAzureBlobStorage_v12,
> !ITPutAzureBlobStorage_v12,
> !ITDeleteAzureDataLakeStorage,
> !ITDeleteAzureBlobStorage_v12,
> !ITMoveAzureDataLakeStorage,
> !AzureGraphUserGroupProviderIT,
> !JMSPublisherConsumerIT#validateMessageRedeliveryWhenNotAcked,
> !ITPutInfluxDB,
> !ITExecuteInfluxDBQuery,
> !GremlinClientServiceYamlSettingsAndBytecodeIT,
> !GremlinClientServiceControllerSettingsIT,
> !ITestConsumeEmail#validateUrl,
> !PrometheusReportingTaskIT#testNullLabel,
> !SnowflakeConnectionPoolIT,
> !SalesforceRestServiceIT,
> !QuerySalesforceObjectIT,
> !PutSalesforceObjectIT,
> !FetchDropboxIT,
> !PutDropboxIT,
> !ListDropboxIT,
> !FetchBoxFileIT,
> !PutBoxFileIT,
> !ListBoxFileIT,
> !JsonConfigBasedBoxClientServiceIT,
> !QueryIoTDBIT,
> !PutIoTDBRecordIT,
> !StandardProcessSessionIT#testCloneThenWriteCountsClaimReferencesProperly,
> !StandardProcessSessionIT#testUpdateFlowFileRepoFailsOnSessionCommit,
> !JMSPublisherConsumerIT#testMultipleThreads,
>
> !ITRedisDistributedMapCacheClientService#testSentinelRedisWithAuthentication,
> !ITRedisDistributedMapCacheClientService#testSentinelRedis,
> !SnowflakePipeIT,
> !SecureFileIT,
> !SecureProxyIT#testAccessStatus,
> !SecureProxyIT#testAccessStatusAsProxiedAdmin,
> !SecureProxyIT#testAccessStatusUsingRegistryClient,
> !SecureNiFiRegistryClientIT#testGetAccessStatus,
> !SecureNiFiRegistryClientIT#testTenantsClientGroups,
> !SecureNiFiRegistryClientIT#testTenantsClientUsers,
> !SecureNiFiRegistryClientIT#testCrudOperations,
> !SecureDatabaseIT
> !ITConnectionAccessControl,
> !ITLabelAccessControl,
> !ITOutputPortAccessControl,
> !ITProcessorAccessControl,
> !ITFlowAccessControl,
> !ITFunnelAccessControl,
> !ITInputPortAccessControl
> !ITCountersAccessControl,
> !ITAllowProxiedAnonymousAccess,
> !ITPreventProxiedAnonymousAccess,
> !ITPreventDirectAnonymousAccess,
> !ITAllowDirectAnonymousAccess,
> !ITProcessGroupAccessControl{quote}
> This list was generated in the order that the tests were found to be failing,
> and is written in the format to indicate that {{failsafe should skip these
> test
> classes/methods|https://maven.apache.org/surefire/maven-failsafe-plugin/examples/single-test.html#multiple-formats-in-one]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)