Example #1
0
//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]));
        }
Example #2
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();
        }
Example #3
0
//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);
        }