Skip to content

Commit

Permalink
Fix Configuration GRPC calls not sending metadata
Browse files Browse the repository at this point in the history
Signed-off-by: Trevor Lund <[email protected]>
  • Loading branch information
tlund101 committed Feb 9, 2024
1 parent 5c2b40a commit 31d22f5
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
4 changes: 3 additions & 1 deletion src/implementation/Client/GRPCClient/configuration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import { SubscribeConfigurationResponse as SubscribeConfigurationResponseResult
import { SubscribeConfigurationCallback } from "../../../types/configuration/SubscribeConfigurationCallback";
import { SubscribeConfigurationStream } from "../../../types/configuration/SubscribeConfigurationStream";
import { ConfigurationItem } from "../../../types/configuration/ConfigurationItem";
import { createConfigurationType } from "../../../utils/Client.util";
import { addMetadataToMap, createConfigurationType } from "../../../utils/Client.util";

export default class GRPCClientConfiguration implements IClientConfiguration {
client: GRPCClient;
Expand All @@ -51,6 +51,7 @@ export default class GRPCClientConfiguration implements IClientConfiguration {
for (const [key, value] of Object.entries(metadataObj)) {
metadata.add(key, value);
}
addMetadataToMap(msg.getMetadataMap(), metadataObj);
}

const client = await this.client.getClient();
Expand Down Expand Up @@ -114,6 +115,7 @@ export default class GRPCClientConfiguration implements IClientConfiguration {
for (const [key, value] of Object.entries(metadataObj)) {
metadata.add(key, value);
}
addMetadataToMap(msg.getMetadataMap(), metadataObj);
}

const client = await this.client.getClient();
Expand Down
7 changes: 2 additions & 5 deletions test/e2e/grpc/client.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -363,14 +363,11 @@ describe("grpc/client", () => {
});

it("should be able to get the configuration items with metadata", async () => {
await client.configuration.get("config-redis", ["myconfigkey1"], {
const conf = await client.configuration.get("config-redis", ["myconfigkey1"], {
hello: "world",
});

// Disabled for now as I am unsure if Dapr returns the metadata items
// Java SDK: https://github.com/dapr/java-sdk/blob/06d92dafca62a6b48e74ccf939feeac7189e360f/sdk/src/test/java/io/dapr/client/DaprPreviewClientGrpcTest.java#L119
// ^ shows that it is not being tested, it tries but doesn't assert
// expect(conf.items.filter(i => i.key == "myconfigkey1")[0].metadata).toHaveProperty("hello");
expect(conf.items["myconfigkey1"].metadata).toHaveProperty("hello");
});

it("should be able to subscribe to configuration item changes on all keys", async () => {
Expand Down

0 comments on commit 31d22f5

Please sign in to comment.