Skip to content

Commit 0f55bf6

Browse files
authored
📝 🎉 Source Dixa: Migrated to CI Sandbox, refactored code structure for future support (#5367)
1 parent 729dacd commit 0f55bf6

File tree

21 files changed

+206
-207
lines changed

21 files changed

+206
-207
lines changed

.github/workflows/publish-command.yml

+1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ jobs:
8888
DESTINATION_KEEN_TEST_CREDS: ${{ secrets.DESTINATION_KEEN_TEST_CREDS }}
8989
DESTINATION_KVDB_TEST_CREDS: ${{ secrets.DESTINATION_KVDB_TEST_CREDS }}
9090
DRIFT_INTEGRATION_TEST_CREDS: ${{ secrets.DRIFT_INTEGRATION_TEST_CREDS }}
91+
SOURCE_DIXA_TEST_CREDS: ${{ secrets.SOURCE_DIXA_TEST_CREDS }}
9192
EXCHANGE_RATES_TEST_CREDS: ${{ secrets.EXCHANGE_RATES_TEST_CREDS }}
9293
FACEBOOK_MARKETING_TEST_INTEGRATION_CREDS: ${{ secrets.FACEBOOK_MARKETING_TEST_INTEGRATION_CREDS }}
9394
FACEBOOK_MARKETING_API_TEST_INTEGRATION_CREDS: ${{ secrets.FACEBOOK_MARKETING_API_TEST_INTEGRATION_CREDS }}

.github/workflows/test-command.yml

+1
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ jobs:
8888
DESTINATION_KEEN_TEST_CREDS: ${{ secrets.DESTINATION_KEEN_TEST_CREDS }}
8989
DESTINATION_KVDB_TEST_CREDS: ${{ secrets.DESTINATION_KVDB_TEST_CREDS }}
9090
DRIFT_INTEGRATION_TEST_CREDS: ${{ secrets.DRIFT_INTEGRATION_TEST_CREDS }}
91+
SOURCE_DIXA_TEST_CREDS: ${{ secrets.SOURCE_DIXA_TEST_CREDS }}
9192
EXCHANGE_RATES_TEST_CREDS: ${{ secrets.EXCHANGE_RATES_TEST_CREDS }}
9293
FACEBOOK_MARKETING_TEST_INTEGRATION_CREDS: ${{ secrets.FACEBOOK_MARKETING_TEST_INTEGRATION_CREDS }}
9394
FACEBOOK_MARKETING_API_TEST_INTEGRATION_CREDS: ${{ secrets.FACEBOOK_MARKETING_API_TEST_INTEGRATION_CREDS }}

airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/0b5c867e-1b12-4d02-ab74-97b2184ff6d7.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"sourceDefinitionId": "0b5c867e-1b12-4d02-ab74-97b2184ff6d7",
33
"name": "Dixa",
44
"dockerRepository": "airbyte/source-dixa",
5-
"dockerImageTag": "0.1.0",
5+
"dockerImageTag": "0.1.1",
66
"documentationUrl": "https://docs.airbyte.io/integrations/sources/dixa"
77
}

airbyte-config/init/src/main/resources/seed/source_definitions.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@
385385
- sourceDefinitionId: 0b5c867e-1b12-4d02-ab74-97b2184ff6d7
386386
name: Dixa
387387
dockerRepository: airbyte/source-dixa
388-
dockerImageTag: 0.1.0
388+
dockerImageTag: 0.1.1
389389
documentationUrl: https://docs.airbyte.io/integrations/sources/dixa
390390
- sourceDefinitionId: e7eff203-90bf-43e5-a240-19ea3056c474
391391
name: Typeform

airbyte-integrations/connectors/source-dixa/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ RUN pip install .
1212
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
1313
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
1414

15-
LABEL io.airbyte.version=0.1.0
15+
LABEL io.airbyte.version=0.1.1
1616
LABEL io.airbyte.name=airbyte/source-dixa

airbyte-integrations/connectors/source-dixa/acceptance-test-config.yml

+7-14
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,13 @@ tests:
1414
basic_read:
1515
- config_path: "secrets/config.json"
1616
configured_catalog_path: "integration_tests/configured_catalog.json"
17-
# TODO uncomment this block to specify that the tests should assert the connector outputs the records provided in the input file a file
18-
# expect_records:
19-
# path: "integration_tests/expected_records.txt"
20-
# extra_fields: no
21-
# exact_order: no
22-
# extra_records: yes
17+
timeout_seconds: 1200
2318
incremental:
2419
- config_path: "secrets/config.json"
2520
configured_catalog_path: "integration_tests/configured_catalog.json"
26-
# future_state_path: "integration_tests/abnormal_state.json"
27-
# We skip the full_refresh test because of unusual behaviour in the Dixa API.
28-
# We observed cases where a record was updated without the updated_at value changing.
29-
# See the thread below for further information:
30-
# https://airbytehq.slack.com/archives/C01VDDEGL7M/p1625319909273300
31-
# full_refresh:
32-
# - config_path: "secrets/config.json"
33-
# configured_catalog_path: "integration_tests/configured_catalog.json"
21+
future_state_path: "integration_tests/abnormal_state.json"
22+
timeout_seconds: 1200
23+
full_refresh:
24+
- config_path: "secrets/config.json"
25+
configured_catalog_path: "integration_tests/configured_catalog.json"
26+
timeout_seconds: 1200

airbyte-integrations/connectors/source-dixa/build.gradle

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
plugins {
22
id 'airbyte-python'
33
id 'airbyte-docker'
4-
// TODO acceptance tests are disabled in CI pending a Dixa Sandbox: https://github.com/airbytehq/airbyte/issues/4667
5-
// id 'airbyte-source-acceptance-test'
4+
id 'airbyte-source-acceptance-test'
65
}
76

87
airbytePython {
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"conversation_export": {
3-
"updated_at": 9999999999999
3+
"updated_at": 4778168400000
44
}
55
}

airbyte-integrations/connectors/source-dixa/integration_tests/acceptance.py

-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,4 @@
3030

3131
@pytest.fixture(scope="session", autouse=True)
3232
def connector_setup():
33-
""" This fixture is a placeholder for external resources that acceptance test might require."""
34-
# TODO: setup test dependencies if needed. otherwise remove the TODO comments
3533
yield
36-
# TODO: clean up test dependencies

airbyte-integrations/connectors/source-dixa/integration_tests/catalog.json

-39
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{
22
"streams": [
33
{
4-
"sync_mode": "incremental",
5-
"destination_sync_mode": "append",
6-
"cursor_field": ["updated_at"],
74
"stream": {
85
"name": "conversation_export",
6+
"json_schema": {},
97
"supported_sync_modes": ["full_refresh", "incremental"],
108
"source_defined_cursor": true,
119
"default_cursor_field": ["updated_at"],
12-
"source_defined_primary_key": [["id"]],
13-
"json_schema": {}
14-
}
10+
"source_defined_primary_key": [["id"]]
11+
},
12+
"sync_mode": "incremental",
13+
"cursor_field": ["updated_at"],
14+
"destination_sync_mode": "append"
1515
}
1616
]
1717
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2-
"start_timestamp": 1625263200000,
3-
"batch_size": 1
2+
"api_token": "TOKEN",
3+
"start_date": "2020-01-01",
4+
"batch_size": "31"
45
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{
2-
"fix-me": "TODO"
2+
"api_token": "TOKEN",
3+
"start_date": "2020-01-01",
4+
"batch_size": "31"
35
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"todo-stream-name": {
3-
"todo-field-name": "value"
2+
"conversation_export": {
3+
"updated_at": 1628748165633
44
}
55
}

airbyte-integrations/connectors/source-dixa/source_dixa/schemas/conversation_export.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
{
2-
"type": "object",
2+
"type": ["null", "object"],
33
"required": ["id", "created_at", "initial_channel", "requester_id"],
44
"properties": {
55
"id": {
6-
"type": "integer"
6+
"type": ["null", "integer"]
77
},
88
"created_at": {
9-
"type": "integer"
9+
"type": ["null", "integer"]
1010
},
1111
"initial_channel": {
12-
"type": "string"
12+
"type": ["null", "string"]
1313
},
1414
"requester_id": {
15-
"type": "string"
15+
"type": ["null", "string"]
1616
},
1717
"requester_name": {
1818
"type": ["null", "string"]
@@ -42,9 +42,9 @@
4242
"type": ["null", "string"]
4343
},
4444
"ratings": {
45-
"type": "array",
45+
"type": ["null", "array"],
4646
"items": {
47-
"type": "object",
47+
"type": ["null", "object"],
4848
"properties": {
4949
"rating_score": {
5050
"type": ["null", "integer"]
@@ -142,13 +142,13 @@
142142
"tags": {
143143
"type": ["null", "array"],
144144
"items": {
145-
"type": "string"
145+
"type": ["null", "string"]
146146
}
147147
},
148148
"conversation_wrapup_notes": {
149149
"type": ["null", "array"],
150150
"items": {
151-
"type": "string"
151+
"type": ["null", "string"]
152152
}
153153
},
154154
"transferee_name": {

0 commit comments

Comments
 (0)