mirror of https://github.com/dapr/java-sdk.git
Update sdk to use configuration dictionaries (#769)
* Update sdk to use configuration maps Signed-off-by: addjuarez <addiajuarez@gmail.com> * add ref Signed-off-by: addjuarez <addiajuarez@gmail.com> * add ref validate Signed-off-by: addjuarez <addiajuarez@gmail.com> * go 1.19 Signed-off-by: addjuarez <addiajuarez@gmail.com> * fix it test Signed-off-by: addjuarez <addiajuarez@gmail.com> * update comments Signed-off-by: addjuarez <addiajuarez@gmail.com> * use immutable maps Signed-off-by: addjuarez <addiajuarez@gmail.com> Signed-off-by: addjuarez <addiajuarez@gmail.com>
This commit is contained in:
parent
997c86d526
commit
2cc9e536c8
|
@ -20,7 +20,7 @@ jobs:
|
|||
matrix:
|
||||
java: [ 11, 13, 15, 16 ]
|
||||
env:
|
||||
GOVER: 1.17.7
|
||||
GOVER: 1.19
|
||||
GOOS: linux
|
||||
GOARCH: amd64
|
||||
GOPROXY: https://proxy.golang.org
|
||||
|
@ -29,7 +29,7 @@ jobs:
|
|||
DAPR_RUNTIME_VER: 1.8.0-rc.3
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.8.0-rc.1/install/install.sh
|
||||
DAPR_CLI_REF:
|
||||
DAPR_REF:
|
||||
DAPR_REF: 683a436ff1367e4ff2d27da2d79069c04ec2c46d
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up OpenJDK ${{ env.JDK_VER }}
|
||||
|
|
|
@ -31,7 +31,7 @@ jobs:
|
|||
matrix:
|
||||
java: [ 11, 13, 15, 16 ]
|
||||
env:
|
||||
GOVER: 1.17.7
|
||||
GOVER: 1.19
|
||||
GOOS: linux
|
||||
GOARCH: amd64
|
||||
GOPROXY: https://proxy.golang.org
|
||||
|
@ -40,7 +40,7 @@ jobs:
|
|||
DAPR_RUNTIME_VER: 1.8.0-rc.3
|
||||
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.8.0-rc.1/install/install.sh
|
||||
DAPR_CLI_REF:
|
||||
DAPR_REF:
|
||||
DAPR_REF: 683a436ff1367e4ff2d27da2d79069c04ec2c46d
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up OpenJDK ${{ env.JDK_VER }}
|
||||
|
|
|
@ -26,6 +26,7 @@ import java.io.IOException;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public class ConfigurationClient {
|
||||
|
@ -72,9 +73,9 @@ public class ConfigurationClient {
|
|||
public static void getConfigurationsUsingVarargs(DaprPreviewClient client) {
|
||||
System.out.println("*******trying to retrieve configurations for a variable no. of keys********");
|
||||
try {
|
||||
Mono<List<ConfigurationItem>> items =
|
||||
Mono<Map<String, ConfigurationItem>> items =
|
||||
client.getConfiguration(CONFIG_STORE_NAME, "myconfig1", "myconfig3");
|
||||
items.block().forEach(ConfigurationClient::print);
|
||||
items.block().forEach((k,v) -> print(v, k));
|
||||
} catch (Exception ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
|
@ -93,8 +94,8 @@ public class ConfigurationClient {
|
|||
keys.add("myconfig3");
|
||||
GetConfigurationRequest req = new GetConfigurationRequest(CONFIG_STORE_NAME, keys);
|
||||
try {
|
||||
Mono<List<ConfigurationItem>> items = client.getConfiguration(req);
|
||||
items.block().forEach(ConfigurationClient::print);
|
||||
Mono<Map<String, ConfigurationItem>> items = client.getConfiguration(req);
|
||||
items.block().forEach((k,v) -> print(v, k));
|
||||
} catch (Exception ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
|
@ -110,10 +111,10 @@ public class ConfigurationClient {
|
|||
AtomicReference<Disposable> disposableAtomicReference = new AtomicReference<>();
|
||||
SubscribeConfigurationRequest req = new SubscribeConfigurationRequest(CONFIG_STORE_NAME, keys);
|
||||
Runnable subscribeTask = () -> {
|
||||
Flux<List<ConfigurationItem>> outFlux = client.subscribeToConfiguration(req);
|
||||
Flux<Map<String, ConfigurationItem>> outFlux = client.subscribeToConfiguration(req);
|
||||
disposableAtomicReference.set(outFlux
|
||||
.subscribe(
|
||||
cis -> cis.forEach(ConfigurationClient::print)
|
||||
cis -> cis.forEach((k,v) -> print(v, k))
|
||||
));
|
||||
};
|
||||
new Thread(subscribeTask).start();
|
||||
|
@ -140,8 +141,8 @@ public class ConfigurationClient {
|
|||
}
|
||||
}
|
||||
|
||||
private static void print(ConfigurationItem item) {
|
||||
System.out.println(item.getValue() + " : key ->" + item.getKey());
|
||||
private static void print(ConfigurationItem item, String key) {
|
||||
System.out.println(item.getValue() + " : key ->" + key);
|
||||
}
|
||||
|
||||
private static void executeDockerCommand(int postfix) {
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -16,7 +16,7 @@
|
|||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<grpc.version>1.42.1</grpc.version>
|
||||
<protobuf.version>3.17.3</protobuf.version>
|
||||
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/v1.7.0-rc.2/dapr/proto</dapr.proto.baseurl>
|
||||
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/683a436ff1367e4ff2d27da2d79069c04ec2c46d/dapr/proto</dapr.proto.baseurl>
|
||||
<os-maven-plugin.version>1.6.2</os-maven-plugin.version>
|
||||
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
|
||||
<maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
|
||||
|
|
|
@ -78,7 +78,6 @@ public class ConfigurationClientIT extends BaseIT {
|
|||
@Test
|
||||
public void getConfiguration() {
|
||||
ConfigurationItem ci = daprPreviewClient.getConfiguration(CONFIG_STORE_NAME, "myconfigkey1").block();
|
||||
assertEquals(ci.getKey(), "myconfigkey1");
|
||||
assertEquals(ci.getValue(), "myconfigvalue1");
|
||||
}
|
||||
|
||||
|
@ -91,10 +90,11 @@ public class ConfigurationClientIT extends BaseIT {
|
|||
|
||||
@Test
|
||||
public void getConfigurations() {
|
||||
List<ConfigurationItem> cis = daprPreviewClient.getConfiguration(CONFIG_STORE_NAME, "myconfigkey1", "myconfigkey2").block();
|
||||
Map<String, ConfigurationItem> cis = daprPreviewClient.getConfiguration(CONFIG_STORE_NAME, "myconfigkey1", "myconfigkey2").block();
|
||||
assertTrue(cis.size() == 2);
|
||||
assertEquals(cis.get(0).getKey(), "myconfigkey1");
|
||||
assertEquals(cis.get(1).getValue(), "myconfigvalue2");
|
||||
assertTrue(cis.containsKey("myconfigkey1"));
|
||||
assertTrue(cis.containsKey("myconfigkey2"));
|
||||
assertEquals(cis.get("myconfigkey2").getValue(), "myconfigvalue2");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -111,10 +111,13 @@ public class ConfigurationClientIT extends BaseIT {
|
|||
List<String> updatedValues = new ArrayList<>();
|
||||
AtomicReference<Disposable> disposable = new AtomicReference<>();
|
||||
Runnable subscribeTask = () -> {
|
||||
Flux<List<ConfigurationItem>> outFlux = daprPreviewClient
|
||||
Flux<Map<String, ConfigurationItem>> outFlux = daprPreviewClient
|
||||
.subscribeToConfiguration(CONFIG_STORE_NAME, "myconfigkey1", "myconfigkey2");
|
||||
disposable.set(outFlux.subscribe(update -> {
|
||||
updatedValues.add(update.get(0).getValue());
|
||||
updatedValues.add(update.entrySet()
|
||||
.stream()
|
||||
.findFirst()
|
||||
.get().getValue().getValue());
|
||||
}));
|
||||
};
|
||||
Thread subscribeThread = new Thread(subscribeTask);
|
||||
|
|
|
@ -504,7 +504,7 @@ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient {
|
|||
@Override
|
||||
public Mono<ConfigurationItem> getConfiguration(String storeName, String key) {
|
||||
GetConfigurationRequest request = new GetConfigurationRequest(storeName, filterEmptyKeys(key));
|
||||
return this.getConfiguration(request).map(data -> data.get(0));
|
||||
return this.getConfiguration(request).map(data -> data.get(key));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -514,14 +514,14 @@ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient {
|
|||
public Mono<ConfigurationItem> getConfiguration(String storeName, String key, Map<String, String> metadata) {
|
||||
GetConfigurationRequest request = new GetConfigurationRequest(storeName, filterEmptyKeys(key));
|
||||
request.setMetadata(metadata);
|
||||
return this.getConfiguration(request).map(data -> data.get(0));
|
||||
return this.getConfiguration(request).map(data -> data.get(key));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Mono<List<ConfigurationItem>> getConfiguration(String storeName, String... keys) {
|
||||
public Mono<Map<String, ConfigurationItem>> getConfiguration(String storeName, String... keys) {
|
||||
List<String> listOfKeys = filterEmptyKeys(keys);
|
||||
GetConfigurationRequest request = new GetConfigurationRequest(storeName, listOfKeys);
|
||||
return this.getConfiguration(request);
|
||||
|
@ -531,7 +531,7 @@ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient {
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Mono<List<ConfigurationItem>> getConfiguration(
|
||||
public Mono<Map<String, ConfigurationItem>> getConfiguration(
|
||||
String storeName,
|
||||
List<String> keys,
|
||||
Map<String, String> metadata) {
|
||||
|
@ -543,7 +543,7 @@ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient {
|
|||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public Flux<List<ConfigurationItem>> subscribeToConfiguration(String storeName, String... keys) {
|
||||
public Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(String storeName, String... keys) {
|
||||
List<String> listOfKeys = filterEmptyKeys(keys);
|
||||
SubscribeConfigurationRequest request = new SubscribeConfigurationRequest(storeName, listOfKeys);
|
||||
return this.subscribeToConfiguration(request);
|
||||
|
@ -552,7 +552,7 @@ abstract class AbstractDaprClient implements DaprClient, DaprPreviewClient {
|
|||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public Flux<List<ConfigurationItem>> subscribeToConfiguration(
|
||||
public Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(
|
||||
String storeName,
|
||||
List<String> keys,
|
||||
Map<String, String> metadata) {
|
||||
|
|
|
@ -63,6 +63,8 @@ import reactor.util.context.Context;
|
|||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
@ -766,7 +768,7 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Mono<List<ConfigurationItem>> getConfiguration(GetConfigurationRequest request) {
|
||||
public Mono<Map<String, ConfigurationItem>> getConfiguration(GetConfigurationRequest request) {
|
||||
try {
|
||||
final String configurationStoreName = request.getStoreName();
|
||||
final Map<String, String> metadata = request.getMetadata();
|
||||
|
@ -791,16 +793,22 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
}
|
||||
}
|
||||
|
||||
private Mono<List<ConfigurationItem>> getConfigurationAlpha1(DaprProtos.GetConfigurationRequest envelope) {
|
||||
private Mono<Map<String, ConfigurationItem>> getConfigurationAlpha1(DaprProtos.GetConfigurationRequest envelope) {
|
||||
return Mono.subscriberContext().flatMap(
|
||||
context ->
|
||||
this.<DaprProtos.GetConfigurationResponse>createMono(
|
||||
it -> intercept(context, asyncStub).getConfigurationAlpha1(envelope, it)
|
||||
)
|
||||
).map(
|
||||
it ->
|
||||
it.getItemsList().stream()
|
||||
.map(this::buildConfigurationItem).collect(Collectors.toList())
|
||||
it -> {
|
||||
Map<String, ConfigurationItem> configMap = new HashMap<>();
|
||||
Iterator<Map.Entry<String, CommonProtos.ConfigurationItem>> itr = it.getItems().entrySet().iterator();
|
||||
while (itr.hasNext()) {
|
||||
Map.Entry<String, CommonProtos.ConfigurationItem> entry = itr.next();
|
||||
configMap.put(entry.getKey(), buildConfigurationItem(entry.getValue(), entry.getKey()));
|
||||
}
|
||||
return Collections.unmodifiableMap(configMap);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -808,7 +816,7 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Flux<List<ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request) {
|
||||
public Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request) {
|
||||
try {
|
||||
final String configurationStoreName = request.getStoreName();
|
||||
final List<String> keys = request.getKeys();
|
||||
|
@ -831,9 +839,15 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
return this.<DaprProtos.SubscribeConfigurationResponse>createFlux(
|
||||
it -> intercept(asyncStub).subscribeConfigurationAlpha1(envelope, it)
|
||||
).map(
|
||||
it ->
|
||||
it.getItemsList().stream()
|
||||
.map(this::buildConfigurationItem).collect(Collectors.toList())
|
||||
it -> {
|
||||
Map<String, ConfigurationItem> configMap = new HashMap<>();
|
||||
Iterator<Map.Entry<String, CommonProtos.ConfigurationItem>> itr = it.getItems().entrySet().iterator();
|
||||
while (itr.hasNext()) {
|
||||
Map.Entry<String, CommonProtos.ConfigurationItem> entry = itr.next();
|
||||
configMap.put(entry.getKey(), buildConfigurationItem(entry.getValue(), entry.getKey()));
|
||||
}
|
||||
return Collections.unmodifiableMap(configMap);
|
||||
}
|
||||
);
|
||||
} catch (Exception ex) {
|
||||
return DaprException.wrapFlux(ex);
|
||||
|
@ -847,10 +861,10 @@ public class DaprClientGrpc extends AbstractDaprClient {
|
|||
* @return io.dapr.client.domain.ConfigurationItem
|
||||
*/
|
||||
private ConfigurationItem buildConfigurationItem(
|
||||
CommonProtos.ConfigurationItem configurationItem) {
|
||||
CommonProtos.ConfigurationItem configurationItem, String key) {
|
||||
return new ConfigurationItem(
|
||||
configurationItem.getKey(),
|
||||
configurationItem.getValue(),
|
||||
key,
|
||||
configurationItem.getValue(),
|
||||
configurationItem.getVersion(),
|
||||
configurationItem.getMetadataMap()
|
||||
);
|
||||
|
|
|
@ -767,7 +767,7 @@ public class DaprClientHttp extends AbstractDaprClient {
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Mono<List<ConfigurationItem>> getConfiguration(GetConfigurationRequest request) {
|
||||
public Mono<Map<String, ConfigurationItem>> getConfiguration(GetConfigurationRequest request) {
|
||||
return DaprException.wrapMono(new UnsupportedOperationException());
|
||||
}
|
||||
|
||||
|
@ -775,7 +775,7 @@ public class DaprClientHttp extends AbstractDaprClient {
|
|||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Flux<List<ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request) {
|
||||
public Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request) {
|
||||
return DaprException.wrapFlux(new UnsupportedOperationException());
|
||||
}
|
||||
|
||||
|
|
|
@ -53,41 +53,42 @@ public interface DaprPreviewClient extends AutoCloseable {
|
|||
Mono<ConfigurationItem> getConfiguration(String storeName, String key, Map<String, String> metadata);
|
||||
|
||||
/**
|
||||
* Retrieve List of configurations based on a provided variable number of keys.
|
||||
* Retrieve Map of configurations based on a provided variable number of keys.
|
||||
*
|
||||
* @param storeName Name of the configuration store
|
||||
* @param keys keys of the configurations which are to be retrieved
|
||||
* @return Mono of List of ConfigurationItems
|
||||
* @return Mono of Map of ConfigurationItems
|
||||
*/
|
||||
Mono<List<ConfigurationItem>> getConfiguration(String storeName, String... keys);
|
||||
Mono<Map<String, ConfigurationItem>> getConfiguration(String storeName, String... keys);
|
||||
|
||||
/**
|
||||
* Retrieve List of configurations based on a provided variable number of keys.
|
||||
* Retrieve Map of configurations based on a provided variable number of keys.
|
||||
*
|
||||
* @param storeName Name of the configuration store
|
||||
* @param keys keys of the configurations which are to be retrieved
|
||||
* @param metadata optional metadata
|
||||
* @return Mono of List of ConfigurationItems
|
||||
* @return Mono of Map of ConfigurationItems
|
||||
*/
|
||||
Mono<List<ConfigurationItem>> getConfiguration(String storeName, List<String> keys, Map<String, String> metadata);
|
||||
Mono<Map<String, ConfigurationItem>> getConfiguration(String storeName, List<String> keys,
|
||||
Map<String, String> metadata);
|
||||
|
||||
/**
|
||||
* Retrieve List of configurations based on a provided configuration request object.
|
||||
* Retrieve Map of configurations based on a provided configuration request object.
|
||||
*
|
||||
* @param request request for retrieving Configurations for a list keys
|
||||
* @return Mono of List of ConfigurationItems
|
||||
* @return Mono of Map of ConfigurationItems
|
||||
*/
|
||||
|
||||
Mono<List<ConfigurationItem>> getConfiguration(GetConfigurationRequest request);
|
||||
Mono<Map<String, ConfigurationItem>> getConfiguration(GetConfigurationRequest request);
|
||||
|
||||
/**
|
||||
* Subscribe to the keys for any change.
|
||||
*
|
||||
* @param storeName Name of the configuration store
|
||||
* @param keys keys of the configurations which are to be subscribed
|
||||
* @return Flux of List of configuration items
|
||||
* @return Flux of Map of configuration items
|
||||
*/
|
||||
Flux<List<ConfigurationItem>> subscribeToConfiguration(String storeName, String... keys);
|
||||
Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(String storeName, String... keys);
|
||||
|
||||
/**
|
||||
* Subscribe to the keys for any change.
|
||||
|
@ -95,18 +96,18 @@ public interface DaprPreviewClient extends AutoCloseable {
|
|||
* @param storeName Name of the configuration store
|
||||
* @param keys keys of the configurations which are to be subscribed
|
||||
* @param metadata optional metadata
|
||||
* @return Flux of List of configuration items
|
||||
* @return Flux of Map of configuration items
|
||||
*/
|
||||
Flux<List<ConfigurationItem>> subscribeToConfiguration(String storeName, List<String> keys,
|
||||
Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(String storeName, List<String> keys,
|
||||
Map<String, String> metadata);
|
||||
|
||||
/**
|
||||
* Subscribe to the keys for any change.
|
||||
*
|
||||
* @param request request for subscribing to any change for the given keys in request
|
||||
* @return Flux of List of configuration items
|
||||
* @return Flux of Map of configuration items
|
||||
*/
|
||||
Flux<List<ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request);
|
||||
Flux<Map<String, ConfigurationItem>> subscribeToConfiguration(SubscribeConfigurationRequest request);
|
||||
|
||||
/**
|
||||
* Query for states using a query string.
|
||||
|
|
|
@ -110,7 +110,6 @@ public class DaprPreviewClientGrpcTest {
|
|||
}).when(daprStub).getConfigurationAlpha1(any(DaprProtos.GetConfigurationRequest.class), any());
|
||||
|
||||
ConfigurationItem ci = previewClient.getConfiguration(CONFIG_STORE_NAME, "configkey1").block();
|
||||
assertEquals("configkey1", ci.getKey());
|
||||
assertEquals("configvalue1", ci.getValue());
|
||||
assertEquals("1", ci.getVersion());
|
||||
}
|
||||
|
@ -128,7 +127,6 @@ public class DaprPreviewClientGrpcTest {
|
|||
Map<String, String> reqMetadata = new HashMap<>();
|
||||
reqMetadata.put("meta1", "value1");
|
||||
ConfigurationItem ci = previewClient.getConfiguration(CONFIG_STORE_NAME, "configkey1", reqMetadata).block();
|
||||
assertEquals("configkey1", ci.getKey());
|
||||
assertEquals("configvalue1", ci.getValue());
|
||||
assertEquals("1", ci.getVersion());
|
||||
}
|
||||
|
@ -143,15 +141,14 @@ public class DaprPreviewClientGrpcTest {
|
|||
return null;
|
||||
}).when(daprStub).getConfigurationAlpha1(any(DaprProtos.GetConfigurationRequest.class), any());
|
||||
|
||||
List<ConfigurationItem> cis = previewClient.getConfiguration(CONFIG_STORE_NAME, "configkey1","configkey2").block();
|
||||
Map<String, ConfigurationItem> cis = previewClient.getConfiguration(CONFIG_STORE_NAME, "configkey1","configkey2").block();
|
||||
assertEquals(2, cis.size());
|
||||
assertEquals("configkey1", cis.stream().findFirst().get().getKey());
|
||||
assertEquals("configvalue1", cis.stream().findFirst().get().getValue());
|
||||
assertEquals("1", cis.stream().findFirst().get().getVersion());
|
||||
|
||||
assertEquals("configkey2", cis.stream().skip(1).findFirst().get().getKey());
|
||||
assertEquals("configvalue2", cis.stream().skip(1).findFirst().get().getValue());
|
||||
assertEquals("1", cis.stream().skip(1).findFirst().get().getVersion());
|
||||
assertTrue("configkey1", cis.containsKey("configkey1"));
|
||||
assertEquals("configvalue1", cis.get("configkey1").getValue());
|
||||
assertEquals("1", cis.get("configkey1").getVersion());
|
||||
assertTrue("configkey2", cis.containsKey("configkey2"));
|
||||
assertEquals("configvalue2", cis.get("configkey2").getValue());
|
||||
assertEquals("1", cis.get("configkey2").getVersion());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -167,23 +164,24 @@ public class DaprPreviewClientGrpcTest {
|
|||
Map<String, String> reqMetadata = new HashMap<>();
|
||||
reqMetadata.put("meta1", "value1");
|
||||
List<String> keys = Arrays.asList("configkey1","configkey2");
|
||||
List<ConfigurationItem> cis = previewClient.getConfiguration(CONFIG_STORE_NAME, keys, reqMetadata).block();
|
||||
Map<String, ConfigurationItem> cis = previewClient.getConfiguration(CONFIG_STORE_NAME, keys, reqMetadata).block();
|
||||
assertEquals(2, cis.size());
|
||||
assertEquals("configkey1", cis.stream().findFirst().get().getKey());
|
||||
assertEquals("configvalue1", cis.stream().findFirst().get().getValue());
|
||||
assertTrue("configkey1", cis.containsKey("configkey1"));
|
||||
assertEquals("configvalue1", cis.get("configkey1").getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void subscribeConfigurationTest() {
|
||||
Map<String, String> metadata = new HashMap<>();
|
||||
metadata.put("meta1", "value1");
|
||||
Map<String, CommonProtos.ConfigurationItem> configs = new HashMap<>();
|
||||
configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build());
|
||||
DaprProtos.SubscribeConfigurationResponse responseEnvelope = DaprProtos.SubscribeConfigurationResponse.newBuilder()
|
||||
.addItems(CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setKey("configkey1")
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build())
|
||||
.putAllItems(configs)
|
||||
.build();
|
||||
|
||||
doAnswer((Answer<Void>) invocation -> {
|
||||
|
@ -194,23 +192,24 @@ public class DaprPreviewClientGrpcTest {
|
|||
return null;
|
||||
}).when(daprStub).subscribeConfigurationAlpha1(any(DaprProtos.SubscribeConfigurationRequest.class), any());
|
||||
|
||||
Iterator<List<ConfigurationItem>> itr = previewClient.subscribeToConfiguration(CONFIG_STORE_NAME, "configkey1").toIterable().iterator();
|
||||
Iterator<Map<String, ConfigurationItem>> itr = previewClient.subscribeToConfiguration(CONFIG_STORE_NAME, "configkey1").toIterable().iterator();
|
||||
assertTrue(itr.hasNext());
|
||||
assertEquals("configkey1", itr.next().get(0).getKey());
|
||||
assertFalse(itr.hasNext());
|
||||
assertTrue(itr.next().containsKey("configkey1"));
|
||||
assertFalse(itr.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void subscribeConfigurationTestWithMetadata() {
|
||||
Map<String, String> metadata = new HashMap<>();
|
||||
metadata.put("meta1", "value1");
|
||||
Map<String, CommonProtos.ConfigurationItem> configs = new HashMap<>();
|
||||
configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build());
|
||||
DaprProtos.SubscribeConfigurationResponse responseEnvelope = DaprProtos.SubscribeConfigurationResponse.newBuilder()
|
||||
.addItems(CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setKey("configkey1")
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build())
|
||||
.putAllItems(configs)
|
||||
.build();
|
||||
|
||||
doAnswer((Answer<Void>) invocation -> {
|
||||
|
@ -224,10 +223,10 @@ public class DaprPreviewClientGrpcTest {
|
|||
Map<String, String> reqMetadata = new HashMap<>();
|
||||
List<String> keys = Arrays.asList("configkey1");
|
||||
|
||||
Iterator<List<ConfigurationItem>> itr = previewClient.subscribeToConfiguration(CONFIG_STORE_NAME, keys, reqMetadata).toIterable().iterator();
|
||||
Iterator<Map<String, ConfigurationItem>> itr = previewClient.subscribeToConfiguration(CONFIG_STORE_NAME, "configkey1").toIterable().iterator();
|
||||
assertTrue(itr.hasNext());
|
||||
assertEquals("configkey1", itr.next().get(0).getKey());
|
||||
assertFalse(itr.hasNext());
|
||||
assertTrue(itr.next().containsKey("configkey1"));
|
||||
assertFalse(itr.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -257,33 +256,34 @@ public class DaprPreviewClientGrpcTest {
|
|||
private DaprProtos.GetConfigurationResponse getSingleMockResponse() {
|
||||
Map<String, String> metadata = new HashMap<>();
|
||||
metadata.put("meta1", "value1");
|
||||
Map<String, CommonProtos.ConfigurationItem> configs = new HashMap<>();
|
||||
configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build());
|
||||
DaprProtos.GetConfigurationResponse responseEnvelope = DaprProtos.GetConfigurationResponse.newBuilder()
|
||||
.addItems(CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setKey("configkey1")
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build()
|
||||
).build();
|
||||
.putAllItems(configs)
|
||||
.build();
|
||||
return responseEnvelope;
|
||||
}
|
||||
|
||||
private DaprProtos.GetConfigurationResponse getMultipleMockResponse() {
|
||||
Map<String, String> metadata = new HashMap<>();
|
||||
metadata.put("meta1", "value1");
|
||||
Map<String, CommonProtos.ConfigurationItem> configs = new HashMap<>();
|
||||
configs.put("configkey1", CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build());
|
||||
configs.put("configkey2", CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setValue("configvalue2")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build());
|
||||
DaprProtos.GetConfigurationResponse responseEnvelope = DaprProtos.GetConfigurationResponse.newBuilder()
|
||||
.addItems(CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setKey("configkey1")
|
||||
.setValue("configvalue1")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build())
|
||||
.addItems(CommonProtos.ConfigurationItem.newBuilder()
|
||||
.setKey("configkey2")
|
||||
.setValue("configvalue2")
|
||||
.setVersion("1")
|
||||
.putAllMetadata(metadata)
|
||||
.build())
|
||||
.putAllItems(configs)
|
||||
.build();
|
||||
return responseEnvelope;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue