@Inject public CommonDomainLookups(final DefinitionUtils definitionUtils, final DefinitionsCacheRegistry definitionsRegistry, final RuleManager ruleManager) { this(definitionUtils, definitionsRegistry, ruleManager, defSetId -> new DomainLookupsCache(definitionUtils.getDefinitionManager(), definitionsRegistry, defSetId)); }
@Before @SuppressWarnings("unchecked") public void setup() throws Exception { when(definitionManager.adapters()).thenReturn(adapterManager); when(adapterManager.forDefinitionSet()).thenReturn(definitionSetAdapter); when(adapterManager.forRules()).thenReturn(ruleAdapter); when(definitionManager.definitionSets()).thenReturn(definitionSetRegistry); when(definitionSetRegistry.getDefinitionSetById(eq(DEF_SET_ID))).thenReturn(definitionSet); when(ruleAdapter.getRuleSet(eq(definitionSet))).thenReturn(RULE_SET); when(definitionSetAdapter.getDefinitions(eq(definitionSet))).thenReturn(new HashSet<String>(2) {{ add(DEF_ID1); add(DEF_ID2); }}); when(definitionsRegistry.getLabels(eq(DEF_ID1))).thenReturn(Collections.singleton(ROLE1)); when(definitionsRegistry.getLabels(eq(DEF_ID2))).thenReturn(Collections.singleton(ROLE2)); tested = new DomainLookupsCache(definitionManager, definitionsRegistry, DEF_SET_ID); }
@Test public void testCleanUp() { DefinitionsCacheRegistry definitionsRegistry = mock(DefinitionsCacheRegistry.class); when(definitionsRegistry.getLabels(eq(DEF_ID1))).thenReturn(Collections.singleton(ROLE1)); when(definitionsRegistry.getLabels(eq(DEF_ID2))).thenReturn(Collections.singleton(ROLE2)); DomainLookupsCache tested = new DomainLookupsCache(definitionManager, definitionsRegistry, DEF_SET_ID); assertEquals(1, tested.getDefinitions(ROLE1).size()); assertEquals(1, tested.getDefinitions(ROLE2).size()); tested.clear(); assertEquals(Collections.emptySet(), tested.getDefinitions(ROLE1)); assertEquals(Collections.emptySet(), tested.getDefinitions(ROLE2)); assertEquals(0, tested.getConnectionRules().size()); } }