@Test public void throwsErrorWhenMultipleDbConfigAvailable() throws Exception { DbConfig dbConfig1 = mock(DbConfig.class); when(dbConfig1.getName()).thenReturn("dbConfig1"); DbConfig dbConfig2 = mock(DbConfig.class); when(dbConfig2.getName()).thenReturn("dbConfig2"); DbConfigResolver dbConfigResolver1 = mock(DbConfigResolver.class); when(dbConfigResolver1.resolve(null)).thenReturn(dbConfig1); DbConfigResolver dbConfigResolver2 = mock(DbConfigResolver.class); when(dbConfigResolver2.resolve(null)).thenReturn(dbConfig2); MuleRegistry registry = mock(MuleRegistry.class); Collection<DbConfigResolver> foundDbConfigResolvers = new ArrayList<>(); foundDbConfigResolvers.add(dbConfigResolver1); foundDbConfigResolvers.add(dbConfigResolver2); when(registry.lookupObjects(DbConfigResolver.class)).thenReturn(foundDbConfigResolvers); DefaultDbConfigResolver dbConfigResolver = new DefaultDbConfigResolver(registry); try { dbConfigResolver.resolve(muleEvent); fail("Was supposed to fail when there are multiple dbConfigs available"); } catch (UnresolvableDbConfigException e) { assertThat(e.getMessage(), containsString("dbConfig1")); assertThat(e.getMessage(), containsString("dbConfig2")); } }
private MuleRegistry createMockRegistry(DbConfigResolver dbConfigResolver) { Collection<DbConfigResolver> foundDbConfigResolvers = new ArrayList<>(); foundDbConfigResolvers.add(dbConfigResolver); MuleRegistry registry = mock(MuleRegistry.class); when(registry.lookupObjects(DbConfigResolver.class)).thenReturn(foundDbConfigResolvers); return registry; }
@Test(expected = UnresolvableDbConfigException.class) public void throwsErrorWhenNoDbConfigAvailable() throws Exception { MuleRegistry registry = mock(MuleRegistry.class); Collection<DbConfig> foundDbConfigs = new ArrayList<DbConfig>(); when(registry.lookupObjects(DbConfig.class)).thenReturn(foundDbConfigs); DefaultDbConfigResolver dbConfigResolver = new DefaultDbConfigResolver(registry); dbConfigResolver.resolve(muleEvent); }
@Test public void serialization() throws MuleException { Flow flow = new Flow("flow", Mockito.mock(MuleContext.class, RETURNS_DEEP_STUBS)); DefaultMuleSession before = new DefaultMuleSession(); before.setValid(false); before.setSecurityContext(createTestAuthentication()); before.setProperty("foo", "bar"); // Create mock muleContext MuleContext muleContext = Mockito.mock(MuleContext.class); MuleRegistry registry = Mockito.mock(MuleRegistry.class); Mockito.when(muleContext.getRegistry()).thenReturn(registry); Mockito.when(muleContext.getExecutionClassLoader()).thenReturn(getClass().getClassLoader()); Mockito.when(registry.lookupFlowConstruct("flow")).thenReturn(flow); ((MuleContextAware) serializer).setMuleContext(muleContext); // Serialize and then deserialize DefaultMuleSession after = serializer.deserialize(serializer.serialize(before)); // assertions assertEquals(before.getId(), after.getId()); assertEquals(before.isValid(), after.isValid()); assertEquals(before.getProperty("foo"), after.getProperty("foo")); assertEquals( before.getSecurityContext().getAuthentication().getPrincipal(), after.getSecurityContext().getAuthentication().getPrincipal()); assertEquals( before.getSecurityContext().getAuthentication().getProperties().get("key1"), after.getSecurityContext().getAuthentication().getProperties().get("key1")); assertEquals( before.getSecurityContext().getAuthentication().getCredentials(), after.getSecurityContext().getAuthentication().getCredentials()); // assertEquals(before.getSecurityContext().getAuthentication().getEvent().getId(), // after.getSecurityContext().getAuthentication().getEvent().getId()); after.setProperty("new", "value"); assertNull(before.getProperty("new")); }