[GH-ISSUE #1517] Bypass Auth when using PubSubTemplate #201

Open
opened 2026-03-03 12:09:06 +03:00 by kerem · 0 comments
Owner

Originally created by @BaptisteOrieuxDecathlon on GitHub (Mar 7, 2024).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/1517

Hi :)
I'm using PubSubTemplate for my application.
I'm trying to use your docker image to simulate a pub/sub queue for my end-to-end tests.
Here's my config :

spring.cloud.gcp.pubsub.emulator-host: localhost:4443
spring.cloud.gcp.pubsub.publisher.enable-message-ordering: true
spring.cloud.gcp.core.enabled: false
gcs-emulator:
    image: fsouza/fake-gcs-server:latest
    ports:
      - "4443:4443"
    environment:
      - CLOUDSDK_CORE_PROJECT=fake-project
      - NO_AUTH=true
    command: bash -c " \
      gsutil mb -p trackbox-zgho gs://my-test-bucket && \
      gcloud pubsub topics create my-topic && \
      gcloud pubsub subscriptions create test-queue-sub --topic test-queue \
      "

When I run my tests, I get the following error :

c.g.c.s.a.p.h.PubSubHealthIndicator     : Failed to connect to Pub/Sub APIs. Check your credentials and verify you have proper access to the service. 
2024-03-07T15:29:29.568759608Z java.util.concurrent.TimeoutException: null
2024-03-07T15:29:29.568764775Z 	at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960)
2024-03-07T15:29:29.568766525Z 	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
2024-03-07T15:29:29.568767983Z 	at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.pullMessage(PubSubHealthIndicator.java:122)
2024-03-07T15:29:29.568789275Z 	at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:100)
2024-03-07T15:29:29.568791900Z 	at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:95)
2024-03-07T15:29:29.568793233Z 	at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82)
2024-03-07T15:29:29.568794525Z 	at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37)
2024-03-07T15:29:29.568795775Z 	at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:94)
2024-03-07T15:29:29.568797025Z 	at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:47)
2024-03-07T15:29:29.568798275Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getLoggedHealth(HealthEndpointSupport.java:172)
2024-03-07T15:29:29.568799567Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:145)
2024-03-07T15:29:29.568801233Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateContribution(HealthEndpointSupport.java:156)
2024-03-07T15:29:29.568802525Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:141)
2024-03-07T15:29:29.568803775Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:110)
2024-03-07T15:29:29.568805025Z 	at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:81)
2024-03-07T15:29:29.568806233Z 	at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:80)
2024-03-07T15:29:29.568811775Z 	at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:69)
2024-03-07T15:29:29.568816358Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2024-03-07T15:29:29.568817567Z 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2024-03-07T15:29:29.568818858Z 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2024-03-07T15:29:29.568820150Z 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2024-03-07T15:29:29.568821358Z 	at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281)
[...]

I was wondering if there as a way to connect a pubSubTemplate bean to your fake GCS isntance, without having any authentication ?
I didn't manage to make it work...

Thanks in advance :)

Originally created by @BaptisteOrieuxDecathlon on GitHub (Mar 7, 2024). Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/1517 Hi :) I'm using PubSubTemplate for my application. I'm trying to use your docker image to simulate a pub/sub queue for my end-to-end tests. Here's my config : ``` spring.cloud.gcp.pubsub.emulator-host: localhost:4443 spring.cloud.gcp.pubsub.publisher.enable-message-ordering: true spring.cloud.gcp.core.enabled: false ``` ``` gcs-emulator: image: fsouza/fake-gcs-server:latest ports: - "4443:4443" environment: - CLOUDSDK_CORE_PROJECT=fake-project - NO_AUTH=true command: bash -c " \ gsutil mb -p trackbox-zgho gs://my-test-bucket && \ gcloud pubsub topics create my-topic && \ gcloud pubsub subscriptions create test-queue-sub --topic test-queue \ " ``` When I run my tests, I get the following error : ``` c.g.c.s.a.p.h.PubSubHealthIndicator : Failed to connect to Pub/Sub APIs. Check your credentials and verify you have proper access to the service. 2024-03-07T15:29:29.568759608Z java.util.concurrent.TimeoutException: null 2024-03-07T15:29:29.568764775Z at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) 2024-03-07T15:29:29.568766525Z at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) 2024-03-07T15:29:29.568767983Z at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.pullMessage(PubSubHealthIndicator.java:122) 2024-03-07T15:29:29.568789275Z at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:100) 2024-03-07T15:29:29.568791900Z at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:95) 2024-03-07T15:29:29.568793233Z at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82) 2024-03-07T15:29:29.568794525Z at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37) 2024-03-07T15:29:29.568795775Z at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:94) 2024-03-07T15:29:29.568797025Z at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:47) 2024-03-07T15:29:29.568798275Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getLoggedHealth(HealthEndpointSupport.java:172) 2024-03-07T15:29:29.568799567Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:145) 2024-03-07T15:29:29.568801233Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateContribution(HealthEndpointSupport.java:156) 2024-03-07T15:29:29.568802525Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:141) 2024-03-07T15:29:29.568803775Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:110) 2024-03-07T15:29:29.568805025Z at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:81) 2024-03-07T15:29:29.568806233Z at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:80) 2024-03-07T15:29:29.568811775Z at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:69) 2024-03-07T15:29:29.568816358Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2024-03-07T15:29:29.568817567Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) 2024-03-07T15:29:29.568818858Z at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2024-03-07T15:29:29.568820150Z at java.base/java.lang.reflect.Method.invoke(Method.java:568) 2024-03-07T15:29:29.568821358Z at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:281) [...] ``` I was wondering if there as a way to connect a pubSubTemplate bean to your fake GCS isntance, without having any authentication ? I didn't manage to make it work... Thanks in advance :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/fake-gcs-server#201
No description provided.