@Test public void nullEnvironment() { Collection<ExcludeRule> rules = configurationResolver.getAllExcludeRules(null); assertThat(rules, is(empty())); verifyZeroInteractions(configurationInterfaceManager); }
@Test(expectedExceptions = { BusinessException.class }) public void nullMappings() throws BusinessException { when(agentMappings.getMappings()).thenReturn(null); configurationResolver.getEnvironmentForAgent(definedIPs, agentName); }
@Test public void specialAssignments() { SpecialMethodSensorAssignment assignment = mock(SpecialMethodSensorAssignment.class); IInstrumentationApplier applier = configurationResolver.getInstrumentationApplier(assignment, environment); assertThat(applier, is(instanceOf(SpecialInstrumentationApplier.class))); assertThat((SpecialMethodSensorAssignment) applier.getSensorAssignment(), is(assignment)); }
/** * Updates the defined configuration in the holder with following tasks:<br> * 1. Creates the new {@link #agentConfiguration} for given environment and platform id<br> * 2. Resolves all {@link #instrumentationAppliers} for given environment<br> * 3. sets the passes environment to the holder. * <p> * If <code>null</code> is passed then everything saved in the holder will be reset to * <code>null</code> as well. * * @param environment * Environment to update the configuration and appliers with. * @param platformId * Agent id needed for resolving configuration. */ public void update(Environment environment, long platformId) { if (null != environment) { this.environment = environment; this.agentConfiguration = configurationCreator.environmentToConfiguration(environment, platformId); this.instrumentationAppliers = configurationResolver.getInstrumentationAppliers(environment); this.jmxMonitoringAppliers = configurationResolver.getJmxMonitoringAppliers(environment); } else { this.environment = null; // NOPMD this.agentConfiguration = null; // NOPMD this.instrumentationAppliers = null; // NOPMD this.jmxMonitoringAppliers = null; // NOPMD } }
@Test public void nullEnvironment() { Collection<IInstrumentationApplier> appliers = configurationResolver.getInstrumentationAppliers(null); assertThat(appliers, is(empty())); verifyZeroInteractions(functionalAssignmentFactory, configurationInterfaceManager); }
@Test public void nullEnvironment() { Collection<JmxMonitoringApplier> jmxMonitoringAppliers = configurationResolver.getJmxMonitoringAppliers(null); assertThat(jmxMonitoringAppliers, is(empty())); verifyZeroInteractions(configurationInterfaceManager); }
Collection<ExcludeRule> excludeRules = configurationResolver.getAllExcludeRules(environment); if (CollectionUtils.isNotEmpty(excludeRules)) { Collection<IMatchPattern> excludeClassesPatterns = new ArrayList<>(); agentConfiguration.setConfigurationInfo(configurationResolver.getConfigurationInfo(environment));
if (!agentMapping.isActive() || !matches(agentMapping, definedIPs, agentName)) { it.remove();
@Test public void updateReset() { long platformId = 11; Environment environment = mock(Environment.class); AgentConfig configuration = mock(AgentConfig.class); IInstrumentationApplier applier = mock(IInstrumentationApplier.class); JmxMonitoringApplier jmxApplier = mock(JmxMonitoringApplier.class); when(configurationCreator.environmentToConfiguration(environment, platformId)).thenReturn(configuration); when(configurationResolver.getInstrumentationAppliers(environment)).thenReturn(Collections.singleton(applier)); when(configurationResolver.getJmxMonitoringAppliers(environment)).thenReturn(Collections.singleton(jmxApplier)); holder.update(environment, platformId); holder.update(null, platformId); assertThat(holder.isInitialized(), is(false)); // only one time verifications verify(configurationCreator).environmentToConfiguration(environment, platformId); verify(configurationResolver).getInstrumentationAppliers(environment); verify(configurationResolver).getJmxMonitoringAppliers(environment); verifyNoMoreInteractions(configurationCreator, configurationResolver); } }
@Test public void noProfile() { when(environment.getProfileIds()).thenReturn(Collections.<String> emptySet()); Collection<IInstrumentationApplier> appliers = configurationResolver.getInstrumentationAppliers(environment); assertThat(appliers, is(empty())); verify(functionalAssignmentFactory).getSpecialAssignments(environment); }
@Test public void noProfile() { when(environment.getProfileIds()).thenReturn(Collections.<String> emptySet()); Collection<JmxMonitoringApplier> jmxMonitoringAppliers = configurationResolver.getJmxMonitoringAppliers(environment); assertThat(jmxMonitoringAppliers, is(empty())); }
@Test(expectedExceptions = { BusinessException.class }) public void noMappings() throws BusinessException { when(agentMappings.getMappings()).thenReturn(Collections.<AgentMapping> emptyList()); configurationResolver.getEnvironmentForAgent(definedIPs, agentName); }
@Test public void methodSensorAssignment() throws BusinessException { MethodSensorAssignment assignment = mock(MethodSensorAssignment.class); IInstrumentationApplier applier = configurationResolver.getInstrumentationApplier(assignment, environment); assertThat(applier, is(instanceOf(MethodSensorInstrumentationApplier.class))); assertThat((MethodSensorAssignment) applier.getSensorAssignment(), is(assignment)); }
@Test public void update() { long platformId = 11; Environment environment = mock(Environment.class); AgentConfig configuration = mock(AgentConfig.class); IInstrumentationApplier applier = mock(IInstrumentationApplier.class); JmxMonitoringApplier jmxApplier = mock(JmxMonitoringApplier.class); when(configurationCreator.environmentToConfiguration(environment, platformId)).thenReturn(configuration); when(configurationResolver.getInstrumentationAppliers(environment)).thenReturn(Collections.singleton(applier)); when(configurationResolver.getJmxMonitoringAppliers(environment)).thenReturn(Collections.singleton(jmxApplier)); holder.update(environment, platformId); assertThat(holder.isInitialized(), is(true)); assertThat(holder.getEnvironment(), is(environment)); assertThat(holder.getAgentConfiguration(), is(configuration)); assertThat(holder.getInstrumentationAppliers(), hasSize(1)); assertThat(holder.getInstrumentationAppliers(), hasItem(applier)); assertThat(holder.getJmxMonitoringAppliers(), hasSize(1)); assertThat(holder.getJmxMonitoringAppliers(), hasItem(jmxApplier)); verify(configurationCreator).environmentToConfiguration(environment, platformId); verify(configurationResolver).getInstrumentationAppliers(environment); verify(configurationResolver).getJmxMonitoringAppliers(environment); verifyNoMoreInteractions(configurationCreator, configurationResolver); }
@Test public void specialAssignments() { SpecialMethodSensorAssignment assignment = mock(SpecialMethodSensorAssignment.class); when(functionalAssignmentFactory.getSpecialAssignments(environment)).thenReturn(Collections.singletonList(assignment)); Collection<IInstrumentationApplier> appliers = configurationResolver.getInstrumentationAppliers(environment); assertThat(appliers, hasSize(1)); IInstrumentationApplier applier = appliers.iterator().next(); assertThat(applier, is(instanceOf(SpecialInstrumentationApplier.class))); assertThat((SpecialMethodSensorAssignment) applier.getSensorAssignment(), is(assignment)); verify(functionalAssignmentFactory).getSpecialAssignments(environment); }
@Test public void profileDoesNotExists() throws BusinessException { when(environment.getProfileIds()).thenReturn(Collections.singleton(PROFILE_ID)); when(configurationInterfaceManager.getProfile(PROFILE_ID)).thenThrow(new BusinessException(null)); Collection<JmxMonitoringApplier> jmxMonitoringAppliers = configurationResolver.getJmxMonitoringAppliers(environment); assertThat(jmxMonitoringAppliers, is(empty())); }
@Test public void noProfile() { when(environment.getProfileIds()).thenReturn(Collections.<String> emptySet()); Collection<ExcludeRule> rules = configurationResolver.getAllExcludeRules(environment); assertThat(rules, is(empty())); }
@Test(expectedExceptions = BusinessException.class) public void noMappingsForAgent() throws BusinessException { List<String> definedIPs = mock(List.class); String agentName = "agentName"; String version = "v1"; when(configurationResolver.getEnvironmentForAgent(definedIPs, agentName)).thenThrow(new BusinessException(null)); manager.register(definedIPs, agentName, version); }
@Test public void timerSensorAssignment() throws BusinessException { TimerMethodSensorAssignment assignment = mock(TimerMethodSensorAssignment.class); IInstrumentationApplier applier = configurationResolver.getInstrumentationApplier(assignment, environment); assertThat(applier, is(instanceOf(TimerMethodSensorInstrumentationApplier.class))); assertThat((TimerMethodSensorAssignment) applier.getSensorAssignment(), is(assignment)); }
@Test public void profileDoesNotExists() throws BusinessException { when(environment.getProfileIds()).thenReturn(Collections.singleton(PROFILE_ID)); when(configurationInterfaceManager.getProfile(PROFILE_ID)).thenThrow(new BusinessException(null)); Collection<IInstrumentationApplier> appliers = configurationResolver.getInstrumentationAppliers(environment); assertThat(appliers, is(empty())); verify(functionalAssignmentFactory).getSpecialAssignments(environment); }