Merge pull request #5890 from smatvienko-tb/dao-test-fix
dao test some fixed
This commit is contained in:
commit
6ea3e019da
@ -26,7 +26,7 @@ import org.thingsboard.server.dao.util.SqlTsDao;
|
|||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableAutoConfiguration
|
@EnableAutoConfiguration
|
||||||
@ComponentScan({"org.thingsboard.server.dao.sqlts.psql"})
|
@ComponentScan({"org.thingsboard.server.dao.sqlts.psql", "org.thingsboard.server.dao.sqlts.insert.psql"})
|
||||||
@EnableJpaRepositories({"org.thingsboard.server.dao.sqlts.ts", "org.thingsboard.server.dao.sqlts.insert.psql"})
|
@EnableJpaRepositories({"org.thingsboard.server.dao.sqlts.ts", "org.thingsboard.server.dao.sqlts.insert.psql"})
|
||||||
@EntityScan({"org.thingsboard.server.dao.model.sqlts.ts"})
|
@EntityScan({"org.thingsboard.server.dao.model.sqlts.ts"})
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
|
|||||||
@ -15,28 +15,29 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.dao;
|
package org.thingsboard.server.dao;
|
||||||
|
|
||||||
import com.github.springtestdbunit.DbUnitTestExecutionListener;
|
|
||||||
import com.github.springtestdbunit.annotation.DbUnitConfiguration;
|
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
import org.springframework.test.context.TestExecutionListeners;
|
import org.springframework.test.context.TestExecutionListeners;
|
||||||
import org.springframework.test.context.TestPropertySource;
|
|
||||||
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
|
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
|
import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;
|
||||||
import org.springframework.test.context.support.DirtiesContextTestExecutionListener;
|
import org.springframework.test.context.support.DirtiesContextTestExecutionListener;
|
||||||
|
import org.thingsboard.server.common.stats.StatsFactory;
|
||||||
|
import org.thingsboard.server.dao.service.DaoSqlTest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Valerii Sosliuk on 4/22/2017.
|
* Created by Valerii Sosliuk on 4/22/2017.
|
||||||
*/
|
*/
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@ContextConfiguration(classes = {JpaDaoConfig.class, HsqlTsDaoConfig.class, JpaDbunitTestConfig.class})
|
@ContextConfiguration(classes = {JpaDaoConfig.class, PsqlTsDaoConfig.class, PsqlTsLatestDaoConfig.class, SqlTimeseriesDaoConfig.class})
|
||||||
@TestPropertySource("classpath:sql-test.properties")
|
@DaoSqlTest
|
||||||
@TestExecutionListeners({
|
@TestExecutionListeners({
|
||||||
DependencyInjectionTestExecutionListener.class,
|
DependencyInjectionTestExecutionListener.class,
|
||||||
DirtiesContextTestExecutionListener.class,
|
DirtiesContextTestExecutionListener.class})
|
||||||
DbUnitTestExecutionListener.class })
|
|
||||||
@DbUnitConfiguration(databaseConnection = "dbUnitDatabaseConnection")
|
|
||||||
public abstract class AbstractJpaDaoTest extends AbstractTransactionalJUnit4SpringContextTests {
|
public abstract class AbstractJpaDaoTest extends AbstractTransactionalJUnit4SpringContextTests {
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
StatsFactory statsFactory;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,11 @@ import org.junit.runner.RunWith;
|
|||||||
|
|
||||||
@RunWith(ClasspathSuite.class)
|
@RunWith(ClasspathSuite.class)
|
||||||
@ClassnameFilters({
|
@ClassnameFilters({
|
||||||
|
"org.thingsboard.server.dao.sql.tenant.*Test",
|
||||||
|
"org.thingsboard.server.dao.sql.component.*Test",
|
||||||
|
"org.thingsboard.server.dao.sql.customer.*Test",
|
||||||
|
"org.thingsboard.server.dao.sql.dashboard.*Test",
|
||||||
|
"org.thingsboard.server.dao.sql.query.*Test",
|
||||||
"org.thingsboard.server.dao.sql.*THIS_MUST_BE_FIXED_Test",
|
"org.thingsboard.server.dao.sql.*THIS_MUST_BE_FIXED_Test",
|
||||||
})
|
})
|
||||||
public class JpaDaoTestSuite {
|
public class JpaDaoTestSuite {
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import java.sql.SQLException;
|
|||||||
* Created by Valerii Sosliuk on 5/6/2017.
|
* Created by Valerii Sosliuk on 5/6/2017.
|
||||||
*/
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@Deprecated
|
||||||
public class JpaDbunitTestConfig {
|
public class JpaDbunitTestConfig {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@ -259,7 +259,7 @@ public abstract class BaseTenantProfileServiceTest extends AbstractServiceTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private TenantProfile createTenantProfile(String name) {
|
public static TenantProfile createTenantProfile(String name) {
|
||||||
TenantProfile tenantProfile = new TenantProfile();
|
TenantProfile tenantProfile = new TenantProfile();
|
||||||
tenantProfile.setName(name);
|
tenantProfile.setName(name);
|
||||||
tenantProfile.setDescription(name + " Test");
|
tenantProfile.setDescription(name + " Test");
|
||||||
|
|||||||
@ -16,17 +16,23 @@
|
|||||||
package org.thingsboard.server.dao.sql.tenant;
|
package org.thingsboard.server.dao.sql.tenant;
|
||||||
|
|
||||||
import com.datastax.oss.driver.api.core.uuid.Uuids;
|
import com.datastax.oss.driver.api.core.uuid.Uuids;
|
||||||
import com.github.springtestdbunit.annotation.DatabaseSetup;
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.thingsboard.server.common.data.Tenant;
|
import org.thingsboard.server.common.data.Tenant;
|
||||||
|
import org.thingsboard.server.common.data.TenantProfile;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
import org.thingsboard.server.common.data.page.PageLink;
|
||||||
import org.thingsboard.server.dao.AbstractJpaDaoTest;
|
import org.thingsboard.server.dao.AbstractJpaDaoTest;
|
||||||
import org.thingsboard.server.dao.service.AbstractServiceTest;
|
import org.thingsboard.server.dao.service.AbstractServiceTest;
|
||||||
|
import org.thingsboard.server.dao.service.BaseTenantProfileServiceTest;
|
||||||
import org.thingsboard.server.dao.tenant.TenantDao;
|
import org.thingsboard.server.dao.tenant.TenantDao;
|
||||||
|
import org.thingsboard.server.dao.tenant.TenantProfileDao;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
@ -40,8 +46,26 @@ public class JpaTenantDaoTest extends AbstractJpaDaoTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TenantDao tenantDao;
|
private TenantDao tenantDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TenantProfileDao tenantProfileDao;
|
||||||
|
|
||||||
|
List<Tenant> createdTenants = new ArrayList<>();
|
||||||
|
TenantProfile tenantProfile;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
tenantProfile = tenantProfileDao.save(TenantId.SYS_TENANT_ID, BaseTenantProfileServiceTest.createTenantProfile("default tenant profile"));
|
||||||
|
assertThat(tenantProfile).as("tenant profile").isNotNull();
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
createdTenants.forEach((tenant)-> tenantDao.removeById(TenantId.SYS_TENANT_ID, tenant.getUuidId()));
|
||||||
|
tenantProfileDao.removeById(TenantId.SYS_TENANT_ID, tenantProfile.getUuidId());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
//@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
||||||
public void testFindTenantsByRegion() {
|
public void testFindTenantsByRegion() {
|
||||||
createTenants();
|
createTenants();
|
||||||
assertEquals(60, tenantDao.find(AbstractServiceTest.SYSTEM_TENANT_ID).size());
|
assertEquals(60, tenantDao.find(AbstractServiceTest.SYSTEM_TENANT_ID).size());
|
||||||
@ -51,12 +75,12 @@ public class JpaTenantDaoTest extends AbstractJpaDaoTest {
|
|||||||
assertEquals(20, tenants1.getData().size());
|
assertEquals(20, tenants1.getData().size());
|
||||||
|
|
||||||
pageLink = pageLink.nextPageLink();
|
pageLink = pageLink.nextPageLink();
|
||||||
PageData<Tenant> tenants2 = tenantDao.findTenantsByRegion(AbstractServiceTest.SYSTEM_TENANT_ID,"REGION_1",
|
PageData<Tenant> tenants2 = tenantDao.findTenantsByRegion(AbstractServiceTest.SYSTEM_TENANT_ID, "REGION_1",
|
||||||
pageLink);
|
pageLink);
|
||||||
assertEquals(10, tenants2.getData().size());
|
assertEquals(10, tenants2.getData().size());
|
||||||
|
|
||||||
pageLink = pageLink.nextPageLink();
|
pageLink = pageLink.nextPageLink();
|
||||||
PageData<Tenant> tenants3 = tenantDao.findTenantsByRegion(AbstractServiceTest.SYSTEM_TENANT_ID,"REGION_1",
|
PageData<Tenant> tenants3 = tenantDao.findTenantsByRegion(AbstractServiceTest.SYSTEM_TENANT_ID, "REGION_1",
|
||||||
pageLink);
|
pageLink);
|
||||||
assertEquals(0, tenants3.getData().size());
|
assertEquals(0, tenants3.getData().size());
|
||||||
}
|
}
|
||||||
@ -68,16 +92,17 @@ public class JpaTenantDaoTest extends AbstractJpaDaoTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createTenant(String region, String title, int index) {
|
void createTenant(String region, String title, int index) {
|
||||||
Tenant tenant = new Tenant();
|
Tenant tenant = new Tenant();
|
||||||
tenant.setId(new TenantId(Uuids.timeBased()));
|
tenant.setId(new TenantId(Uuids.timeBased()));
|
||||||
tenant.setRegion(region);
|
tenant.setRegion(region);
|
||||||
tenant.setTitle(title + "_" + index);
|
tenant.setTitle(title + "_" + index);
|
||||||
tenantDao.save(AbstractServiceTest.SYSTEM_TENANT_ID, tenant);
|
tenant.setTenantProfileId(tenantProfile.getId());
|
||||||
|
createdTenants.add(tenantDao.save(TenantId.SYS_TENANT_ID, tenant));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
//@DatabaseSetup("classpath:dbunit/empty_dataset.xml")
|
||||||
public void testIsExistsTenantById() {
|
public void testIsExistsTenantById() {
|
||||||
final UUID uuid = Uuids.timeBased();
|
final UUID uuid = Uuids.timeBased();
|
||||||
final TenantId tenantId = new TenantId(uuid);
|
final TenantId tenantId = new TenantId(uuid);
|
||||||
@ -86,9 +111,12 @@ public class JpaTenantDaoTest extends AbstractJpaDaoTest {
|
|||||||
final Tenant tenant = new Tenant();
|
final Tenant tenant = new Tenant();
|
||||||
tenant.setId(tenantId);
|
tenant.setId(tenantId);
|
||||||
tenant.setTitle("Tenant " + uuid);
|
tenant.setTitle("Tenant " + uuid);
|
||||||
tenantDao.save(AbstractServiceTest.SYSTEM_TENANT_ID, tenant);
|
tenant.setTenantProfileId(tenantProfile.getId());
|
||||||
|
|
||||||
|
createdTenants.add(tenantDao.save(TenantId.SYS_TENANT_ID, tenant));
|
||||||
|
|
||||||
assertThat(tenantDao.existsById(tenantId, uuid)).as("Is tenant exists after save").isTrue();
|
assertThat(tenantDao.existsById(tenantId, uuid)).as("Is tenant exists after save").isTrue();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user