Merge branch 'master' into tbel_doc_test
This commit is contained in:
commit
95b9e139ba
@ -1,5 +1,4 @@
|
|||||||
# ThingsBoard
|
# ThingsBoard
|
||||||
[](https://gitter.im/thingsboard/chat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
||||||
[](https://builds.thingsboard.io/viewType.html?buildTypeId=ThingsBoard_Build&guest=1)
|
[](https://builds.thingsboard.io/viewType.html?buildTypeId=ThingsBoard_Build&guest=1)
|
||||||
|
|
||||||
ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.
|
ThingsBoard is an open-source IoT platform for data collection, processing, visualization, and device management.
|
||||||
|
|||||||
@ -15,13 +15,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.service.entitiy.dashboard;
|
package org.thingsboard.server.service.entitiy.dashboard;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.mock.web.MockHttpServletResponse;
|
import org.springframework.mock.web.MockHttpServletResponse;
|
||||||
import org.springframework.test.context.TestPropertySource;
|
import org.springframework.test.context.TestPropertySource;
|
||||||
import org.thingsboard.common.util.JacksonUtil;
|
import org.thingsboard.common.util.JacksonUtil;
|
||||||
import org.thingsboard.server.common.data.Dashboard;
|
import org.thingsboard.server.common.data.Dashboard;
|
||||||
import org.thingsboard.server.controller.AbstractControllerTest;
|
import org.thingsboard.server.controller.AbstractControllerTest;
|
||||||
import org.thingsboard.server.dao.service.DaoSqlTest;
|
import org.thingsboard.server.dao.service.DaoSqlTest;
|
||||||
|
import org.thingsboard.server.dao.sql.resource.TbResourceRepository;
|
||||||
|
import org.thingsboard.server.dao.sql.widget.WidgetTypeRepository;
|
||||||
|
import org.thingsboard.server.dao.sql.widget.WidgetsBundleRepository;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@ -35,6 +40,20 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||||||
})
|
})
|
||||||
public class DashboardSyncServiceTest extends AbstractControllerTest {
|
public class DashboardSyncServiceTest extends AbstractControllerTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WidgetTypeRepository widgetTypeRepository;
|
||||||
|
@Autowired
|
||||||
|
private WidgetsBundleRepository widgetsBundleRepository;
|
||||||
|
@Autowired
|
||||||
|
private TbResourceRepository resourceRepository;
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void after() throws Exception {
|
||||||
|
widgetsBundleRepository.deleteAll();
|
||||||
|
widgetTypeRepository.deleteAll();
|
||||||
|
resourceRepository.deleteAll();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGatewaysDashboardSync() throws Exception {
|
public void testGatewaysDashboardSync() throws Exception {
|
||||||
loginTenantAdmin();
|
loginTenantAdmin();
|
||||||
|
|||||||
@ -17,9 +17,7 @@
|
|||||||
<logger name="org.eclipse.leshan" level="INFO"/>
|
<logger name="org.eclipse.leshan" level="INFO"/>
|
||||||
<logger name="org.thingsboard.server.controller.AbstractWebTest" level="INFO"/>
|
<logger name="org.thingsboard.server.controller.AbstractWebTest" level="INFO"/>
|
||||||
<logger name="org.thingsboard.server.service.script" level="INFO"/>
|
<logger name="org.thingsboard.server.service.script" level="INFO"/>
|
||||||
<logger name="org.thingsboard.server.service.entitiy.dashboard" level="TRACE"/>
|
|
||||||
<logger name="org.thingsboard.server.service.entitiy.widgets" level="TRACE"/>
|
|
||||||
<logger name="org.thingsboard.server.service.sync" level="TRACE"/>
|
|
||||||
<!-- mute TelemetryEdgeSqlTest that causes a lot of randomly generated errors -->
|
<!-- mute TelemetryEdgeSqlTest that causes a lot of randomly generated errors -->
|
||||||
<logger name="org.thingsboard.server.service.edge.rpc.EdgeGrpcSession" level="OFF"/>
|
<logger name="org.thingsboard.server.service.edge.rpc.EdgeGrpcSession" level="OFF"/>
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@ -19,8 +19,10 @@ const path = require('path');
|
|||||||
|
|
||||||
const typeDir = path.join('.', 'target', 'types');
|
const typeDir = path.join('.', 'target', 'types');
|
||||||
const srcDir = path.join('.', 'target', 'types', 'src');
|
const srcDir = path.join('.', 'target', 'types', 'src');
|
||||||
|
const stylesCss = path.join(srcDir, 'styles.css');
|
||||||
const moduleMapPath = path.join('src', 'app', 'modules', 'common', 'modules-map.ts');
|
const moduleMapPath = path.join('src', 'app', 'modules', 'common', 'modules-map.ts');
|
||||||
const ngcPath = path.join('.', 'node_modules', '.bin', 'ngc');
|
const ngcPath = path.join('.', 'node_modules', '.bin', 'ngc');
|
||||||
|
const tailwindcss = path.join('.', 'node_modules', '.bin', 'tailwindcss');
|
||||||
const tsconfigPath = path.join('src', 'tsconfig.app.json');
|
const tsconfigPath = path.join('src', 'tsconfig.app.json');
|
||||||
|
|
||||||
console.log(`Remove directory: ${typeDir}`);
|
console.log(`Remove directory: ${typeDir}`);
|
||||||
@ -31,12 +33,28 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const cliCommand = `${ngcPath} --p ${tsconfigPath} --declaration --outDir ${srcDir}`;
|
const cliCommand = `${ngcPath} --p ${tsconfigPath} --declaration --outDir ${srcDir}`;
|
||||||
console.log(cliCommand);
|
executeCliCommand(cliCommand, 'Build types');
|
||||||
try {
|
|
||||||
|
fromDir(srcDir, /(\.js|\.js\.map)$/, function (filename) {
|
||||||
|
try {
|
||||||
|
fs.rmSync(filename);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Remove file error ${filename}: ${err}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fs.cpSync(moduleMapPath, `${typeDir}/${moduleMapPath}`);
|
||||||
|
|
||||||
|
const generateStyleCssCommand = `${tailwindcss} -o ${stylesCss} --minify`;
|
||||||
|
executeCliCommand(generateStyleCssCommand, 'Generate styles.css');
|
||||||
|
|
||||||
|
function executeCliCommand(cliCommand, description) {
|
||||||
|
console.log(cliCommand);
|
||||||
|
try {
|
||||||
child_process.execSync(cliCommand);
|
child_process.execSync(cliCommand);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Build types", err);
|
console.error(description, err);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromDir(startPath, filter, callback) {
|
function fromDir(startPath, filter, callback) {
|
||||||
@ -56,13 +74,3 @@ function fromDir(startPath, filter, callback) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fromDir(srcDir, /(\.js|\.js\.map)$/, function (filename) {
|
|
||||||
try {
|
|
||||||
fs.rmSync(filename);
|
|
||||||
} catch (err) {
|
|
||||||
console.error(`Remove file error ${filename}: ${err}`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
fs.cpSync(moduleMapPath, `${typeDir}/${moduleMapPath}`);
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user