package com.sequenceiq.cloudbreak.converter; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.Collection; import java.util.Map; import org.junit.Before; import org.junit.Test; import com.google.api.client.util.Maps; import com.sequenceiq.cloudbreak.api.model.PlatformVariantsJson; import com.sequenceiq.cloudbreak.cloud.model.Platform; import com.sequenceiq.cloudbreak.cloud.model.PlatformVariants; import com.sequenceiq.cloudbreak.cloud.model.Variant; public class PlatformVariantsToJsonConverterTest extends AbstractEntityConverterTest<PlatformVariants> { private static final Platform PLATFORM = Platform.platform("PLATFORM"); private static final Variant VARIANT_1 = Variant.variant("VARIANT1"); private static final Variant VARIANT_2 = Variant.variant("VARIANT2"); private PlatformVariantsToJsonConverter underTest; @Before public void setUp() { underTest = new PlatformVariantsToJsonConverter(); } @Test public void testConvert() { // GIVEN // WHEN PlatformVariantsJson result = underTest.convert(getSource()); // THEN assertTrue(result.getPlatformToVariants().get(PLATFORM.value()).contains(VARIANT_1.value())); assertEquals(VARIANT_2.value(), result.getDefaultVariants().get(PLATFORM.value())); assertAllFieldsNotNull(result); } @Override public PlatformVariants createSource() { Map<Platform, Collection<Variant>> platformToVariants = Maps.newHashMap(); platformToVariants.put(PLATFORM, Arrays.asList(VARIANT_1, VARIANT_2)); Map<Platform, Variant> defaultVariants = Maps.newHashMap(); defaultVariants.put(PLATFORM, VARIANT_2); return new PlatformVariants(platformToVariants, defaultVariants); } }