package com.sequenceiq.cloudbreak.converter; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; import static org.mockito.Mockito.when; import java.util.HashSet; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.core.convert.ConversionService; import com.sequenceiq.cloudbreak.TestUtil; import com.sequenceiq.cloudbreak.api.model.ConstraintJson; import com.sequenceiq.cloudbreak.api.model.HostGroupResponse; import com.sequenceiq.cloudbreak.domain.HostGroup; public class HostGroupToJsonEntityConverterTest extends AbstractEntityConverterTest<HostGroup> { @InjectMocks private HostGroupToJsonConverter underTest; @Mock private ConversionService conversionService; @Before public void setUp() { underTest = new HostGroupToJsonConverter(); MockitoAnnotations.initMocks(this); when(conversionService.convert(any(Class.class), any(Class.class))).thenReturn(new ConstraintJson()); } @Test public void testConvert() { // GIVEN // WHEN HostGroupResponse result = underTest.convert(getSource()); // THEN assertEquals(1, result.getMetadata().size()); assertTrue(result.getRecipeIds().contains(1L)); assertEquals("dummyName", result.getName()); assertAllFieldsNotNull(result); } @Test public void testConvertWithoutRecipes() { // GIVEN getSource().setRecipes(new HashSet<>()); // WHEN HostGroupResponse result = underTest.convert(getSource()); // THEN assertEquals(1, result.getMetadata().size()); assertFalse(result.getRecipeIds().contains(1L)); assertEquals("dummyName", result.getName()); assertAllFieldsNotNull(result); } @Override public HostGroup createSource() { return TestUtil.hostGroup(); } }