[ 
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)

Reply via email to