package com.sequenceiq.cloudbreak.service.stack.flow; import com.sequenceiq.cloudbreak.domain.HostMetadata; import com.sequenceiq.cloudbreak.domain.InstanceMetaData; import com.sequenceiq.cloudbreak.domain.Stack; import com.sequenceiq.cloudbreak.repository.HostMetadataRepository; import com.sequenceiq.cloudbreak.service.cluster.flow.AmbariDecommissioner; import com.sequenceiq.cloudbreak.service.events.CloudbreakEventService; import com.sequenceiq.cloudbreak.service.messages.CloudbreakMessagesService; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class StackScalingServiceTest { @InjectMocks private StackScalingService stackScalingService; @Mock private AmbariDecommissioner ambariDecommissioner; @Mock private HostMetadataRepository hostMetadataRepository; @Mock private CloudbreakEventService eventService; @Mock private CloudbreakMessagesService cloudbreakMessagesService; @Test public void shouldRemoveHostMetadataUsingId() { Stack stack = mock(Stack.class); when(stack.getId()).thenReturn(123L); InstanceMetaData instanceMetaData = mock(InstanceMetaData.class); when(instanceMetaData.getInstanceId()).thenReturn("i-1234567"); HostMetadata hostMetadata = mock(HostMetadata.class); when(hostMetadata.getId()).thenReturn(456L); stackScalingService.removeHostmetadataIfExists(stack, instanceMetaData, hostMetadata); verify(hostMetadataRepository).delete(456L); } }