From d0230cca478c1969117d572157b987a685d5ab0f Mon Sep 17 00:00:00 2001 From: Vassilis Bekiaris Date: Mon, 8 Jul 2019 14:05:44 +0300 Subject: [PATCH] Fixes ClientMapStoreTest to obtain MapStore instance from MapContainer The test used to rely on erroneous behaviour fixed by #15224 --- .../client/map/ClientMapStoreTest.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/hazelcast-client/src/test/java/com/hazelcast/client/map/ClientMapStoreTest.java b/hazelcast-client/src/test/java/com/hazelcast/client/map/ClientMapStoreTest.java index 6652cf3fb639..0f5d9ca9917c 100644 --- a/hazelcast-client/src/test/java/com/hazelcast/client/map/ClientMapStoreTest.java +++ b/hazelcast-client/src/test/java/com/hazelcast/client/map/ClientMapStoreTest.java @@ -27,6 +27,10 @@ import com.hazelcast.core.MapLoader; import com.hazelcast.core.MapStore; import com.hazelcast.map.ReachedMaxSizeException; +import com.hazelcast.map.impl.MapContainer; +import com.hazelcast.map.impl.MapService; +import com.hazelcast.map.impl.MapServiceContext; +import com.hazelcast.map.impl.proxy.MapProxyImpl; import com.hazelcast.spi.properties.GroupProperty; import com.hazelcast.test.AssertTask; import com.hazelcast.test.HazelcastParallelClassRunner; @@ -407,10 +411,7 @@ public void testIssue3023_testWithSubStringMapNames() { IMap map = client.getMap(mapNameWithStoreAndSize + "1"); map.put(1, 1); - MapStoreConfig mapStoreConfig = hz.getConfig() - .getMapConfig(mapNameWithStoreAndSize + "1") - .getMapStoreConfig(); - final AMapStore store = (AMapStore) (mapStoreConfig.getImplementation()); + final AMapStore store = getMapStoreInstance(hz, mapNameWithStoreAndSize + "1"); assertTrueEventually(new AssertTask() { @Override @@ -425,4 +426,14 @@ private Config buildConfig(String xml) { XmlConfigBuilder configBuilder = new XmlConfigBuilder(bis); return configBuilder.build(); } + + // given a member-side HazelcastInstance and a mapName, return the MapStore instance + // or null if none configured + private T getMapStoreInstance(HazelcastInstance hz, String mapName) { + MapProxyImpl map = (MapProxyImpl) hz.getMap(mapName); + MapService service = (MapService) map.getService(); + MapServiceContext context = service.getMapServiceContext(); + MapContainer container = context.getMapContainer(mapName); + return (T) container.getMapStoreContext().getMapStoreWrapper().getMapStore(); + } }