Skip to content
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

GCS: Allow no-auth for testing purposes #9061

Merged
merged 6 commits into from
Nov 17, 2023
Merged

Conversation

snazy
Copy link
Member

@snazy snazy commented Nov 14, 2023

Although there is no "official" Google Cloud Storage emulator available yet, there is one available that allows at least some basic testing. To use an emulator, the client needs to be configured to use no authentication, otherwise it will fallback to "automatic credential detection".

String.format(
"Invalid auth settings: must not configure %s and %s",
GCS_NO_AUTH, GCS_OAUTH2_TOKEN));
Assertions.assertThatNoException()
Copy link
Contributor

Choose a reason for hiding this comment

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

rather than just checking that no exception has been thrown, I think the better alternative would be:

    GCPProperties gcpProperties =
        new GCPProperties(ImmutableMap.of(GCS_OAUTH2_TOKEN, "oauth", GCS_NO_AUTH, "false"));
    assertThat(gcpProperties.noAuth()).isFalse();
    assertThat(gcpProperties.oauth2Token()).isPresent().get().isEqualTo("oauth");

    gcpProperties = new GCPProperties(ImmutableMap.of(GCS_NO_AUTH, "true"));
    assertThat(gcpProperties.noAuth()).isTrue();
    assertThat(gcpProperties.oauth2Token()).isNotPresent();

@nastra
Copy link
Contributor

nastra commented Nov 15, 2023

@bryanck could you review this one please?

@bryanck
Copy link
Contributor

bryanck commented Nov 16, 2023

This looks good to me, as long as the format checks are passing.

Although there is no "official" Google Cloud Storage emulator available yet, there is [one available](https://github.com/oittaa/gcp-storage-emulator) that allows at least some basic testing. To use an emulator, the client needs to be configured to use no authentication, otherwise it will fallback to "automatic credential detection".
@nastra nastra merged commit 17c7815 into apache:main Nov 17, 2023
@snazy snazy deleted the gcs-no-auth branch November 17, 2023 13:55
devangjhabakh pushed a commit to cdouglas/iceberg that referenced this pull request Apr 22, 2024
Although there is no "official" Google Cloud Storage emulator available yet, there is [one available](https://github.com/oittaa/gcp-storage-emulator) that allows at least some basic testing. To use an emulator, the client needs to be configured to use no authentication, otherwise it will fallback to "automatic credential detection".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants