@Test
public void configureExceptionSensor() throws Exception {
long agentId = 13L;
long sensorId = 17L;
String sensorName = "sensorName";
String className = "className";
Map<String, Object> parameters = Collections.<String, Object> singletonMap("key", "value");
IExceptionSensorConfig exceptionSensorConfig = mock(IExceptionSensorConfig.class);
when(exceptionSensorConfig.getName()).thenReturn(sensorName);
when(exceptionSensorConfig.getClassName()).thenReturn(className);
when(exceptionSensorConfig.getParameters()).thenReturn(parameters);
when(environment.getExceptionSensorConfig()).thenReturn(exceptionSensorConfig);
when(registrationService.registerMethodSensorTypeIdent(agentId, className, parameters)).thenReturn(sensorId);
AgentConfig agentConfiguration = creator.environmentToConfiguration(environment, agentId);
ExceptionSensorTypeConfig sensorTypeConfig = agentConfiguration.getExceptionSensorTypeConfig();
assertThat(sensorTypeConfig.getId(), is(sensorId));
assertThat(sensorTypeConfig.getName(), is(sensorName));
assertThat(sensorTypeConfig.getClassName(), is(className));
assertThat(sensorTypeConfig.getParameters(), is(parameters));
assertThat(sensorTypeConfig.getPriority(), is(PriorityEnum.NORMAL));
verify(registrationService).registerMethodSensorTypeIdent(agentId, className, parameters);
verify(registrationService).registerMethodSensorTypeIdent(anyLong(), eq(eisc.getClassName()), eq(eisc.getParameters()));
verify(registrationService).registerMethodSensorTypeIdent(anyLong(), eq(closeableHttpAsyncCLient.getClassName()), eq(closeableHttpAsyncCLient.getParameters()));
verifyNoMoreInteractions(registrationService);
}