-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add missing permissions for regression tests (#54)
* Add missing permissions for regression tests * Verify that blob storage Gen2 is *not* enabled * Increment version * Fix compile error * Fix references * Mark test as itest * Upgrade ci-isolation * Update release date * Rename TestContainer class to avoid running it in unit tests * Update dependency * Apply suggestions from code review Co-authored-by: Sebastian Bär <rcb4gh@proton.me> * Implement review finding --------- Co-authored-by: Sebastian Bär <rcb4gh@proton.me>
- Loading branch information
1 parent
8d9bdae
commit ee61ff4
Showing
16 changed files
with
127 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# Virtual Schema for Document Data in Files on Azure Blob Storage 2.0.4, released 2024-04-10 | ||
|
||
Code name: Verify storage generation in integration tests | ||
|
||
## Summary | ||
|
||
This release adds an integration test that verifies, that "Data Lake Gen2 upgrade" is not enabled for the Azure storage account. | ||
## Dependency Updates | ||
|
||
### Test Dependency Updates | ||
|
||
* Updated `com.exasol:udf-debugging-java:0.6.12` to `0.6.13` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
64 changes: 64 additions & 0 deletions
64
src/test/java/com/exasol/adapter/document/files/AbsTestContainerIT.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
package com.exasol.adapter.document.files; | ||
|
||
import static java.util.stream.Collectors.toList; | ||
import static org.hamcrest.MatcherAssert.assertThat; | ||
import static org.hamcrest.Matchers.contains; | ||
import static org.hamcrest.Matchers.empty; | ||
import static org.junit.jupiter.api.Assertions.fail; | ||
|
||
import java.util.List; | ||
|
||
import org.junit.jupiter.api.Tag; | ||
import org.junit.jupiter.api.Test; | ||
|
||
import com.azure.core.util.BinaryData; | ||
import com.azure.storage.blob.BlobContainerClient; | ||
import com.azure.storage.blob.models.BlobItem; | ||
import com.exasol.adapter.document.files.abstestsetup.AbsTestSetup; | ||
import com.exasol.adapter.document.files.abstestsetup.OnlineAbsTestSetup; | ||
|
||
@Tag("integration") | ||
class AbsTestContainerIT { | ||
static AbsTestSetup absTestSetup = new OnlineAbsTestSetup(); | ||
|
||
@Test | ||
void emptyFilledContainer() { | ||
try (final AbsTestContainer testContainer = AbsTestContainer.create(absTestSetup)) { | ||
final BlobContainerClient client = testContainer.getBlobContainerClient(); | ||
client.getBlobClient("blobName").upload(BinaryData.fromString("blob content")); | ||
assertThat(listBlobNames(client), contains("blobName")); | ||
testContainer.empty(); | ||
assertThat(listBlobNames(client), empty()); | ||
} | ||
} | ||
|
||
// Note: This test is expected to fail when Azure Blob Storage Gen2 is enabled. | ||
@Test | ||
void emptyFilledContainerWithDirectory() { | ||
try (final AbsTestContainer testContainer = AbsTestContainer.create(absTestSetup)) { | ||
final BlobContainerClient client = testContainer.getBlobContainerClient(); | ||
client.getBlobClient("dir/blobName").upload(BinaryData.fromString("blob content")); | ||
assertThat(listBlobNames(client), contains("dir/blobName")); | ||
testContainer.empty(); | ||
assertThat(listBlobNames(client), empty()); | ||
} | ||
} | ||
|
||
@Test | ||
void checkBlobStorageVersion() { | ||
try (final AbsTestContainer testContainer = AbsTestContainer.create(absTestSetup)) { | ||
final BlobContainerClient client = testContainer.getBlobContainerClient(); | ||
client.getBlobClient("dir/blobName").upload(BinaryData.fromString("blob content")); | ||
final List<String> blobNames = listBlobNames(client); | ||
if (blobNames.size() > 1) { | ||
fail("Expected exactly one blob, but found " + blobNames.size() + " blobs.: " + blobNames | ||
+ ". This usually means that Azure Blob Storage Gen2 is enabled. Please create a new storage account without Gen2 enabled."); | ||
} | ||
assertThat(listBlobNames(client), contains("dir/blobName")); | ||
} | ||
} | ||
|
||
private List<String> listBlobNames(final BlobContainerClient client) { | ||
return client.listBlobs().stream().map(BlobItem::getName).collect(toList()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters