package com.sequenceiq.cloudbreak.facade; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.anyObject; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import com.sequenceiq.cloudbreak.TestUtil; import com.sequenceiq.cloudbreak.api.model.CloudbreakEventsJson; import com.sequenceiq.cloudbreak.domain.CloudbreakEvent; import com.sequenceiq.cloudbreak.service.events.CloudbreakEventService; @RunWith(MockitoJUnitRunner.class) public class DefaultCloudbreakEventsFacadeTest { @Mock private CloudbreakEventService cloudbreakEventService; @Mock private ConversionService conversionService; @InjectMocks private DefaultCloudbreakEventsFacade underTest; @Test public void findUsagesForParametersConvertUsagesToJson() { List<CloudbreakEvent> cloudbreakEvents = TestUtil.generateGcpCloudbreakEvents(10); when(cloudbreakEventService.cloudbreakEvents(anyString(), anyLong())).thenReturn(cloudbreakEvents); when(conversionService.convert(anyObject(), any(TypeDescriptor.class), any(TypeDescriptor.class))).thenReturn(new ArrayList<CloudbreakEventsJson>()); underTest.retrieveEvents("owner", new Date().getTime()); verify(cloudbreakEventService, times(1)).cloudbreakEvents(anyString(), anyLong()); verify(conversionService, times(1)).convert(anyObject(), any(TypeDescriptor.class), any(TypeDescriptor.class)); } }