package com.linkedin.thirdeye.datalayer.bao; import com.linkedin.thirdeye.datalayer.dto.EntityToEntityMappingDTO; import java.util.List; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class TestEntityToEntityMappingManager extends AbstractManagerTestBase { Long testId1 = null; Long testId2 = null; Long testId3 = null; Long testId4 = null; String metricURN1 = "thirdeye:metric:d1:m1"; String metricURN2 = "thirdeye:metric:d1:m2"; String serviceURN1 = "thirdeye:service:s1"; String dimensionURN1 = "thirdeye:dimension:country:UnitedStates"; String dimensionURN2 = "thirdeye:dimension:country:US"; private static final String METRIC_TO_METRIC = "METRIC_TO_METRIC"; private static final String METRIC_TO_SERVICE = "METRIC_TO_SERVICE"; private static final String DIMENSION_TO_DIMENSION = "DIMENSION_TO_DIMENSION"; @BeforeClass void beforeClass() { super.init(); } @AfterClass(alwaysRun = true) void afterClass() { super.cleanup(); } @Test public void testCreate() { EntityToEntityMappingDTO dto = getTestEntityToEntityMapping(metricURN1, metricURN2, METRIC_TO_METRIC); testId1 = entityToEntityMappingDAO.save(dto); Assert.assertNotNull(testId1); dto = getTestEntityToEntityMapping(metricURN1, serviceURN1, METRIC_TO_SERVICE); testId2 = entityToEntityMappingDAO.save(dto); Assert.assertNotNull(testId2); dto = getTestEntityToEntityMapping(dimensionURN1, dimensionURN2, DIMENSION_TO_DIMENSION); testId3 = entityToEntityMappingDAO.save(dto); Assert.assertNotNull(testId3); } @Test(dependsOnMethods = { "testCreate" }) public void testFind() { EntityToEntityMappingDTO dto = entityToEntityMappingDAO.findById(testId1); Assert.assertEquals(dto.getId(), testId1); Assert.assertEquals(dto.getFromURN(), metricURN1); Assert.assertEquals(dto.getToURN(), metricURN2); Assert.assertEquals(dto.getMappingType(), METRIC_TO_METRIC); List<EntityToEntityMappingDTO> list = entityToEntityMappingDAO.findAll(); Assert.assertEquals(list.size(), 3); list = entityToEntityMappingDAO.findByFromURN(metricURN1); Assert.assertEquals(list.size(), 2); list = entityToEntityMappingDAO.findByToURN(metricURN2); Assert.assertEquals(list.size(), 1); dto = entityToEntityMappingDAO.findByFromAndToURN(dimensionURN1, dimensionURN2); Assert.assertEquals(dto.getId(), testId3); list = entityToEntityMappingDAO.findByMappingType(METRIC_TO_SERVICE); Assert.assertEquals(list.size(), 1); list = entityToEntityMappingDAO.findByFromURNAndMappingType(metricURN1, METRIC_TO_METRIC); Assert.assertEquals(list.size(), 1); list = entityToEntityMappingDAO.findByToURNAndMappingType(dimensionURN2, METRIC_TO_METRIC); Assert.assertEquals(list.size(), 0); } @Test(dependsOnMethods = { "testFind" }) public void testUpdate() { EntityToEntityMappingDTO dto = entityToEntityMappingDAO.findById(testId1); Assert.assertEquals(dto.getScore(), 1d); dto.setScore(10); entityToEntityMappingDAO.update(dto); dto = entityToEntityMappingDAO.findById(testId1); Assert.assertEquals(dto.getScore(), 10d); } @Test(dependsOnMethods = { "testUpdate" }) public void testDelete() { entityToEntityMappingDAO.deleteById(testId1); EntityToEntityMappingDTO dto = entityToEntityMappingDAO.findById(testId1); Assert.assertNull(dto); } }