I fail some of the integration test locally becaus...
# contributing-to-airbyte
p
I fail some of the integration test locally because
java.nio.file.NoSuchFileException: secrets/config.json
where should I specify and what content to be put? I running test on
:airbyte-integrations:connectors:destination-s3:integrationTest
u
Hi, this should be placed in a
secrets
directory inside
destination-s3
u
What the content should be?
u
the config.json should match what the destination requires in it's spec.json
u
Understood thanks.
u
the
config.json
file should look like (not all the fields are filled up here)
Copy code
{
  "password": "b",
  "s3_bucket_name": "a",
  "s3_bucket_region": "us-west-2",
  "access_key_id": "key",
  "secret_access_key": "secret",
.... 
}
d
yes this is so helpful, thank you
u
i got null pointer exception, does it mean i miss some parameter?
u
probably
u
can I see the exception?
u
Copy code
Task :airbyte-integrations:connectors:destination-s3:integrationTestJava

S3CsvDestinationAcceptanceTest > testCheckConnectionInvalidCredentials() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testSyncVeryBigRecords() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > [1] exchange_rate_messages.txt, exchange_rate_catalog.json FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > [2] edge_case_messages.txt, edge_case_catalog.json FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > [1] exchange_rate_messages.txt, exchange_rate_catalog.json FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > [2] edge_case_messages.txt, edge_case_catalog.json FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testIncrementalDedupeSync() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testGetSpec() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testSecondSync() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testCustomDbtTransformationsFailure() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testIncrementalSync() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testCheckConnection() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testSyncWriteSameTableNameDifferentNamespace() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testLineBreakCharacters() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testSyncUsesAirbyteStreamNamespaceIfNotNull() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)

S3CsvDestinationAcceptanceTest > testCustomDbtTransformations() FAILED
    java.lang.NullPointerException
        at io.airbyte.integrations.destination.s3.S3FormatConfigs.getS3FormatConfig(S3FormatConfigs.java:36)
        at io.airbyte.integrations.destination.s3.S3DestinationConfig.getS3DestinationConfig(S3DestinationConfig.java:63)
        at io.airbyte.integrations.destination.s3.S3CsvDestinationAcceptanceTest.setup(S3CsvDestinationAcceptanceTest.java:213)
u
for your information, this test is done after modification on S3-Destination connector complete. Which is now Support both AWS S3 and Alternative S3 like Minio S3
d
oh nice!
u
does that fail because of new feature is not write in acceptance test file?
u
I don't think so. it looks like it's because the format field in the config isn't present
u
Copy code
{
  "s3_endpoint": "aws",
  "s3_bucket_name": "sokhen...",
  "s3_bucket_path": "...",
  "s3_bucket_region": "ap-southeast-1",
  "access_key_id": "AKIA4...",
  "secret_access_key": "DJv0cvPls.....",
  "format": "CSV"
}
u
still fail, try multiple time already
d
what if i do a merge request then team can give feedback ?
u
let me see
d
yes! you can start a PR and we'll be happy to give ya feedback
u
ah it's because you need something like
Copy code
{
  "s3_bucket_name": 
  "s3_bucket_path": 
  "s3_bucket_region": 
  "access_key_id": 
  "secret_access_key": 
  "format": {
    "format_type": "CSV",
    "flattening": "Root level flattening"
  }
}