diff --git a/.mvn/jvm.config b/.mvn/jvm.config deleted file mode 100644 index 4dd7491565..0000000000 --- a/.mvn/jvm.config +++ /dev/null @@ -1 +0,0 @@ --Xmx4096m -Xms1024m \ No newline at end of file diff --git a/application/pom.xml b/application/pom.xml index abd3615c95..5c4146b262 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -250,8 +250,8 @@ test - ru.yandex.qatools.embed - postgresql-embedded + org.hsqldb + hsqldb test diff --git a/application/src/main/resources/thingsboard.yml b/application/src/main/resources/thingsboard.yml index 456f8602de..5d5dac1717 100644 --- a/application/src/main/resources/thingsboard.yml +++ b/application/src/main/resources/thingsboard.yml @@ -106,7 +106,7 @@ coap: timeout: "${COAP_TIMEOUT:10000}" database: - type: "${DATABASE_TYPE:cassandra}" # cassandra OR postgres + type: "${DATABASE_TYPE:cassandra}" # cassandra OR sql # Cassandra driver configuration parameters cassandra: @@ -233,7 +233,6 @@ spring: enabled: "true" jpa: show-sql: "false" - generate-ddl: "true" database-platform: "org.hibernate.dialect.PostgreSQLDialect" hibernate: ddl-auto: "validate" diff --git a/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java index 052b61ac6b..8be6105e35 100644 --- a/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/AbstractControllerTest.java @@ -80,7 +80,6 @@ import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppC @ActiveProfiles("test") @RunWith(SpringRunner.class) @ContextConfiguration(classes = AbstractControllerTest.class, loader = SpringBootContextLoader.class) -@TestPropertySource(locations = {"classpath:cassandra-test.properties", "classpath:application-test.properties", "classpath:nosql-test.properties"}) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) @Configuration @ComponentScan({"org.thingsboard.server"}) diff --git a/application/src/test/java/org/thingsboard/server/controller/AdminControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseAdminControllerTest.java similarity index 98% rename from application/src/test/java/org/thingsboard/server/controller/AdminControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseAdminControllerTest.java index 8f6bef66a7..5047c36189 100644 --- a/application/src/test/java/org/thingsboard/server/controller/AdminControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseAdminControllerTest.java @@ -29,7 +29,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -public class AdminControllerTest extends AbstractControllerTest { +public abstract class BaseAdminControllerTest extends AbstractControllerTest { @Test public void testFindAdminSettingsByKey() throws Exception { diff --git a/application/src/test/java/org/thingsboard/server/controller/AssetControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseAssetControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/AssetControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseAssetControllerTest.java index d15023b91f..1350aaed4a 100644 --- a/application/src/test/java/org/thingsboard/server/controller/AssetControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseAssetControllerTest.java @@ -40,7 +40,7 @@ import org.junit.Test; import com.datastax.driver.core.utils.UUIDs; import com.fasterxml.jackson.core.type.TypeReference; -public class AssetControllerTest extends AbstractControllerTest { +public abstract class BaseAssetControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/AuthControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseAuthControllerTest.java similarity index 97% rename from application/src/test/java/org/thingsboard/server/controller/AuthControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseAuthControllerTest.java index fad9e54039..ba7f90dc64 100644 --- a/application/src/test/java/org/thingsboard/server/controller/AuthControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseAuthControllerTest.java @@ -22,7 +22,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import org.thingsboard.server.common.data.security.Authority; import org.junit.Test; -public class AuthControllerTest extends AbstractControllerTest { +public abstract class BaseAuthControllerTest extends AbstractControllerTest { @Test public void testGetUser() throws Exception { diff --git a/application/src/test/java/org/thingsboard/server/controller/ComponentDescriptorControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseComponentDescriptorControllerTest.java similarity index 97% rename from application/src/test/java/org/thingsboard/server/controller/ComponentDescriptorControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseComponentDescriptorControllerTest.java index 0cf7c1f446..175c1387f1 100644 --- a/application/src/test/java/org/thingsboard/server/controller/ComponentDescriptorControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseComponentDescriptorControllerTest.java @@ -33,7 +33,7 @@ import java.util.List; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -public class ComponentDescriptorControllerTest extends AbstractControllerTest { +public abstract class BaseComponentDescriptorControllerTest extends AbstractControllerTest { private static final int AMOUNT_OF_DEFAULT_PLUGINS_DESCRIPTORS = 5; private Tenant savedTenant; diff --git a/application/src/test/java/org/thingsboard/server/controller/CustomerControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseCustomerControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/CustomerControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseCustomerControllerTest.java index b1076e0413..f4ed22898e 100644 --- a/application/src/test/java/org/thingsboard/server/controller/CustomerControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseCustomerControllerTest.java @@ -35,7 +35,7 @@ import org.junit.Test; import com.fasterxml.jackson.core.type.TypeReference; -public class CustomerControllerTest extends AbstractControllerTest { +public abstract class BaseCustomerControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/DashboardControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseDashboardControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/DashboardControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseDashboardControllerTest.java index dda68a64ef..bb064116f1 100644 --- a/application/src/test/java/org/thingsboard/server/controller/DashboardControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseDashboardControllerTest.java @@ -38,7 +38,7 @@ import org.junit.Test; import com.fasterxml.jackson.core.type.TypeReference; -public class DashboardControllerTest extends AbstractControllerTest { +public abstract class BaseDashboardControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/DeviceControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseDeviceControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/DeviceControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseDeviceControllerTest.java index ad2993d6fe..3713fc45a1 100644 --- a/application/src/test/java/org/thingsboard/server/controller/DeviceControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseDeviceControllerTest.java @@ -42,7 +42,7 @@ import org.junit.Test; import com.fasterxml.jackson.core.type.TypeReference; -public class DeviceControllerTest extends AbstractControllerTest { +public abstract class BaseDeviceControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/PluginControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BasePluginControllerTest.java similarity index 97% rename from application/src/test/java/org/thingsboard/server/controller/PluginControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BasePluginControllerTest.java index 65f9840cb9..6933c5eb13 100644 --- a/application/src/test/java/org/thingsboard/server/controller/PluginControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BasePluginControllerTest.java @@ -37,7 +37,7 @@ import java.util.stream.Collectors; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -public class PluginControllerTest extends AbstractControllerTest { +public abstract class BasePluginControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); @@ -130,7 +130,7 @@ public class PluginControllerTest extends AbstractControllerTest { doPost("/api/plugin/" + savedPlugin.getId().getId().toString() + "/activate").andExpect(status().isOk()); - RuleMetaData rule = RuleControllerTest.createRuleMetaData(savedPlugin); + RuleMetaData rule = BaseRuleControllerTest.createRuleMetaData(savedPlugin); RuleMetaData savedRule = doPost("/api/rule", rule, RuleMetaData.class); doPost("/api/rule/" + savedRule.getId().getId().toString() + "/activate").andExpect(status().isOk()); @@ -151,7 +151,7 @@ public class PluginControllerTest extends AbstractControllerTest { PluginMetaData savedPlugin = doPost("/api/plugin", plugin, PluginMetaData.class); - RuleMetaData rule = RuleControllerTest.createRuleMetaData(savedPlugin); + RuleMetaData rule = BaseRuleControllerTest.createRuleMetaData(savedPlugin); RuleMetaData savedRule = doPost("/api/rule", rule, RuleMetaData.class); doDelete("/api/plugin/" + savedPlugin.getId().getId()).andExpect(status().isBadRequest()); diff --git a/application/src/test/java/org/thingsboard/server/controller/RuleControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseRuleControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/RuleControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseRuleControllerTest.java index 8a52216e99..bb4cc4994a 100644 --- a/application/src/test/java/org/thingsboard/server/controller/RuleControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseRuleControllerTest.java @@ -38,7 +38,7 @@ import java.util.stream.Collectors; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -public class RuleControllerTest extends AbstractControllerTest { +public abstract class BaseRuleControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseTenantControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseTenantControllerTest.java index dc4a4228f3..770e02f9b1 100644 --- a/application/src/test/java/org/thingsboard/server/controller/TenantControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseTenantControllerTest.java @@ -31,7 +31,7 @@ import org.junit.Test; import com.fasterxml.jackson.core.type.TypeReference; -public class TenantControllerTest extends AbstractControllerTest { +public abstract class BaseTenantControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); @@ -107,7 +107,7 @@ public class TenantControllerTest extends AbstractControllerTest { Assert.assertFalse(pageData.hasNext()); Assert.assertEquals(1, pageData.getData().size()); tenants.addAll(pageData.getData()); - + for (int i=0;i<56;i++) { Tenant tenant = new Tenant(); tenant.setTitle("Tenant"+i); diff --git a/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseUserControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseUserControllerTest.java index d57871bba9..8dac038772 100644 --- a/application/src/test/java/org/thingsboard/server/controller/UserControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseUserControllerTest.java @@ -39,7 +39,7 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -public class UserControllerTest extends AbstractControllerTest { +public abstract class BaseUserControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/WidgetTypeControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseWidgetTypeControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/WidgetTypeControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseWidgetTypeControllerTest.java index fbeaa8f826..08720e2dce 100644 --- a/application/src/test/java/org/thingsboard/server/controller/WidgetTypeControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseWidgetTypeControllerTest.java @@ -35,7 +35,7 @@ import java.util.List; import static org.hamcrest.Matchers.containsString; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -public class WidgetTypeControllerTest extends AbstractControllerTest { +public abstract class BaseWidgetTypeControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/WidgetsBundleControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/BaseWidgetsBundleControllerTest.java similarity index 99% rename from application/src/test/java/org/thingsboard/server/controller/WidgetsBundleControllerTest.java rename to application/src/test/java/org/thingsboard/server/controller/BaseWidgetsBundleControllerTest.java index f8e89db52f..5a9a2bf114 100644 --- a/application/src/test/java/org/thingsboard/server/controller/WidgetsBundleControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/BaseWidgetsBundleControllerTest.java @@ -34,7 +34,7 @@ import java.util.List; import static org.hamcrest.Matchers.containsString; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -public class WidgetsBundleControllerTest extends AbstractControllerTest { +public abstract class BaseWidgetsBundleControllerTest extends AbstractControllerTest { private IdComparator idComparator = new IdComparator<>(); diff --git a/application/src/test/java/org/thingsboard/server/controller/ControllerTestSuite.java b/application/src/test/java/org/thingsboard/server/controller/ControllerNoSqlTestSuite.java similarity index 93% rename from application/src/test/java/org/thingsboard/server/controller/ControllerTestSuite.java rename to application/src/test/java/org/thingsboard/server/controller/ControllerNoSqlTestSuite.java index 84e9ecdb33..b773eab87c 100644 --- a/application/src/test/java/org/thingsboard/server/controller/ControllerTestSuite.java +++ b/application/src/test/java/org/thingsboard/server/controller/ControllerNoSqlTestSuite.java @@ -25,8 +25,8 @@ import java.util.Arrays; @RunWith(ClasspathSuite.class) @ClasspathSuite.ClassnameFilters({ - "org.thingsboard.server.controller.*Test"}) -public class ControllerTestSuite { + "org.thingsboard.server.controller.nosql.*Test"}) +public class ControllerNoSqlTestSuite { @ClassRule public static CustomCassandraCQLUnit cassandraUnit = diff --git a/application/src/test/java/org/thingsboard/server/controller/ControllerSqlTestSuite.java b/application/src/test/java/org/thingsboard/server/controller/ControllerSqlTestSuite.java new file mode 100644 index 0000000000..b9692272aa --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/ControllerSqlTestSuite.java @@ -0,0 +1,36 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller; + +import org.junit.ClassRule; +import org.junit.extensions.cpsuite.ClasspathSuite; +import org.junit.runner.RunWith; +import org.thingsboard.server.dao.CustomSqlUnit; + +import java.util.Arrays; + +@RunWith(ClasspathSuite.class) +@ClasspathSuite.ClassnameFilters({ + "org.thingsboard.server.controller.sql.*SqlTest", + }) +public class ControllerSqlTestSuite { + + @ClassRule + public static CustomSqlUnit sqlUnit = new CustomSqlUnit( + Arrays.asList("sql/schema.sql", "sql/system-data.sql"), + "sql/drop-all-tables.sql", + "sql-test.properties"); +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/AdminControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/AdminControllerNoSqlTest.java new file mode 100644 index 0000000000..6ec28e7ccd --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/AdminControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseAdminControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class AdminControllerNoSqlTest extends BaseAdminControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/AssetControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/AssetControllerNoSqlTest.java new file mode 100644 index 0000000000..a4bd152f07 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/AssetControllerNoSqlTest.java @@ -0,0 +1,27 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseAssetControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; +import org.thingsboard.server.dao.util.NoSqlDao; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class AssetControllerNoSqlTest extends BaseAssetControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/AuthControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/AuthControllerNoSqlTest.java new file mode 100644 index 0000000000..4896d22aad --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/AuthControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseAuthControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class AuthControllerNoSqlTest extends BaseAuthControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/ComponentDescriptorControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/ComponentDescriptorControllerNoSqlTest.java new file mode 100644 index 0000000000..f3aa3e8d95 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/ComponentDescriptorControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseComponentDescriptorControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class ComponentDescriptorControllerNoSqlTest extends BaseComponentDescriptorControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/CustomerControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/CustomerControllerNoSqlTest.java new file mode 100644 index 0000000000..2fa306797d --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/CustomerControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseCustomerControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class CustomerControllerNoSqlTest extends BaseCustomerControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/DashboardControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/DashboardControllerNoSqlTest.java new file mode 100644 index 0000000000..2a7af40c03 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/DashboardControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseDashboardControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class DashboardControllerNoSqlTest extends BaseDashboardControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/DeviceControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/DeviceControllerNoSqlTest.java new file mode 100644 index 0000000000..47f1c9e376 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/DeviceControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseDeviceControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class DeviceControllerNoSqlTest extends BaseDeviceControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/PluginControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/PluginControllerNoSqlTest.java new file mode 100644 index 0000000000..c25eca170d --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/PluginControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BasePluginControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class PluginControllerNoSqlTest extends BasePluginControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/RuleControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/RuleControllerNoSqlTest.java new file mode 100644 index 0000000000..3bf64fbe54 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/RuleControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseRuleControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class RuleControllerNoSqlTest extends BaseRuleControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/TenantControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/TenantControllerNoSqlTest.java new file mode 100644 index 0000000000..7cb34d3117 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/TenantControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseTenantControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class TenantControllerNoSqlTest extends BaseTenantControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/UserControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/UserControllerNoSqlTest.java new file mode 100644 index 0000000000..6540347f52 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/UserControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseUserControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class UserControllerNoSqlTest extends BaseUserControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetTypeControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetTypeControllerNoSqlTest.java new file mode 100644 index 0000000000..852f453af1 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetTypeControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseWidgetTypeControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class WidgetTypeControllerNoSqlTest extends BaseWidgetTypeControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetsBundleControllerNoSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetsBundleControllerNoSqlTest.java new file mode 100644 index 0000000000..02b4c07639 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/nosql/WidgetsBundleControllerNoSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.nosql; + +import org.thingsboard.server.controller.BaseWidgetsBundleControllerTest; +import org.thingsboard.server.dao.service.DaoNoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoNoSqlTest +public class WidgetsBundleControllerNoSqlTest extends BaseWidgetsBundleControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/AdminControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/AdminControllerSqlTest.java new file mode 100644 index 0000000000..2491c32a1b --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/AdminControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseAdminControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class AdminControllerSqlTest extends BaseAdminControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/AssetControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/AssetControllerSqlTest.java new file mode 100644 index 0000000000..519cc382f2 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/AssetControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseAssetControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class AssetControllerSqlTest extends BaseAssetControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/AuthControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/AuthControllerSqlTest.java new file mode 100644 index 0000000000..cb2b1f0346 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/AuthControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseAuthControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class AuthControllerSqlTest extends BaseAuthControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/ComponentDescriptorControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/ComponentDescriptorControllerSqlTest.java new file mode 100644 index 0000000000..d96b3dd764 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/ComponentDescriptorControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseComponentDescriptorControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class ComponentDescriptorControllerSqlTest extends BaseComponentDescriptorControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/CustomerControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/CustomerControllerSqlTest.java new file mode 100644 index 0000000000..8d3ba4906a --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/CustomerControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseCustomerControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class CustomerControllerSqlTest extends BaseCustomerControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/DashboardControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/DashboardControllerSqlTest.java new file mode 100644 index 0000000000..7ce48c747f --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/DashboardControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseDashboardControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class DashboardControllerSqlTest extends BaseDashboardControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/DeviceControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/DeviceControllerSqlTest.java new file mode 100644 index 0000000000..8505e642d3 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/DeviceControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseDeviceControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class DeviceControllerSqlTest extends BaseDeviceControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/PluginControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/PluginControllerSqlTest.java new file mode 100644 index 0000000000..3d750c596c --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/PluginControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BasePluginControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class PluginControllerSqlTest extends BasePluginControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/RuleControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/RuleControllerSqlTest.java new file mode 100644 index 0000000000..d70d55042e --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/RuleControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseRuleControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class RuleControllerSqlTest extends BaseRuleControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/TenantControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/TenantControllerSqlTest.java new file mode 100644 index 0000000000..582dc610fd --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/TenantControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseTenantControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class TenantControllerSqlTest extends BaseTenantControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/UserControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/UserControllerSqlTest.java new file mode 100644 index 0000000000..9b7fc3bee7 --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/UserControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseUserControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class UserControllerSqlTest extends BaseUserControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/WidgetTypeControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/WidgetTypeControllerSqlTest.java new file mode 100644 index 0000000000..db0cd3ac0b --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/WidgetTypeControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseWidgetTypeControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class WidgetTypeControllerSqlTest extends BaseWidgetTypeControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/controller/sql/WidgetsBundleControllerSqlTest.java b/application/src/test/java/org/thingsboard/server/controller/sql/WidgetsBundleControllerSqlTest.java new file mode 100644 index 0000000000..7e2e48137d --- /dev/null +++ b/application/src/test/java/org/thingsboard/server/controller/sql/WidgetsBundleControllerSqlTest.java @@ -0,0 +1,26 @@ +/** + * Copyright © 2016-2017 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.controller.sql; + +import org.thingsboard.server.controller.BaseWidgetsBundleControllerTest; +import org.thingsboard.server.dao.service.DaoSqlTest; + +/** + * Created by Valerii Sosliuk on 6/28/2017. + */ +@DaoSqlTest +public class WidgetsBundleControllerSqlTest extends BaseWidgetsBundleControllerTest { +} diff --git a/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java b/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java index 726b2052aa..21667a77ec 100644 --- a/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java +++ b/application/src/test/java/org/thingsboard/server/system/SystemSqlTestSuite.java @@ -18,7 +18,7 @@ package org.thingsboard.server.system; import org.junit.ClassRule; import org.junit.extensions.cpsuite.ClasspathSuite; import org.junit.runner.RunWith; -import org.thingsboard.server.dao.CustomPostgresUnit; +import org.thingsboard.server.dao.CustomSqlUnit; import java.util.Arrays; @@ -30,9 +30,10 @@ import java.util.Arrays; public class SystemSqlTestSuite { @ClassRule - public static CustomPostgresUnit postgresUnit = new CustomPostgresUnit( - Arrays.asList("postgres/schema.sql", "postgres/system-data.sql"), - "postgres-embedded-test.properties"); + public static CustomSqlUnit sqlUnit = new CustomSqlUnit( + Arrays.asList("sql/schema.sql", "sql/system-data.sql"), + "sql/drop-all-tables.sql", + "sql-test.properties"); } diff --git a/application/src/test/java/org/thingsboard/server/system/sql/DeviceApiSqlTest.java b/application/src/test/java/org/thingsboard/server/system/sql/DeviceApiSqlTest.java index bf533132c7..23430874df 100644 --- a/application/src/test/java/org/thingsboard/server/system/sql/DeviceApiSqlTest.java +++ b/application/src/test/java/org/thingsboard/server/system/sql/DeviceApiSqlTest.java @@ -22,5 +22,5 @@ import org.thingsboard.server.system.BaseHttpDeviceApiTest; * Created by Valerii Sosliuk on 6/27/2017. */ @DaoSqlTest -public class DeviceApiSqlTest extends BaseHttpDeviceApiTest{ +public class DeviceApiSqlTest extends BaseHttpDeviceApiTest { } diff --git a/dao/pom.xml b/dao/pom.xml index 2bb77511bb..ff4237c1da 100644 --- a/dao/pom.xml +++ b/dao/pom.xml @@ -170,8 +170,8 @@ test - ru.yandex.qatools.embed - postgresql-embedded + org.hsqldb + hsqldb test diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java index 8abab4a135..2fd6c97689 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java @@ -45,7 +45,7 @@ public abstract class JpaAbstractDao, D> protected void setSearchText(E entity) {} @Override - @Transactional(propagation = REQUIRES_NEW) + @Transactional public D save(D domain) { E entity; try { @@ -64,7 +64,6 @@ public abstract class JpaAbstractDao, D> } @Override - @Transactional(propagation = REQUIRES_NEW) public D findById(UUID key) { log.debug("Get entity by key {}", key); E entity = getCrudRepository().findOne(key); @@ -78,7 +77,7 @@ public abstract class JpaAbstractDao, D> } @Override - @Transactional(propagation = REQUIRES_NEW) + @Transactional public boolean removeById(UUID key) { getCrudRepository().delete(key); log.debug("Remove request: {}", key); diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/alarm/JpaAlarmDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/alarm/JpaAlarmDao.java index 5f902bfa6c..79779e8e1e 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/alarm/JpaAlarmDao.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/alarm/JpaAlarmDao.java @@ -73,7 +73,6 @@ public class JpaAlarmDao extends JpaAbstractDao implements A } @Override - @Transactional(propagation = REQUIRES_NEW) public ListenableFuture findLatestByOriginatorAndType(TenantId tenantId, EntityId originator, String type) { return service.submit(() -> { List latest = alarmRepository.findLatestByOriginatorAndType( diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceRepository.java index 56eb5e8b8b..feae4a6b24 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceRepository.java @@ -80,7 +80,5 @@ public interface DeviceRepository extends CrudRepository { List findDevicesByTenantIdAndCustomerIdAndIdIn(UUID tenantId, UUID customerId, List deviceIds); - List findDevicesByTenantId(UUID tenantId); - List findDevicesByTenantIdAndIdIn(UUID tenantId, List deviceIds); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java index e6a5c79c25..1c4122b361 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/JpaRelationDao.java @@ -30,12 +30,12 @@ import org.thingsboard.server.common.data.page.TimePageLink; import org.thingsboard.server.common.data.relation.EntityRelation; import org.thingsboard.server.common.data.relation.RelationTypeGroup; import org.thingsboard.server.dao.DaoUtil; -import org.thingsboard.server.dao.util.SqlDao; import org.thingsboard.server.dao.model.sql.RelationCompositeKey; import org.thingsboard.server.dao.model.sql.RelationEntity; import org.thingsboard.server.dao.relation.RelationDao; import org.thingsboard.server.dao.sql.JpaAbstractDaoListeningExecutorService; import org.thingsboard.server.dao.sql.JpaAbstractSearchTimeDao; +import org.thingsboard.server.dao.util.SqlDao; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java index 6abbbbd610..2c2e63687e 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/relation/RelationRepository.java @@ -17,11 +17,11 @@ package org.thingsboard.server.dao.sql.relation; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.repository.CrudRepository; -import org.thingsboard.server.dao.util.SqlDao; +import org.springframework.transaction.annotation.Transactional; import org.thingsboard.server.dao.model.sql.RelationCompositeKey; import org.thingsboard.server.dao.model.sql.RelationEntity; +import org.thingsboard.server.dao.util.SqlDao; -import javax.transaction.Transactional; import java.util.List; import java.util.UUID; @@ -51,5 +51,5 @@ public interface RelationRepository String fromType); @Transactional - List deleteByFromIdAndFromType(UUID fromId, String fromType); + void deleteByFromIdAndFromType(UUID fromId, String fromType); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java b/dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java index 88a107b3eb..1ebc271706 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java +++ b/dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java @@ -17,6 +17,6 @@ package org.thingsboard.server.dao.util; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -@ConditionalOnProperty(prefix = "database", value = "type", havingValue = "postgres") +@ConditionalOnProperty(prefix = "database", value = "type", havingValue = "sql") public @interface SqlDao { } diff --git a/dao/src/main/resources/postgres/demo-data.sql b/dao/src/main/resources/sql/demo-data.sql similarity index 100% rename from dao/src/main/resources/postgres/demo-data.sql rename to dao/src/main/resources/sql/demo-data.sql diff --git a/dao/src/main/resources/postgres/schema.sql b/dao/src/main/resources/sql/schema.sql similarity index 93% rename from dao/src/main/resources/postgres/schema.sql rename to dao/src/main/resources/sql/schema.sql index 038f25adaf..9e1143f6eb 100644 --- a/dao/src/main/resources/postgres/schema.sql +++ b/dao/src/main/resources/sql/schema.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS admin_settings ( id uuid NOT NULL CONSTRAINT admin_settings_pkey PRIMARY KEY, - json_value text, + json_value varchar, key character varying(255) ); @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS alarm ( id uuid NOT NULL CONSTRAINT alarm_pkey PRIMARY KEY, ack_ts bigint, clear_ts bigint, - additional_info text, + additional_info varchar, end_ts bigint, originator_id uuid, originator_type integer, @@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS alarm ( CREATE TABLE IF NOT EXISTS asset ( id uuid NOT NULL CONSTRAINT asset_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, customer_id uuid, name character varying(255), search_text character varying(255), @@ -64,7 +64,7 @@ CREATE TABLE IF NOT EXISTS component_descriptor ( id uuid NOT NULL CONSTRAINT component_descriptor_pkey PRIMARY KEY, actions character varying(255), clazz character varying(255), - configuration_descriptor text, + configuration_descriptor varchar, name character varying(255), scope character varying(255), search_text character varying(255), @@ -73,7 +73,7 @@ CREATE TABLE IF NOT EXISTS component_descriptor ( CREATE TABLE IF NOT EXISTS customer ( id uuid NOT NULL CONSTRAINT customer_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, address character varying(255), address2 character varying(255), city character varying(255), @@ -89,7 +89,7 @@ CREATE TABLE IF NOT EXISTS customer ( CREATE TABLE IF NOT EXISTS dashboard ( id uuid NOT NULL CONSTRAINT dashboard_pkey PRIMARY KEY, - configuration text, + configuration varchar, customer_id uuid, search_text character varying(255), tenant_id uuid, @@ -98,7 +98,7 @@ CREATE TABLE IF NOT EXISTS dashboard ( CREATE TABLE IF NOT EXISTS device ( id uuid NOT NULL CONSTRAINT device_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, customer_id uuid, type character varying(255), name character varying(255), @@ -116,7 +116,7 @@ CREATE TABLE IF NOT EXISTS device_credentials ( CREATE TABLE IF NOT EXISTS event ( id uuid NOT NULL CONSTRAINT event_pkey PRIMARY KEY, - body text, + body varchar, entity_id uuid, entity_type character varying(255), event_type character varying(255), @@ -127,10 +127,10 @@ CREATE TABLE IF NOT EXISTS event ( CREATE TABLE IF NOT EXISTS plugin ( id uuid NOT NULL CONSTRAINT plugin_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, api_token character varying(255), plugin_class character varying(255), - configuration text, + configuration varchar, name character varying(255), public_access boolean, search_text character varying(255), @@ -145,18 +145,18 @@ CREATE TABLE IF NOT EXISTS relation ( to_type character varying(255), relation_type_group character varying(255), relation_type character varying(255), - additional_info text, + additional_info varchar, CONSTRAINT relation_unq_key UNIQUE (from_id, from_type, relation_type_group, relation_type, to_id, to_type) ); CREATE TABLE IF NOT EXISTS rule ( id uuid NOT NULL CONSTRAINT rule_pkey PRIMARY KEY, - action text, - additional_info text, - filters text, + action varchar, + additional_info varchar, + filters varchar, name character varying(255), plugin_token character varying(255), - processor text, + processor varchar, search_text character varying(255), state character varying(255), tenant_id uuid, @@ -165,7 +165,7 @@ CREATE TABLE IF NOT EXISTS rule ( CREATE TABLE IF NOT EXISTS tb_user ( id uuid NOT NULL CONSTRAINT tb_user_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, authority character varying(255), customer_id uuid, email character varying(255) UNIQUE, @@ -177,7 +177,7 @@ CREATE TABLE IF NOT EXISTS tb_user ( CREATE TABLE IF NOT EXISTS tenant ( id uuid NOT NULL CONSTRAINT tenant_pkey PRIMARY KEY, - additional_info text, + additional_info varchar, address character varying(255), address2 character varying(255), city character varying(255), @@ -228,7 +228,7 @@ CREATE TABLE IF NOT EXISTS widget_type ( id uuid NOT NULL CONSTRAINT widget_type_pkey PRIMARY KEY, alias character varying(255), bundle_alias character varying(255), - descriptor text, + descriptor varchar(1000000), name character varying(255), tenant_id uuid ); @@ -236,7 +236,6 @@ CREATE TABLE IF NOT EXISTS widget_type ( CREATE TABLE IF NOT EXISTS widgets_bundle ( id uuid NOT NULL CONSTRAINT widgets_bundle_pkey PRIMARY KEY, alias character varying(255), - image bytea, search_text character varying(255), tenant_id uuid, title character varying(255) diff --git a/dao/src/main/resources/postgres/system-data.sql b/dao/src/main/resources/sql/system-data.sql similarity index 100% rename from dao/src/main/resources/postgres/system-data.sql rename to dao/src/main/resources/sql/system-data.sql diff --git a/dao/src/test/java/org/thingsboard/server/dao/CustomPostgresUnit.java b/dao/src/test/java/org/thingsboard/server/dao/CustomSqlUnit.java similarity index 56% rename from dao/src/test/java/org/thingsboard/server/dao/CustomPostgresUnit.java rename to dao/src/test/java/org/thingsboard/server/dao/CustomSqlUnit.java index feaaa6b1fa..9649ad8f8d 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/CustomPostgresUnit.java +++ b/dao/src/test/java/org/thingsboard/server/dao/CustomSqlUnit.java @@ -19,7 +19,6 @@ import com.google.common.base.Charsets; import com.google.common.io.Resources; import lombok.extern.slf4j.Slf4j; import org.junit.rules.ExternalResource; -import ru.yandex.qatools.embed.postgresql.EmbeddedPostgres; import java.io.IOException; import java.io.InputStream; @@ -30,58 +29,47 @@ import java.sql.SQLException; import java.util.List; import java.util.Properties; -import static ru.yandex.qatools.embed.postgresql.distribution.Version.Main.V9_6; /** * Created by Valerii Sosliuk on 6/24/2017. */ @Slf4j -public class CustomPostgresUnit extends ExternalResource { +public class CustomSqlUnit extends ExternalResource { - private static final String HOST = "host"; - private static final String PORT = "port"; - private static final String DATABASE = "database"; - private static final String USERNAME = "username"; - private static final String PASSWORD = "password"; + private final List sqlFiles; + private final String dropAllTablesSqlFile; + private final String dbUrl; + private final String dbUserName; + private final String dbPassword; - private List sqlFiles; - private Properties properties; - - private EmbeddedPostgres postgres; - - public CustomPostgresUnit(List sqlFiles, String configurationFileName) { + public CustomSqlUnit(List sqlFiles, String dropAllTablesSqlFile, String configurationFileName) { this.sqlFiles = sqlFiles; - this.properties = loadProperties(configurationFileName); + this.dropAllTablesSqlFile = dropAllTablesSqlFile; + final Properties properties = new Properties(); + try (final InputStream stream = this.getClass().getClassLoader().getResourceAsStream(configurationFileName)) { + properties.load(stream); + this.dbUrl = properties.getProperty("spring.datasource.url"); + this.dbUserName = properties.getProperty("spring.datasource.username"); + this.dbPassword = properties.getProperty("spring.datasource.password"); + } catch (IOException e) { + throw new RuntimeException(e.getMessage(), e); + } } @Override public void before() { - postgres = new EmbeddedPostgres(V9_6); - load(); - } + cleanUpDb(); - @Override - public void after() { - postgres.stop(); - } - - private void load() { Connection conn = null; try { - String url = postgres.start(properties.getProperty(HOST), - Integer.parseInt(properties.getProperty(PORT)), - properties.getProperty(DATABASE), - properties.getProperty(USERNAME), - properties.getProperty(PASSWORD)); - - conn = DriverManager.getConnection(url); + conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword); for (String sqlFile : sqlFiles) { URL sqlFileUrl = Resources.getResource(sqlFile); String sql = Resources.toString(sqlFileUrl, Charsets.UTF_8); conn.createStatement().execute(sql); } } catch (IOException | SQLException e) { - throw new RuntimeException("Unable to start embedded postgres. Reason: " + e.getMessage(), e); + throw new RuntimeException("Unable to start embedded hsqldb. Reason: " + e.getMessage(), e); } finally { if (conn != null) { try { @@ -93,13 +81,28 @@ public class CustomPostgresUnit extends ExternalResource { } } - private Properties loadProperties(String fileName) { - final Properties properties = new Properties(); - try (final InputStream stream = this.getClass().getClassLoader().getResourceAsStream(fileName)) { - properties.load(stream); - return properties; - } catch (IOException e) { - throw new RuntimeException(e.getMessage(), e); + @Override + public void after() { + cleanUpDb(); + } + + private void cleanUpDb() { + Connection conn = null; + try { + conn = DriverManager.getConnection(dbUrl, dbUserName, dbPassword); + URL dropAllTableSqlFileUrl = Resources.getResource(dropAllTablesSqlFile); + String dropAllTablesSql = Resources.toString(dropAllTableSqlFileUrl, Charsets.UTF_8); + conn.createStatement().execute(dropAllTablesSql); + } catch (IOException | SQLException e) { + throw new RuntimeException("Unable to clean up embedded hsqldb. Reason: " + e.getMessage(), e); + } finally { + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } } } } diff --git a/dao/src/test/java/org/thingsboard/server/dao/JpaDaoTestSuite.java b/dao/src/test/java/org/thingsboard/server/dao/JpaDaoTestSuite.java index c74aeeff27..decd74b95b 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/JpaDaoTestSuite.java +++ b/dao/src/test/java/org/thingsboard/server/dao/JpaDaoTestSuite.java @@ -24,13 +24,15 @@ import java.util.Arrays; @RunWith(ClasspathSuite.class) @ClassnameFilters({ - "org.thingsboard.server.dao.sql.*Test" + "org.thingsboard.server.dao.sql.*AASDTest" }) public class JpaDaoTestSuite { @ClassRule - public static CustomPostgresUnit postgresUnit = new CustomPostgresUnit( - Arrays.asList("postgres/schema.sql", "postgres/system-data.sql"), - "postgres-embedded-test.properties"); + public static CustomSqlUnit sqlUnit = new CustomSqlUnit( + Arrays.asList("sql/schema.sql", "sql/system-data.sql"), + "sql/drop-all-tables.sql", + "sql-test.properties" + ); } diff --git a/dao/src/test/java/org/thingsboard/server/dao/JpaDbunitTestConfig.java b/dao/src/test/java/org/thingsboard/server/dao/JpaDbunitTestConfig.java index 0a0f7d8dae..507eb4d4af 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/JpaDbunitTestConfig.java +++ b/dao/src/test/java/org/thingsboard/server/dao/JpaDbunitTestConfig.java @@ -18,6 +18,7 @@ package org.thingsboard.server.dao; import com.github.springtestdbunit.bean.DatabaseConfigBean; import com.github.springtestdbunit.bean.DatabaseDataSourceConnectionFactoryBean; import org.dbunit.DatabaseUnitException; +import org.dbunit.ext.hsqldb.HsqldbDataTypeFactory; import org.dbunit.ext.postgresql.PostgresqlDataTypeFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -41,7 +42,7 @@ public class JpaDbunitTestConfig { @Bean public DatabaseConfigBean databaseConfigBean() { DatabaseConfigBean databaseConfigBean = new DatabaseConfigBean(); - databaseConfigBean.setDatatypeFactory(new PostgresqlDataTypeFactory()); + databaseConfigBean.setDatatypeFactory(new HsqldbDataTypeFactory()); return databaseConfigBean; } diff --git a/dao/src/test/java/org/thingsboard/server/dao/SqlDaoServiceTestSuite.java b/dao/src/test/java/org/thingsboard/server/dao/SqlDaoServiceTestSuite.java index 6ba4e7ab45..c0ae4946d6 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/SqlDaoServiceTestSuite.java +++ b/dao/src/test/java/org/thingsboard/server/dao/SqlDaoServiceTestSuite.java @@ -29,8 +29,10 @@ import java.util.Arrays; public class SqlDaoServiceTestSuite { @ClassRule - public static CustomPostgresUnit postgresUnit = new CustomPostgresUnit( - Arrays.asList("postgres/schema.sql", "postgres/system-data.sql", "postgres/system-test.sql"), - "postgres-embedded-test.properties"); + public static CustomSqlUnit sqlUnit = new CustomSqlUnit( + Arrays.asList("sql/schema.sql", "sql/system-data.sql", "sql/system-test.sql"), + "sql/drop-all-tables.sql", + "sql-test.properties" + ); } diff --git a/dao/src/test/resources/postgres-embedded-test.properties b/dao/src/test/resources/postgres-embedded-test.properties deleted file mode 100644 index a7279b9996..0000000000 --- a/dao/src/test/resources/postgres-embedded-test.properties +++ /dev/null @@ -1,5 +0,0 @@ -host: localhost -port: 5433 -database: thingsboard-test -username: postgres -password: postgres \ No newline at end of file diff --git a/dao/src/test/resources/sql-test.properties b/dao/src/test/resources/sql-test.properties index 93402cff25..0bcc789c91 100644 --- a/dao/src/test/resources/sql-test.properties +++ b/dao/src/test/resources/sql-test.properties @@ -1,8 +1,10 @@ -database.type=postgres + database.type=sql spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=validate +spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect -spring.datasource.url=jdbc:postgresql://localhost:5433/thingsboard-test -spring.datasource.username=postgres -spring.datasource.password=postgres +spring.datasource.username=sa +spring.datasource.password= +spring.datasource.url=jdbc:hsqldb:file:/tmp/testDb;sql.enforce_size=false +spring.datasource.driverClassName=org.hsqldb.jdbc.JDBCDriver \ No newline at end of file diff --git a/dao/src/test/resources/sql/drop-all-tables.sql b/dao/src/test/resources/sql/drop-all-tables.sql new file mode 100644 index 0000000000..610653d565 --- /dev/null +++ b/dao/src/test/resources/sql/drop-all-tables.sql @@ -0,0 +1,20 @@ +TRUNCATE TABLE admin_settings; +TRUNCATE TABLE alarm; +TRUNCATE TABLE asset; +TRUNCATE TABLE attribute_kv; +TRUNCATE TABLE component_descriptor; +TRUNCATE TABLE customer; +TRUNCATE TABLE dashboard; +TRUNCATE TABLE device; +TRUNCATE TABLE device_credentials; +TRUNCATE TABLE event; +TRUNCATE TABLE plugin; +TRUNCATE TABLE relation; +TRUNCATE TABLE rule; +TRUNCATE TABLE tb_user; +TRUNCATE TABLE tenant; +TRUNCATE TABLE ts_kv; +TRUNCATE TABLE ts_kv_latest; +TRUNCATE TABLE user_credentials; +TRUNCATE TABLE widget_type; +TRUNCATE TABLE widgets_bundle; \ No newline at end of file diff --git a/dao/src/test/resources/postgres/system-test.sql b/dao/src/test/resources/sql/system-test.sql similarity index 100% rename from dao/src/test/resources/postgres/system-test.sql rename to dao/src/test/resources/sql/system-test.sql diff --git a/pom.xml b/pom.xml index 7b2c5f8c34..762d0dc017 100755 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,7 @@ 2.6.1 1.56 2.0.1 + 2.4.0 2.5.3 1.2.1 9.4.1211 @@ -746,6 +747,12 @@ bcpkix-jdk15on ${bouncycastle.version} + + org.hsqldb + hsqldb + ${hsqldb.version} + test + ru.yandex.qatools.embed postgresql-embedded