Skip to content

Implement integration tests for azure source #449

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

Claudenw
Copy link
Contributor

@Claudenw Claudenw commented May 8, 2025

Implement Azure source integration tests and ensure all integration tests continue to function.

aindriu-aiven and others added 10 commits March 3, 2025 08:41
Skeleton outline of the Azure blob Source Connector.
* Adds branch protection to the feature branch
* Adds basic gradle setup and addition of project to build
* Adds basic Common config
* Adds basic Azure blob Source Task

Signed-off-by: Aindriu Lavelle <[email protected]>
PR Aiven-Open#414 should be closed first.

This PR introduces the Azure Config Fragment which handles all the Azure
specific configuration required by the Source Connector, it also handles
creation of the BlobServiceAsyncClient.

The PR also introduces the AzureBlobClient which handles listing all the
blobs in a container, and handles downloading the of an individual blob.

This is done using an async client, this PR also includes the first
Integration tests, by testing the client against the docker container.

This PR **does not** include changing the Azure sink connector to use
the AzureBlobConfigFragment

Signed-off-by: Aindriu Lavelle <[email protected]>
This is the offset manager entry for the Azure blob source. It is
similar to the S3 source offset manager entry as the bucket is analogous
to the container and blob is analogous to the S3Object.

However it is worth noting they are slightly different.

Signed-off-by: Aindriu Lavelle <[email protected]>
Update with dependabot changes from main.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Adds the source record iterator, transformers the blob into source
records that are ready to be delivered to Kafka
* Adds the AzureBlobSourceRecord which transforms the Azure information
to a source record.
* Update to Azure Client to ignore any empty files.

---------

Signed-off-by: Aindriu Lavelle <[email protected]>
Co-authored-by: Claude Warren <[email protected]>
Co-authored-by: ¨Claude <¨[email protected]¨>
Co-authored-by: Claude Warren <[email protected]>
@Claudenw Claudenw requested a review from a team as a code owner May 8, 2025 06:10
…ure/source/utils/AzureBlobClient.java

Co-authored-by: Aindriú Lavelle <[email protected]>
Copy link
Contributor

@aindriu-aiven aindriu-aiven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok sorry it took quite a while but this looks good, I have a few questions.
I think some statics etc could be added stuff that could easily be done in a follow up PR though. I dont see any of it as blocking.

I think I had one question about validation on the config fragments thats moved/changed that I would like to know the answer to though

Claudenw and others added 2 commits May 9, 2025 14:13
aindriu-aiven
aindriu-aiven previously approved these changes May 16, 2025
Copy link
Contributor

@aindriu-aiven aindriu-aiven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Claudenw Claudenw changed the base branch from feat-azure-blob-source to main May 16, 2025 12:25
@Claudenw Claudenw dismissed aindriu-aiven’s stale review May 16, 2025 12:25

The base branch was changed.

@Claudenw Claudenw marked this pull request as draft May 19, 2025 10:54
@Claudenw
Copy link
Contributor Author

Converted to draft. code will be merged in smaller chunks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants