|
|
@ -20,6 +20,7 @@ import com.github.springtestdbunit.annotation.DatabaseSetup; |
|
|
import org.junit.Ignore; |
|
|
import org.junit.Ignore; |
|
|
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.id.TenantId; |
|
|
import org.thingsboard.server.common.data.id.WidgetsBundleId; |
|
|
import org.thingsboard.server.common.data.id.WidgetsBundleId; |
|
|
import org.thingsboard.server.common.data.page.TextPageLink; |
|
|
import org.thingsboard.server.common.data.page.TextPageLink; |
|
|
import org.thingsboard.server.common.data.widget.WidgetsBundle; |
|
|
import org.thingsboard.server.common.data.widget.WidgetsBundle; |
|
|
@ -56,27 +57,108 @@ public class JpaWidgetsBundleDaoTest extends AbstractJpaDaoTest { |
|
|
@Test |
|
|
@Test |
|
|
@DatabaseSetup("classpath:dbunit/empty_dataset.xml") |
|
|
@DatabaseSetup("classpath:dbunit/empty_dataset.xml") |
|
|
public void testFindSystemWidgetsBundles() { |
|
|
public void testFindSystemWidgetsBundles() { |
|
|
for (int i = 0; i < 30; i++) { |
|
|
createSystemWidgetBundles(30, "WB_"); |
|
|
WidgetsBundle widgetsBundle = new WidgetsBundle(); |
|
|
|
|
|
widgetsBundle.setAlias("WB" + i); |
|
|
|
|
|
widgetsBundle.setTitle("WB" + i); |
|
|
|
|
|
widgetsBundle.setId(new WidgetsBundleId(UUIDs.timeBased())); |
|
|
|
|
|
widgetsBundleDao.save(widgetsBundle); |
|
|
|
|
|
} |
|
|
|
|
|
assertEquals(30, widgetsBundleDao.find().size()); |
|
|
assertEquals(30, widgetsBundleDao.find().size()); |
|
|
// Get first page
|
|
|
// Get first page
|
|
|
TextPageLink textPageLink1 = new TextPageLink(10, "WB"); |
|
|
TextPageLink textPageLink1 = new TextPageLink(10, "WB"); |
|
|
List<WidgetsBundle> widgetsBundles1 = widgetsBundleDao.findSystemWidgetsBundles(textPageLink1); |
|
|
List<WidgetsBundle> widgetsBundles1 = widgetsBundleDao.findSystemWidgetsBundles(textPageLink1); |
|
|
assertEquals(10, widgetsBundles1.size()); |
|
|
assertEquals(10, widgetsBundles1.size()); |
|
|
for (WidgetsBundle widgetsBundle : widgetsBundles1) { |
|
|
// Get next page
|
|
|
System.out.println(widgetsBundle.getSearchText()); |
|
|
|
|
|
} |
|
|
|
|
|
TextPageLink textPageLink2 = new TextPageLink(10, "WB", widgetsBundles1.get(9).getId().getId(), null); |
|
|
TextPageLink textPageLink2 = new TextPageLink(10, "WB", widgetsBundles1.get(9).getId().getId(), null); |
|
|
List<WidgetsBundle> widgetsBundles2 = widgetsBundleDao.findSystemWidgetsBundles(textPageLink2); |
|
|
List<WidgetsBundle> widgetsBundles2 = widgetsBundleDao.findSystemWidgetsBundles(textPageLink2); |
|
|
assertEquals(10, widgetsBundles1.size()); |
|
|
assertEquals(10, widgetsBundles2.size()); |
|
|
for (WidgetsBundle widgetsBundle : widgetsBundles2) { |
|
|
} |
|
|
System.out.println(widgetsBundle.getSearchText()); |
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
@DatabaseSetup("classpath:dbunit/empty_dataset.xml") |
|
|
|
|
|
public void testFindWidgetsBundlesByTenantId() { |
|
|
|
|
|
UUID tenantId1 = UUIDs.timeBased(); |
|
|
|
|
|
UUID tenantId2 = UUIDs.timeBased(); |
|
|
|
|
|
// Create a bunch of widgetBundles
|
|
|
|
|
|
for (int i= 0; i < 10; i++) { |
|
|
|
|
|
createWidgetBundles(3, tenantId1, "WB1_"); |
|
|
|
|
|
createWidgetBundles(5, tenantId2, "WB2_"); |
|
|
|
|
|
createSystemWidgetBundles(10, "WB_SYS_"); |
|
|
} |
|
|
} |
|
|
|
|
|
assertEquals(180, widgetsBundleDao.find().size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink1 = new TextPageLink(40, "WB"); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles1 = widgetsBundleDao.findTenantWidgetsBundlesByTenantId(tenantId1, textPageLink1); |
|
|
|
|
|
assertEquals(30, widgetsBundles1.size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink2 = new TextPageLink(40, "WB"); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles2 = widgetsBundleDao.findTenantWidgetsBundlesByTenantId(tenantId2, textPageLink2); |
|
|
|
|
|
assertEquals(40, widgetsBundles2.size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink3 = new TextPageLink(40, "WB", |
|
|
|
|
|
widgetsBundles2.get(39).getId().getId(), null); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles3 = widgetsBundleDao.findTenantWidgetsBundlesByTenantId(tenantId2, textPageLink3); |
|
|
|
|
|
assertEquals(10, widgetsBundles3.size()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
@DatabaseSetup("classpath:dbunit/empty_dataset.xml") |
|
|
|
|
|
public void testFindAllWidgetsBundlesByTenantId() { |
|
|
|
|
|
UUID tenantId1 = UUIDs.timeBased(); |
|
|
|
|
|
UUID tenantId2 = UUIDs.timeBased(); |
|
|
|
|
|
// Create a bunch of widgetBundles
|
|
|
|
|
|
for (int i= 0; i < 10; i++) { |
|
|
|
|
|
createWidgetBundles( 5, tenantId1,"WB1_"); |
|
|
|
|
|
createWidgetBundles(3, tenantId2, "WB2_"); |
|
|
|
|
|
createSystemWidgetBundles(2, "WB_SYS_"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink1 = new TextPageLink(30, "WB"); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles1 = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId1, textPageLink1); |
|
|
|
|
|
assertEquals(30, widgetsBundles1.size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink2 = new TextPageLink(30, "WB", |
|
|
|
|
|
widgetsBundles1.get(29).getId().getId(), null); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles2 = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId1, textPageLink2); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals(30, widgetsBundles2.size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink3 = new TextPageLink(30, "WB", |
|
|
|
|
|
widgetsBundles2.get(29).getId().getId(), null); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles3 = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId1, textPageLink3); |
|
|
|
|
|
assertEquals(10, widgetsBundles3.size()); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink4 = new TextPageLink(30, "WB", |
|
|
|
|
|
widgetsBundles3.get(9).getId().getId(), null); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles4 = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId1, textPageLink4); |
|
|
|
|
|
assertEquals(0, widgetsBundles4.size()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
@DatabaseSetup("classpath:dbunit/empty_dataset.xml") |
|
|
|
|
|
public void testNonSearchTextNotFound() { |
|
|
|
|
|
UUID tenantId = UUIDs.timeBased(); |
|
|
|
|
|
createWidgetBundles(5, tenantId, "ABC_"); |
|
|
|
|
|
createSystemWidgetBundles(5, "SYS_"); |
|
|
|
|
|
|
|
|
|
|
|
TextPageLink textPageLink = new TextPageLink(30, "WB"); |
|
|
|
|
|
List<WidgetsBundle> widgetsBundles4 = widgetsBundleDao.findAllTenantWidgetsBundlesByTenantId(tenantId, textPageLink); |
|
|
|
|
|
assertEquals(0, widgetsBundles4.size()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void createWidgetBundles(int count, UUID tenantId, String prefix) { |
|
|
|
|
|
for (int i = 0; i < count; i++) { |
|
|
|
|
|
WidgetsBundle widgetsBundle = new WidgetsBundle(); |
|
|
|
|
|
widgetsBundle.setAlias(prefix + i); |
|
|
|
|
|
widgetsBundle.setTitle(prefix + i); |
|
|
|
|
|
widgetsBundle.setId(new WidgetsBundleId(UUIDs.timeBased())); |
|
|
|
|
|
widgetsBundle.setTenantId(new TenantId(tenantId)); |
|
|
|
|
|
widgetsBundleDao.save(widgetsBundle); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
private void createSystemWidgetBundles(int count, String prefix) { |
|
|
|
|
|
for (int i = 0; i < count; i++) { |
|
|
|
|
|
WidgetsBundle widgetsBundle = new WidgetsBundle(); |
|
|
|
|
|
widgetsBundle.setAlias(prefix + i); |
|
|
|
|
|
widgetsBundle.setTitle(prefix + i); |
|
|
|
|
|
widgetsBundle.setId(new WidgetsBundleId(UUIDs.timeBased())); |
|
|
|
|
|
widgetsBundleDao.save(widgetsBundle); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|