//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testIdentityLinkCaching() public virtual void testIdentityLinkCaching() { string[] taskIds = new string[] { "test" }; // mock identityLinks and query IdentityLink link1 = mock(typeof(IdentityLink)); when(link1.TaskId).thenReturn(taskIds[0]); IdentityLink link2 = mock(typeof(IdentityLink)); when(link2.TaskId).thenReturn(taskIds[0]); when(processEngine.TaskService.getIdentityLinksForTask(anyString())).thenReturn(Arrays.asList(link1, link2)); // configure cache HalRelationCacheConfiguration configuration = new HalRelationCacheConfiguration(); configuration.CacheImplementationClass = typeof(DefaultHalResourceCache); IDictionary <string, object> halIdentityLinkConfig = new Dictionary <string, object>(); halIdentityLinkConfig["capacity"] = 100; halIdentityLinkConfig["secondsToLive"] = 10000; configuration.addCacheConfiguration(typeof(HalIdentityLink), halIdentityLinkConfig); contextListener.configureCaches(configuration); // cache exists and is empty DefaultHalResourceCache cache = (DefaultHalResourceCache)Hal.Instance.getHalRelationCache(typeof(HalIdentityLink)); assertNotNull(cache); assertEquals(0, cache.size()); // get link resolver and resolve identity link HalLinkResolver linkResolver = Hal.Instance.getLinkResolver(typeof(IdentityRestService)); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.List<org.camunda.bpm.engine.rest.hal.HalResource<?>> halIdentityLinks = linkResolver.resolveLinks(taskIds, processEngine); IList <HalResource <object> > halIdentityLinks = linkResolver.resolveLinks(taskIds, processEngine); assertEquals(2, halIdentityLinks.Count); assertEquals(1, cache.size()); assertEquals(halIdentityLinks, cache.get(taskIds[0])); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void createCache() public virtual void createCache() { cache = new DefaultHalResourceCache(100, 100); contextListener = new HalRelationCacheBootstrap(); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testEntityCaching() public virtual void testEntityCaching() { string[] userIds = new string[] { "test" }; // mock user and query User user = mock(typeof(User)); when(user.Id).thenReturn(userIds[0]); when(user.FirstName).thenReturn("kermit"); UserQuery userQuery = mock(typeof(UserQuery)); when(userQuery.userIdIn(Matchers.anyVararg <string[]>())).thenReturn(userQuery); when(userQuery.listPage(anyInt(), anyInt())).thenReturn(Arrays.asList(user)); when(processEngine.IdentityService.createUserQuery()).thenReturn(userQuery); // configure cache HalRelationCacheConfiguration configuration = new HalRelationCacheConfiguration(); configuration.CacheImplementationClass = typeof(DefaultHalResourceCache); IDictionary <string, object> halUserConfig = new Dictionary <string, object>(); halUserConfig["capacity"] = 100; halUserConfig["secondsToLive"] = 10000; configuration.addCacheConfiguration(typeof(HalUser), halUserConfig); contextListener.configureCaches(configuration); // cache exists and is empty DefaultHalResourceCache cache = (DefaultHalResourceCache)Hal.Instance.getHalRelationCache(typeof(HalUser)); assertNotNull(cache); assertEquals(0, cache.size()); // get link resolver and resolve user HalLinkResolver linkResolver = Hal.Instance.getLinkResolver(typeof(UserRestService)); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.List<org.camunda.bpm.engine.rest.hal.HalResource<?>> halUsers = linkResolver.resolveLinks(userIds, processEngine); IList <HalResource <object> > halUsers = linkResolver.resolveLinks(userIds, processEngine); // mocked user was resolved assertNotNull(halUsers); assertEquals(1, halUsers.Count); HalUser halUser = (HalUser)halUsers[0]; assertEquals("kermit", halUser.FirstName); // cache contains user assertEquals(1, cache.size()); // change user mock when(user.FirstName).thenReturn("fritz"); // resolve users again halUsers = linkResolver.resolveLinks(userIds, processEngine); // cached mocked user was resolved with old name assertNotNull(halUsers); assertEquals(1, halUsers.Count); halUser = (HalUser)halUsers[0]; assertEquals("kermit", halUser.FirstName); forwardTime(cache.SecondsToLive * 3); // resolve users again halUsers = linkResolver.resolveLinks(userIds, processEngine); // new mocked user was resolved with old name assertNotNull(halUsers); assertEquals(1, halUsers.Count); halUser = (HalUser)halUsers[0]; assertEquals("fritz", halUser.FirstName); }