@Test public void shouldDoNothing_whenNullConditionsInConfiguration() { PolicyItemApi<U> itemApiMock = getPolicyItemApiMock(); // given PolicyConfiguration config = PolicyConfiguration.builder() .policyName(POLICY_NAME) .incidentPreference(PolicyConfiguration.IncidentPreference.PER_POLICY) .build(); // when testee.sync(config); // then verifyZeroInteractions(itemApiMock); }
@Test public void shouldCreateCondition() { U itemFromConfig = getItemFromConfig(); U itemSame = getItemSame(); PolicyConfiguration policyConfiguration = getPolicyConfiguration(); PolicyItemApi<U> itemApiMock = getPolicyItemApiMock(); // given when(itemApiMock.list(POLICY.getId())).thenReturn(ImmutableList.of()); when(itemApiMock.create(POLICY.getId(), itemFromConfig)).thenReturn(itemSame); // when testee.sync(policyConfiguration); // then InOrder order = inOrder(itemApiMock); order.verify(itemApiMock).list(POLICY.getId()); order.verify(itemApiMock).create(POLICY.getId(), itemFromConfig); order.verifyNoMoreInteractions(); }
@Test public void shouldUpdateCondition() { U itemFromConfig = getItemFromConfig(); U itemUpdated = getItemUpdated(); PolicyConfiguration policyConfiguration = getPolicyConfiguration(); PolicyItemApi<U> itemApiMock = getPolicyItemApiMock(); // given when(itemApiMock.list(POLICY.getId())).thenReturn(ImmutableList.of(itemUpdated)); when(itemApiMock.update(itemUpdated.getId(), itemFromConfig)).thenReturn(itemUpdated); // when testee.sync(policyConfiguration); // then InOrder order = inOrder(itemApiMock); order.verify(itemApiMock).list(POLICY.getId()); order.verify(itemApiMock).update(itemUpdated.getId(), itemFromConfig); order.verifyNoMoreInteractions(); }
@Test public void shouldDoNothing_whenEmptyConditionsInConfiguration() { PolicyItemApi<U> itemApiMock = getPolicyItemApiMock(); // given PolicyConfiguration config = PolicyConfiguration.builder() .policyName(POLICY_NAME) .incidentPreference(PolicyConfiguration.IncidentPreference.PER_POLICY) .conditions(Collections.emptyList()) .nrqlConditions(Collections.emptyList()) .externalServiceConditions(Collections.emptyList()) .build(); // when testee.sync(config); // then InOrder order = inOrder(itemApiMock); order.verify(itemApiMock).list(POLICY.getId()); order.verifyNoMoreInteractions(); }
@Test public void shouldRemoveOldCondition() { U itemFromConfig = getItemFromConfig(); U itemSame = getItemSame(); U itemDifferent = getItemDifferent(); PolicyConfiguration policyConfiguration = getPolicyConfiguration(); PolicyItemApi<U> itemApiMock = getPolicyItemApiMock(); // given when(itemApiMock.list(POLICY.getId())).thenReturn(ImmutableList.of(itemDifferent)); when(itemApiMock.create(POLICY.getId(), itemFromConfig)).thenReturn(itemSame); // when testee.sync(policyConfiguration); // then InOrder order = inOrder(itemApiMock); order.verify(itemApiMock).list(POLICY.getId()); order.verify(itemApiMock).create(POLICY.getId(), itemFromConfig); order.verify(itemApiMock).delete(itemDifferent.getId()); order.verifyNoMoreInteractions(); }