@Test public void shouldThrowException_whenApplicationDoesNotExist() { // given when(applicationsApiMock.getByName(APPLICATION_NAME)).thenReturn(Optional.empty()); // then - exception expectedException.expect(NewRelicSyncException.class); expectedException.expectMessage(format("Application %s does not exist", APPLICATION_NAME)); // when testee.sync(CONFIGURATION); }
@Test public void shouldSynchronizeMoreThanOneConfigurations_whenMoreThanOneConfigurationsSet() { // given ApplicationConfiguration applicationConfigurationMock2 = mock(ApplicationConfiguration.class); PolicyConfiguration policyConfigurationMock2 = mock(PolicyConfiguration.class); testee.setApplicationConfigurations(ImmutableList.of(applicationConfigurationMock, applicationConfigurationMock2)); testee.setPolicyConfigurations(ImmutableList.of(policyConfigurationMock, policyConfigurationMock2)); // when testee.sync(); // then InOrder order = inOrder(applicationConfiguratorMock, policyConfiguratorMock, conditionConfiguratorMock, externalServiceConditionConfiguratorMock, nrqlConditionConfiguratorMock, syntheticsConditionConfiguratorMock, channelConfiguratorMock); order.verify(applicationConfiguratorMock).sync(applicationConfigurationMock); order.verify(applicationConfiguratorMock).sync(applicationConfigurationMock2); order.verify(policyConfiguratorMock).sync(policyConfigurationMock); order.verify(policyConfiguratorMock).sync(policyConfigurationMock2); }
/** * Synchronizes configurations (see {@link Configurator#setApplicationConfigurations(Collection)} * and {@link Configurator#setPolicyConfigurations(Collection)}) */ public void sync() { for (ApplicationConfiguration applicationConfiguration : applicationConfigurations) { applicationConfigurator.sync(applicationConfiguration); } for (PolicyConfiguration configuration : policyConfigurations) { policyConfigurator.sync(configuration); conditionConfigurator.sync(configuration); externalServiceConditionConfigurator.sync(configuration); nrqlConditionConfigurator.sync(configuration); syntheticsConditionConfigurator.sync(configuration); channelConfigurator.sync(configuration); } }
@Test public void shouldUpdateApplication() { // given when(applicationsApiMock.getByName(APPLICATION_NAME)).thenReturn(Optional.of(APPLICATION)); ApplicationSettings expectedSettings = ApplicationSettings.builder() .appApdexThreshold(APP_APDEX_THRESHOLD) .endUserApdexThreshold(USER_APDEX_THRESHOLD) .enableRealUserMonitoring(ENABLE_REAL_USER_MONITORING) .build(); Application expectedApplicationUpdate = Application.builder() .name(APPLICATION_NAME) .settings(expectedSettings) .build(); // when testee.sync(CONFIGURATION); // then verify(applicationsApiMock).update(APPLICATION.getId(), expectedApplicationUpdate); }