@alwaysai/device-agent 2.0.2-0 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application-control/config.js +1 -1
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +7 -3
- package/lib/application-control/install.js.map +1 -1
- package/lib/cloud-connection/base-message-handler.d.ts.map +1 -1
- package/lib/cloud-connection/base-message-handler.js +5 -4
- package/lib/cloud-connection/base-message-handler.js.map +1 -1
- package/lib/cloud-connection/connection-manager.d.ts +3 -4
- package/lib/cloud-connection/connection-manager.d.ts.map +1 -1
- package/lib/cloud-connection/connection-manager.js +22 -40
- package/lib/cloud-connection/connection-manager.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +3 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +52 -46
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-message-handler.js +19 -18
- package/lib/cloud-connection/device-agent-message-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +11 -4
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/passthrough-handler.d.ts +3 -3
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
- package/lib/cloud-connection/passthrough-handler.js +97 -74
- package/lib/cloud-connection/passthrough-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +3 -3
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow.d.ts.map +1 -1
- package/lib/cloud-connection/shadow.js +1 -1
- package/lib/cloud-connection/shadow.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
- package/lib/cloud-connection/transaction-manager.js +17 -7
- package/lib/cloud-connection/transaction-manager.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.test.js +52 -44
- package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
- package/lib/device-control/device-control.d.ts.map +1 -1
- package/lib/device-control/device-control.js +13 -9
- package/lib/device-control/device-control.js.map +1 -1
- package/lib/docker/docker-compose.d.ts.map +1 -1
- package/lib/docker/docker-compose.js +1 -1
- package/lib/docker/docker-compose.js.map +1 -1
- package/lib/environment.d.ts +3 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +12 -1
- package/lib/environment.js.map +1 -1
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/config-check-utility.js +2 -2
- package/lib/infrastructure/config-check-utility.js.map +1 -1
- package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -1
- package/lib/infrastructure/legacy-migration/legacy-migration.js +6 -10
- package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -1
- package/lib/jobs/job-handler.d.ts +1 -1
- package/lib/jobs/job-handler.d.ts.map +1 -1
- package/lib/jobs/job-handler.js +4 -4
- package/lib/jobs/job-handler.js.map +1 -1
- package/lib/local-connection/rabbitmq-container.d.ts +6 -0
- package/lib/local-connection/rabbitmq-container.d.ts.map +1 -0
- package/lib/local-connection/rabbitmq-container.js +111 -0
- package/lib/local-connection/rabbitmq-container.js.map +1 -0
- package/lib/local-connection/rabbitmq-container.test.d.ts +2 -0
- package/lib/local-connection/rabbitmq-container.test.d.ts.map +1 -0
- package/lib/local-connection/rabbitmq-container.test.js +219 -0
- package/lib/local-connection/rabbitmq-container.test.js.map +1 -0
- package/lib/subcommands/app/analytics.d.ts.map +1 -1
- package/lib/subcommands/app/analytics.js +2 -3
- package/lib/subcommands/app/analytics.js.map +1 -1
- package/lib/subcommands/app/env-vars.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.js +4 -6
- package/lib/subcommands/app/env-vars.js.map +1 -1
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +2 -3
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/shadow.d.ts.map +1 -1
- package/lib/subcommands/app/shadow.js +4 -6
- package/lib/subcommands/app/shadow.js.map +1 -1
- package/lib/subcommands/app/version.d.ts.map +1 -1
- package/lib/subcommands/app/version.js +6 -9
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/subcommands/device/clean.d.ts.map +1 -1
- package/lib/subcommands/device/clean.js +15 -17
- package/lib/subcommands/device/clean.js.map +1 -1
- package/lib/subcommands/device/index.d.ts.map +1 -1
- package/lib/subcommands/device/index.js +3 -1
- package/lib/subcommands/device/index.js.map +1 -1
- package/lib/subcommands/device/local-connection.d.ts +2 -0
- package/lib/subcommands/device/local-connection.d.ts.map +1 -0
- package/lib/subcommands/device/local-connection.js +17 -0
- package/lib/subcommands/device/local-connection.js.map +1 -0
- package/lib/subcommands/index.d.ts +4 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/index.js +1 -3
- package/lib/subcommands/index.js.map +1 -1
- package/lib/util/check-for-updates.d.ts.map +1 -1
- package/lib/util/check-for-updates.js +2 -2
- package/lib/util/check-for-updates.js.map +1 -1
- package/lib/util/file.d.ts.map +1 -1
- package/lib/util/file.js +6 -1
- package/lib/util/file.js.map +1 -1
- package/lib/util/file.test.js +1 -1
- package/lib/util/file.test.js.map +1 -1
- package/lib/util/get-device-id.d.ts.map +1 -1
- package/lib/util/get-device-id.js +1 -1
- package/lib/util/get-device-id.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +16 -4
- package/src/application-control/config.ts +1 -1
- package/src/application-control/install.ts +11 -5
- package/src/cloud-connection/base-message-handler.ts +10 -5
- package/src/cloud-connection/connection-manager.ts +23 -45
- package/src/cloud-connection/device-agent-cloud-connection.ts +97 -89
- package/src/cloud-connection/device-agent-message-handler.ts +10 -7
- package/src/cloud-connection/live-updates-handler.ts +12 -5
- package/src/cloud-connection/passthrough-handler.ts +79 -38
- package/src/cloud-connection/shadow-handler.ts +3 -3
- package/src/cloud-connection/shadow.ts +3 -1
- package/src/cloud-connection/transaction-manager.test.ts +60 -41
- package/src/cloud-connection/transaction-manager.ts +26 -12
- package/src/device-control/device-control.ts +23 -13
- package/src/docker/docker-compose.ts +3 -1
- package/src/environment.ts +17 -0
- package/src/index.ts +19 -0
- package/src/infrastructure/config-check-utility.ts +2 -2
- package/src/infrastructure/legacy-migration/legacy-migration.ts +8 -13
- package/src/jobs/job-handler.ts +4 -4
- package/src/local-connection/rabbitmq-container.test.ts +255 -0
- package/src/local-connection/rabbitmq-container.ts +151 -0
- package/src/subcommands/app/analytics.ts +2 -3
- package/src/subcommands/app/env-vars.ts +4 -6
- package/src/subcommands/app/models.ts +2 -3
- package/src/subcommands/app/shadow.ts +4 -6
- package/src/subcommands/app/version.ts +7 -8
- package/src/subcommands/device/clean.ts +20 -19
- package/src/subcommands/device/index.ts +3 -1
- package/src/subcommands/device/local-connection.ts +16 -0
- package/src/subcommands/index.ts +1 -3
- package/src/util/check-for-updates.ts +4 -2
- package/src/util/file.test.ts +1 -1
- package/src/util/file.ts +7 -1
- package/src/util/get-device-id.ts +3 -1
- package/lib/local-connection/rabbitmq-connection.d.ts +0 -7
- package/lib/local-connection/rabbitmq-connection.d.ts.map +0 -1
- package/lib/local-connection/rabbitmq-connection.js +0 -95
- package/lib/local-connection/rabbitmq-connection.js.map +0 -1
- package/lib/subcommands/rabbitmq-connection.d.ts +0 -2
- package/lib/subcommands/rabbitmq-connection.d.ts.map +0 -1
- package/lib/subcommands/rabbitmq-connection.js +0 -14
- package/lib/subcommands/rabbitmq-connection.js.map +0 -1
- package/src/local-connection/rabbitmq-connection.ts +0 -124
- package/src/subcommands/rabbitmq-connection.ts +0 -11
|
@@ -8,7 +8,7 @@ const path_1 = require("path");
|
|
|
8
8
|
const logger_1 = require("../util/logger");
|
|
9
9
|
exports.validConfigMessage = 'Device config is present and valid.';
|
|
10
10
|
async function checkDeviceConfigPresent(baseDir) {
|
|
11
|
-
logger_1.logger.debug('Checking for required device
|
|
11
|
+
logger_1.logger.debug('Checking for required device configuration file.');
|
|
12
12
|
const deviceConfig = (0, device_1.DeviceConfigFile)(baseDir
|
|
13
13
|
? (0, path_1.join)(baseDir, (0, infrastructure_1.getDeviceConfigPath)(), infrastructure_1.DEVICE_CONFIG_FILE_NAME)
|
|
14
14
|
: undefined);
|
|
@@ -38,7 +38,7 @@ async function checkCertificatesPresent(baseDir) {
|
|
|
38
38
|
}
|
|
39
39
|
exports.checkCertificatesPresent = checkCertificatesPresent;
|
|
40
40
|
async function checkAaiConfigPresent(baseDir) {
|
|
41
|
-
logger_1.logger.debug('Checking for required
|
|
41
|
+
logger_1.logger.debug('Checking for required alwaysAI configuration file.');
|
|
42
42
|
const localAaiCfg = new infrastructure_1.LocalAaiCfg(baseDir);
|
|
43
43
|
try {
|
|
44
44
|
await localAaiCfg.readAaiCfgFile();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-check-utility.js","sourceRoot":"","sources":["../../src/infrastructure/config-check-utility.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAC5D,gEAKqC;AACrC,4CAA2D;AAC3D,+BAA4B;AAC5B,2CAAwC;AAE3B,QAAA,kBAAkB,GAAG,qCAAqC,CAAC;AAEjE,KAAK,UAAU,wBAAwB,CAC5C,OAAgB;IAEhB,eAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"config-check-utility.js","sourceRoot":"","sources":["../../src/infrastructure/config-check-utility.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAC5D,gEAKqC;AACrC,4CAA2D;AAC3D,+BAA4B;AAC5B,2CAAwC;AAE3B,QAAA,kBAAkB,GAAG,qCAAqC,CAAC;AAEjE,KAAK,UAAU,wBAAwB,CAC5C,OAAgB;IAEhB,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,IAAA,yBAAgB,EACnC,OAAO;QACL,CAAC,CAAC,IAAA,WAAI,EAAC,OAAO,EAAE,IAAA,oCAAmB,GAAE,EAAE,wCAAuB,CAAC;QAC/D,CAAC,CAAC,SAAS,CACd,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI;YACF,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,0BAAkB,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC,CAAC;YAChC,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACtE;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AApBD,4DAoBC;AAEM,KAAK,UAAU,wBAAwB,CAAC,OAAgB;IAC7D,eAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,IAAI,wCAAuB,CAAC,OAAO,CAAC,CAAC;IAEhE,MAAM,uBAAuB,GAAG,MAAM,uBAAuB,CAAC;QAC5D,kBAAkB,CAAC,sBAAsB,EAAE;QAC3C,kBAAkB,CAAC,qBAAqB,EAAE;QAC1C,kBAAkB,CAAC,0BAA0B,EAAE;KAChD,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAVD,4DAUC;AAEM,KAAK,UAAU,qBAAqB,CACzC,OAAgB;IAEhB,eAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,4BAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI;QACF,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;QACnC,eAAM,CAAC,KAAK,CAAC,0BAAkB,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,eAAM,CAAC,KAAK,CAAC,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC,CAAC;QAChC,eAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAChE,CAAC;KACH;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,sDAiBC;AAEM,KAAK,UAAU,uBAAuB,CAAC,aAAuB;IACnE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;QAChC,eAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE;YACzB,eAAM,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;SACd;KACF;IACD,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAVD,0DAUC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-migration.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/legacy-migration/legacy-migration.ts"],"names":[],"mappings":"AA8BA,OAAO,EAEL,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAMxB,wBAAsB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,iBA8C5D;AAED,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,iBAiBzD;AAED,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,eAAe,EAC7B,OAAO,CAAC,EAAE,MAAM,iBAyCjB;AAED,wBAAsB,+BAA+B,CACnD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"legacy-migration.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/legacy-migration/legacy-migration.ts"],"names":[],"mappings":"AA8BA,OAAO,EAEL,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAMxB,wBAAsB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,iBA8C5D;AAED,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,iBAiBzD;AAED,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,eAAe,EAC7B,OAAO,CAAC,EAAE,MAAM,iBAyCjB;AAED,wBAAsB,+BAA+B,CACnD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAoElB"}
|
|
@@ -7,7 +7,7 @@ const paths_1 = require("alwaysai/lib/paths");
|
|
|
7
7
|
const util_1 = require("alwaysai/lib/util");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const rimraf_1 = require("rimraf");
|
|
10
|
-
const
|
|
10
|
+
const rabbitmq_container_1 = require("../../local-connection/rabbitmq-container");
|
|
11
11
|
const copy_dir_1 = require("../../util/copy-dir");
|
|
12
12
|
const directories_1 = require("../../util/directories");
|
|
13
13
|
const logger_1 = require("../../util/logger");
|
|
@@ -29,7 +29,7 @@ async function migrateAgentConfigFile(baseDir) {
|
|
|
29
29
|
parsedAgentConfig = legacyAgentConfigFile.read();
|
|
30
30
|
}
|
|
31
31
|
catch (e) {
|
|
32
|
-
logger_1.logger.error(`Error reading agent config
|
|
32
|
+
logger_1.logger.error(`Error reading agent config! Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
33
33
|
logger_1.logger.error(`Agent Config Errors: ${JSON.stringify(legacyAgentConfigFile.getErrors(), null, 2)}`);
|
|
34
34
|
throw new Error(`Could not parse ${legacyAgentConfigFile.path} while migrating your legacy device files.`);
|
|
35
35
|
}
|
|
@@ -40,7 +40,7 @@ async function migrateAgentConfigFile(baseDir) {
|
|
|
40
40
|
await (0, rimraf_1.default)(legacyAgentConfigFile.path);
|
|
41
41
|
}
|
|
42
42
|
catch (e) {
|
|
43
|
-
logger_1.logger.error(`Error writing agent config
|
|
43
|
+
logger_1.logger.error(`Error writing agent config! Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
44
44
|
logger_1.logger.error(`Agent Config Errors: ${JSON.stringify(newAgentConfig.getErrors(), null, 2)}`);
|
|
45
45
|
throw new Error(`Could not parse ${newAgentConfig.path} while migrating your legacy device files.`);
|
|
46
46
|
}
|
|
@@ -123,15 +123,11 @@ async function migrateFromLegacyCertsAndTokens(baseDir) {
|
|
|
123
123
|
logger_1.logger.debug('Copying agent config file to new file path.');
|
|
124
124
|
await migrateAgentConfigFile(baseDir);
|
|
125
125
|
// if rabbitmq container is present, stop container and migrate files
|
|
126
|
-
|
|
127
|
-
if (await (0,
|
|
128
|
-
|
|
126
|
+
if (await (0, rabbitmq_container_1.checkRabbitMQContainerRunning)()) {
|
|
127
|
+
if ((await (0, rabbitmq_container_1.stopRabbitMQContainer)()) === false) {
|
|
128
|
+
logger_1.logger.error(`You may need to manually stop the container by running docker-compose down in the following directory: ${(0, directories_1.getDeviceAgentDockerComposePath)()}`);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
catch (e) {
|
|
132
|
-
logger_1.logger.error(`You may need to manually stop the container by running docker-compose down in the following directory: ${(0, directories_1.getDeviceAgentDockerComposePath)()}`);
|
|
133
|
-
logger_1.logger.debug(`Error in checking / stopping RabbitMQ container!\n${(0, util_1.stringifyError)(e)}`);
|
|
134
|
-
}
|
|
135
131
|
if (await (0, util_1.exists)((0, directories_1.getDeviceAgentConfigPath)(baseDir))) {
|
|
136
132
|
await (0, copy_dir_1.copyDir)({
|
|
137
133
|
srcPath: legacyFiles.getLegacyDeviceAgentConfigDirPath(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-migration.js","sourceRoot":"","sources":["../../../src/infrastructure/legacy-migration/legacy-migration.ts"],"names":[],"mappings":";;;AAAA,qDAA0E;AAC1E,gEAMqC;AACrC,8CAI4B;AAC5B,4CAAsE;AACtE,+BAA4B;AAC5B,mCAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"legacy-migration.js","sourceRoot":"","sources":["../../../src/infrastructure/legacy-migration/legacy-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare class JobHandler extends BaseHandler implements MessageHandler {
|
|
|
6
6
|
private readonly state;
|
|
7
7
|
private jobId;
|
|
8
8
|
handle(message: any, topic: string): Promise<void>;
|
|
9
|
-
|
|
9
|
+
getJobTopics(): {
|
|
10
10
|
NOTIFY_NEXT: string;
|
|
11
11
|
START_NEXT: string;
|
|
12
12
|
START_NEXT_ACCEPTED: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-handler.d.ts","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EACL,WAAW,EACX,cAAc,EACf,MAAM,0CAA0C,CAAC;AAkBlD,qBAAa,UAAW,SAAQ,WAAY,YAAW,cAAc;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;gBAE3C,cAAc,EAAE,cAAc;IAQ1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,KAAK,CAAM;IAEN,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/D,
|
|
1
|
+
{"version":3,"file":"job-handler.d.ts","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EACL,WAAW,EACX,cAAc,EACf,MAAM,0CAA0C,CAAC;AAkBlD,qBAAa,UAAW,SAAQ,WAAY,YAAW,cAAc;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;gBAE3C,cAAc,EAAE,cAAc;IAQ1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,KAAK,CAAM;IAEN,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/D,YAAY;;;;;;YAUE,UAAU;IAOxB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;CACH"}
|
package/lib/jobs/job-handler.js
CHANGED
|
@@ -31,7 +31,7 @@ class JobHandler extends base_message_handler_1.BaseHandler {
|
|
|
31
31
|
this.msgHandler = new device_agent_message_handler_1.DeviceAgentMessageHandler(handlerContext, this.handleJobError, this.handleJobSuccess);
|
|
32
32
|
}
|
|
33
33
|
async handle(message, topic) {
|
|
34
|
-
const TOPICS = this.
|
|
34
|
+
const TOPICS = this.getJobTopics();
|
|
35
35
|
try {
|
|
36
36
|
switch (topic) {
|
|
37
37
|
case TOPICS.NOTIFY_NEXT:
|
|
@@ -48,7 +48,7 @@ class JobHandler extends base_message_handler_1.BaseHandler {
|
|
|
48
48
|
logger_1.logger.error(`Error handling job for topic: ${topic}`, error);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
getJobTopics() {
|
|
52
52
|
const TOPICS = {
|
|
53
53
|
NOTIFY_NEXT: `$aws/things/${this.clientId}/jobs/notify-next`,
|
|
54
54
|
START_NEXT: `$aws/things/${this.clientId}/jobs/start-next`,
|
|
@@ -60,7 +60,7 @@ class JobHandler extends base_message_handler_1.BaseHandler {
|
|
|
60
60
|
async notifyNext(message) {
|
|
61
61
|
// Triggers when a job is completed and we need to notify the next job
|
|
62
62
|
logger_1.logger.info('Invoking NOTIFY_NEXT handler');
|
|
63
|
-
const TOPICS = this.
|
|
63
|
+
const TOPICS = this.getJobTopics();
|
|
64
64
|
this.publisher.publish(TOPICS.START_NEXT, JSON.stringify({}));
|
|
65
65
|
}
|
|
66
66
|
startNextAccepted(message) {
|
|
@@ -114,7 +114,7 @@ class JobHandler extends base_message_handler_1.BaseHandler {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
updateJobStatus(status, message) {
|
|
117
|
-
const { UPDATE } = this.
|
|
117
|
+
const { UPDATE } = this.getJobTopics();
|
|
118
118
|
const payload = {
|
|
119
119
|
status,
|
|
120
120
|
statusDetails: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-handler.js","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,mFAGkD;AAClD,mGAA6F;AAE7F,MAAM,QAAQ;IAIZ,oBAAoB;IACpB;QAHO,kBAAa,GAAG,KAAK,CAAC;IAGL,CAAC,CAAC,sBAAsB;IAEhD,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED,MAAa,UAAW,SAAQ,kCAAW;IAGzC,YAAY,cAA8B;QACxC,KAAK,CAAC,cAAc,CAAC,CAAC;QAOP,UAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,UAAK,GAAG,EAAE,CAAC;QAsGF,qBAAgB,GAAG,CAAC,IAAY,EAAQ,EAAE;YACzD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC;QAEe,mBAAc,GAAG,CAAC,KAAa,EAAE,GAAW,EAAQ,EAAE;YACrE,eAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC;QApHA,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAyB,CAC7C,cAAc,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAIM,KAAK,CAAC,MAAM,CAAC,OAAY,EAAE,KAAa;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"job-handler.js","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function checkRabbitMQContainerRunning(): Promise<boolean>;
|
|
2
|
+
export declare function runRabbitMQContainer(opts?: {
|
|
3
|
+
max_attempts: number;
|
|
4
|
+
}): Promise<boolean>;
|
|
5
|
+
export declare function stopRabbitMQContainer(): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=rabbitmq-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-container.d.ts","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-container.ts"],"names":[],"mappings":"AAqBA,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC,CA4BtE;AAoCD,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCnB;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAuB9D"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stopRabbitMQContainer = exports.runRabbitMQContainer = exports.checkRabbitMQContainerRunning = void 0;
|
|
4
|
+
const util_1 = require("alwaysai/lib/util");
|
|
5
|
+
const YAML = require("yaml");
|
|
6
|
+
const docker_compose_1 = require("../docker/docker-compose");
|
|
7
|
+
const directories_1 = require("../util/directories");
|
|
8
|
+
const logger_1 = require("../util/logger");
|
|
9
|
+
const sleep_1 = require("../util/sleep");
|
|
10
|
+
const constants_1 = require("./constants");
|
|
11
|
+
const rabbitMQServiceName = 'alwaysAIRabbitMQ';
|
|
12
|
+
const rabbitMQContainerName = 'alwaysAIRabbitMQContainer';
|
|
13
|
+
/*
|
|
14
|
+
Utility functions to control the Local Connection container (RabbitMQ).
|
|
15
|
+
|
|
16
|
+
All exported functions handle their own errors and log their status, returning a
|
|
17
|
+
boolean indicating whether the action was successful.
|
|
18
|
+
*/
|
|
19
|
+
async function checkRabbitMQContainerRunning() {
|
|
20
|
+
logger_1.logger.debug('Checking Local Connection Container status');
|
|
21
|
+
const spawner = (0, util_1.JsSpawner)();
|
|
22
|
+
if (!(await spawner.exists((0, directories_1.getDeviceAgentDockerComposePath)()))) {
|
|
23
|
+
logger_1.logger.warn('Local Connection configuration file is not present');
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
const containerData = await docker_compose_1.compose.ps({ cwd: (0, directories_1.getDeviceAgentConfigPath)() });
|
|
27
|
+
for (const service of containerData.data.services) {
|
|
28
|
+
if ((service === null || service === void 0 ? void 0 : service.name) === rabbitMQContainerName) {
|
|
29
|
+
if (service.state.includes('Up')) {
|
|
30
|
+
logger_1.logger.debug('Local Connection container is up.');
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
logger_1.logger.debug(`Local Connection container is not up. Status: ${service.state}`);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
logger_1.logger.warn(`Local Connection container not found in container data: ${JSON.stringify(containerData, null, 2)}`);
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
exports.checkRabbitMQContainerRunning = checkRabbitMQContainerRunning;
|
|
41
|
+
async function writeRabbitMQDockerComposeFile() {
|
|
42
|
+
const spawner = (0, util_1.JsSpawner)();
|
|
43
|
+
if (!(await spawner.exists((0, directories_1.getDeviceAgentConfigPath)()))) {
|
|
44
|
+
await (0, util_1.JsSpawner)().mkdirp((0, directories_1.getDeviceAgentConfigPath)());
|
|
45
|
+
}
|
|
46
|
+
logger_1.logger.debug(`Writing Local Connection Docker compose files with Local Connection port: ${constants_1.LOCAL_CONNECTION_PORT}`);
|
|
47
|
+
const rabbitmqDockerComposeCmd = {
|
|
48
|
+
services: {
|
|
49
|
+
[rabbitMQServiceName]: {
|
|
50
|
+
container_name: rabbitMQContainerName,
|
|
51
|
+
image: 'rabbitmq:3.11',
|
|
52
|
+
ports: [`${constants_1.LOCAL_CONNECTION_PORT}:${constants_1.LOCAL_CONNECTION_PORT}`],
|
|
53
|
+
hostname: 'my-rabbit',
|
|
54
|
+
restart: 'on-failure',
|
|
55
|
+
environment: [`RABBITMQ_NODE_PORT=${constants_1.LOCAL_CONNECTION_PORT}`],
|
|
56
|
+
volumes: [
|
|
57
|
+
'./rabbitmq/:/var/lib/rabbitmq/',
|
|
58
|
+
'./rabbitmq/log/:/var/log/rabbitmq/'
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const RabbitMQDockerComposeYaml = YAML.stringify(rabbitmqDockerComposeCmd);
|
|
64
|
+
await spawner.writeFile((0, directories_1.getDeviceAgentDockerComposePath)(), RabbitMQDockerComposeYaml);
|
|
65
|
+
}
|
|
66
|
+
async function runRabbitMQContainer(opts) {
|
|
67
|
+
const max_attempts = (opts === null || opts === void 0 ? void 0 : opts.max_attempts) || 10;
|
|
68
|
+
logger_1.logger.debug('Starting the Local Connection container');
|
|
69
|
+
try {
|
|
70
|
+
await writeRabbitMQDockerComposeFile();
|
|
71
|
+
const upOut = await docker_compose_1.compose.upAll({
|
|
72
|
+
cwd: (0, directories_1.getDeviceAgentConfigPath)()
|
|
73
|
+
});
|
|
74
|
+
logger_1.logger.debug(`Docker compose up for Local Connection:\n${JSON.stringify(upOut, null, 2)}`);
|
|
75
|
+
if (upOut.exitCode !== 0) {
|
|
76
|
+
throw new Error(`Failed to start Local Connection! stdout=${upOut.out} stderr=${upOut.err}`);
|
|
77
|
+
}
|
|
78
|
+
// check if the container is up
|
|
79
|
+
let attempts = 0;
|
|
80
|
+
while (!(await checkRabbitMQContainerRunning())) {
|
|
81
|
+
attempts++;
|
|
82
|
+
if (attempts >= max_attempts) {
|
|
83
|
+
throw new Error('Local Connection container failed to come up after start!');
|
|
84
|
+
}
|
|
85
|
+
await (0, sleep_1.default)(1000);
|
|
86
|
+
}
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
logger_1.logger.error(`Unable to start Local Connection container!\n${(0, util_1.stringifyError)(e)}`);
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.runRabbitMQContainer = runRabbitMQContainer;
|
|
95
|
+
async function stopRabbitMQContainer() {
|
|
96
|
+
logger_1.logger.debug(`Stopping alwaysAI Local Connection container`);
|
|
97
|
+
try {
|
|
98
|
+
const downOut = await docker_compose_1.compose.down({ cwd: (0, directories_1.getDeviceAgentConfigPath)() });
|
|
99
|
+
logger_1.logger.debug(`Local Connection docker-compose down: ${JSON.stringify(downOut, null, 2)}`);
|
|
100
|
+
if (downOut.exitCode !== 0) {
|
|
101
|
+
throw new Error(`Failed to stop Local Connection! stdout=${downOut.out} stderr=${downOut.err}`);
|
|
102
|
+
}
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
logger_1.logger.error(`Unable to stop Local Connection Container:\n${(0, util_1.stringifyError)(e)}`);
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.stopRabbitMQContainer = stopRabbitMQContainer;
|
|
111
|
+
//# sourceMappingURL=rabbitmq-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-container.js","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-container.test.d.ts","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-container.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const rabbitmq_container_1 = require("./rabbitmq-container");
|
|
4
|
+
const mockJsSpawner = {
|
|
5
|
+
exists: jest.fn(),
|
|
6
|
+
mkdirp: jest.fn(),
|
|
7
|
+
writeFile: jest.fn()
|
|
8
|
+
};
|
|
9
|
+
jest.mock('alwaysai/lib/util/spawner', () => {
|
|
10
|
+
return {
|
|
11
|
+
JsSpawner: jest.fn(() => mockJsSpawner)
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
jest.mock('../docker/docker-compose', () => {
|
|
15
|
+
return {
|
|
16
|
+
compose: {
|
|
17
|
+
ps: jest.fn(),
|
|
18
|
+
upAll: jest.fn(),
|
|
19
|
+
down: jest.fn()
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
const docker_compose_1 = require("../docker/docker-compose");
|
|
24
|
+
describe('Test check RabbitMQ container running', () => {
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
jest.clearAllMocks();
|
|
27
|
+
});
|
|
28
|
+
test('Compose file not found', async () => {
|
|
29
|
+
mockJsSpawner.exists.mockResolvedValue(false);
|
|
30
|
+
const running = await (0, rabbitmq_container_1.checkRabbitMQContainerRunning)();
|
|
31
|
+
expect(running).toBeFalsy();
|
|
32
|
+
});
|
|
33
|
+
test('Container not found', async () => {
|
|
34
|
+
mockJsSpawner.exists.mockResolvedValue(true);
|
|
35
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValue({
|
|
36
|
+
exitCode: 0,
|
|
37
|
+
out: '',
|
|
38
|
+
err: '',
|
|
39
|
+
data: {
|
|
40
|
+
services: []
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const running = await (0, rabbitmq_container_1.checkRabbitMQContainerRunning)();
|
|
44
|
+
expect(running).toBeFalsy();
|
|
45
|
+
});
|
|
46
|
+
test('Container is not up', async () => {
|
|
47
|
+
mockJsSpawner.exists.mockResolvedValue(true);
|
|
48
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValue({
|
|
49
|
+
exitCode: 0,
|
|
50
|
+
out: '',
|
|
51
|
+
err: '',
|
|
52
|
+
data: {
|
|
53
|
+
services: [
|
|
54
|
+
{
|
|
55
|
+
name: 'alwaysAIRabbitMQContainer',
|
|
56
|
+
command: '',
|
|
57
|
+
state: 'Down',
|
|
58
|
+
ports: []
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const running = await (0, rabbitmq_container_1.checkRabbitMQContainerRunning)();
|
|
64
|
+
expect(running).toBeFalsy();
|
|
65
|
+
});
|
|
66
|
+
test('Container is up', async () => {
|
|
67
|
+
mockJsSpawner.exists.mockResolvedValue(true);
|
|
68
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValue({
|
|
69
|
+
exitCode: 0,
|
|
70
|
+
out: '',
|
|
71
|
+
err: '',
|
|
72
|
+
data: {
|
|
73
|
+
services: [
|
|
74
|
+
{
|
|
75
|
+
name: 'alwaysAIRabbitMQContainer',
|
|
76
|
+
command: '',
|
|
77
|
+
state: 'Up',
|
|
78
|
+
ports: []
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
const running = await (0, rabbitmq_container_1.checkRabbitMQContainerRunning)();
|
|
84
|
+
expect(running).toBeTruthy();
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('Test run RabbitMQ container', () => {
|
|
88
|
+
afterEach(() => {
|
|
89
|
+
jest.clearAllMocks();
|
|
90
|
+
});
|
|
91
|
+
test('Compose file write fails', async () => {
|
|
92
|
+
mockJsSpawner.exists.mockResolvedValueOnce(false);
|
|
93
|
+
mockJsSpawner.mkdirp.mockImplementation(async () => {
|
|
94
|
+
return;
|
|
95
|
+
});
|
|
96
|
+
mockJsSpawner.writeFile.mockImplementation(async () => {
|
|
97
|
+
throw new Error('Failed to write file!');
|
|
98
|
+
});
|
|
99
|
+
const running = await (0, rabbitmq_container_1.runRabbitMQContainer)();
|
|
100
|
+
expect(running).toBeFalsy();
|
|
101
|
+
});
|
|
102
|
+
test('Compose up fails', async () => {
|
|
103
|
+
mockJsSpawner.exists.mockResolvedValueOnce(true);
|
|
104
|
+
mockJsSpawner.writeFile.mockImplementation(async () => {
|
|
105
|
+
return;
|
|
106
|
+
});
|
|
107
|
+
jest.mocked(docker_compose_1.compose.upAll).mockResolvedValue({
|
|
108
|
+
exitCode: 1,
|
|
109
|
+
out: '',
|
|
110
|
+
err: ''
|
|
111
|
+
});
|
|
112
|
+
const running = await (0, rabbitmq_container_1.runRabbitMQContainer)();
|
|
113
|
+
expect(running).toBeFalsy();
|
|
114
|
+
});
|
|
115
|
+
test('Container fails to come up', async () => {
|
|
116
|
+
// exists(deviceAgentConfigPath)
|
|
117
|
+
mockJsSpawner.exists.mockResolvedValueOnce(true);
|
|
118
|
+
mockJsSpawner.writeFile.mockImplementation(async () => {
|
|
119
|
+
return;
|
|
120
|
+
});
|
|
121
|
+
jest.mocked(docker_compose_1.compose.upAll).mockResolvedValue({
|
|
122
|
+
exitCode: 0,
|
|
123
|
+
out: '',
|
|
124
|
+
err: ''
|
|
125
|
+
});
|
|
126
|
+
// exists(deviceAgentDockerComposePath)
|
|
127
|
+
mockJsSpawner.exists.mockResolvedValueOnce(true);
|
|
128
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValue({
|
|
129
|
+
exitCode: 0,
|
|
130
|
+
out: '',
|
|
131
|
+
err: '',
|
|
132
|
+
data: {
|
|
133
|
+
services: [
|
|
134
|
+
{
|
|
135
|
+
name: 'alwaysAIRabbitMQContainer',
|
|
136
|
+
command: '',
|
|
137
|
+
state: 'Down',
|
|
138
|
+
ports: []
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
const running = await (0, rabbitmq_container_1.runRabbitMQContainer)({ max_attempts: 2 });
|
|
144
|
+
expect(jest.mocked(docker_compose_1.compose.ps)).toBeCalledTimes(2);
|
|
145
|
+
expect(running).toBeFalsy();
|
|
146
|
+
});
|
|
147
|
+
test('Container comes up successfully', async () => {
|
|
148
|
+
// exists(deviceAgentConfigPath)
|
|
149
|
+
mockJsSpawner.exists.mockResolvedValueOnce(true);
|
|
150
|
+
mockJsSpawner.writeFile.mockImplementation(async () => {
|
|
151
|
+
return;
|
|
152
|
+
});
|
|
153
|
+
jest.mocked(docker_compose_1.compose.upAll).mockResolvedValue({
|
|
154
|
+
exitCode: 0,
|
|
155
|
+
out: '',
|
|
156
|
+
err: ''
|
|
157
|
+
});
|
|
158
|
+
// exists(deviceAgentDockerComposePath)
|
|
159
|
+
mockJsSpawner.exists.mockResolvedValueOnce(true);
|
|
160
|
+
// Check status twice, one with container still down and next up
|
|
161
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValueOnce({
|
|
162
|
+
exitCode: 0,
|
|
163
|
+
out: '',
|
|
164
|
+
err: '',
|
|
165
|
+
data: {
|
|
166
|
+
services: [
|
|
167
|
+
{
|
|
168
|
+
name: 'alwaysAIRabbitMQContainer',
|
|
169
|
+
command: '',
|
|
170
|
+
state: 'Down',
|
|
171
|
+
ports: []
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
jest.mocked(docker_compose_1.compose.ps).mockResolvedValueOnce({
|
|
177
|
+
exitCode: 0,
|
|
178
|
+
out: '',
|
|
179
|
+
err: '',
|
|
180
|
+
data: {
|
|
181
|
+
services: [
|
|
182
|
+
{
|
|
183
|
+
name: 'alwaysAIRabbitMQContainer',
|
|
184
|
+
command: '',
|
|
185
|
+
state: 'Up',
|
|
186
|
+
ports: []
|
|
187
|
+
}
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
const running = await (0, rabbitmq_container_1.runRabbitMQContainer)({ max_attempts: 2 });
|
|
192
|
+
expect(jest.mocked(docker_compose_1.compose.ps)).toBeCalledTimes(2);
|
|
193
|
+
expect(running).toBeTruthy();
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
describe('Test stopping RabbitMQ container', () => {
|
|
197
|
+
afterEach(() => {
|
|
198
|
+
jest.clearAllMocks();
|
|
199
|
+
});
|
|
200
|
+
test('Compose down fails', async () => {
|
|
201
|
+
jest.mocked(docker_compose_1.compose.down).mockResolvedValue({
|
|
202
|
+
exitCode: 1,
|
|
203
|
+
out: '',
|
|
204
|
+
err: ''
|
|
205
|
+
});
|
|
206
|
+
const stopped = await (0, rabbitmq_container_1.stopRabbitMQContainer)();
|
|
207
|
+
expect(stopped).toBeFalsy();
|
|
208
|
+
});
|
|
209
|
+
test('Stop succeeds', async () => {
|
|
210
|
+
jest.mocked(docker_compose_1.compose.down).mockResolvedValue({
|
|
211
|
+
exitCode: 0,
|
|
212
|
+
out: '',
|
|
213
|
+
err: ''
|
|
214
|
+
});
|
|
215
|
+
const stopped = await (0, rabbitmq_container_1.stopRabbitMQContainer)();
|
|
216
|
+
expect(stopped).toBeTruthy();
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
//# sourceMappingURL=rabbitmq-container.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rabbitmq-container.test.js","sourceRoot":"","sources":["../../src/local-connection/rabbitmq-container.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/analytics.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,sBAAsB;;4DAkBjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/analytics.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,sBAAsB;;4DAkBjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;4DA+DjC,CAAC"}
|
|
@@ -63,15 +63,14 @@ exports.setAnalyticsCfgCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
63
63
|
appConfig: JSON.stringify(appCfg) // Pack app config as string as dictated by schema
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
+
await deviceAgent.waitForConnection();
|
|
66
67
|
deviceAgent.publisher.publish((0, device_agent_schemas_1.getShadowTopic)(deviceAgent.getClientId(), 'projects', 'update'), JSON.stringify((0, device_agent_schemas_1.buildUpdateShadowMessage)({
|
|
67
68
|
clientId: 'client',
|
|
68
69
|
desired: toDesire
|
|
69
70
|
})));
|
|
70
71
|
// Sleep for extra time to ensure time for shadow response
|
|
71
72
|
await (0, sleep_1.default)(10000);
|
|
72
|
-
|
|
73
|
-
await (0, sleep_1.default)(1000);
|
|
74
|
-
}
|
|
73
|
+
await deviceAgent.waitForCmd(project);
|
|
75
74
|
await deviceAgent.stop();
|
|
76
75
|
}
|
|
77
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/subcommands/app/analytics.ts"],"names":[],"mappings":";;;AAAA,mDAK6B;AAC7B,mEAA2D;AAC3D,wGAAkG;AAClG,4CAAqC;AACrC,mCAAuC;AACvC,yEAGwC;AAE3B,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,gDAAgD;IAC7D,WAAW,EAAE;QACX,OAAO,EAAE,IAAA,0BAAc,EAAC;YACtB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACxD;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;SACpD;IACH,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,qHAAqH;IACvH,WAAW,EAAE;QACX,OAAO,EAAE,IAAA,0BAAc,EAAC;YACtB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,sBAAsB,EAAE,IAAA,wBAAY,EAAC;YACnC,WAAW,EAAE,sCAAsC;SACpD,CAAC;QACF,qBAAqB,EAAE,IAAA,wBAAY,EAAC;YAClC,WAAW,EAAE,qCAAqC;SACnD,CAAC;QACF,iBAAiB,EAAE,IAAA,0BAAc,EAAC;YAChC,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CACV,CAAC,EACD,EACE,OAAO,EACP,sBAAsB,EAAE,kBAAkB,EAC1C,qBAAqB,EAAE,iBAAiB,EACxC,iBAAiB,EAAE,aAAa,EACjC;QAED,MAAM,WAAW,GAAG,IAAI,0DAA0B,EAAE,CAAC;QAErD,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE;gBACT,oBAAoB,EAAE,kBAAkB;gBACxC,mBAAmB,EAAE,iBAAiB;gBACtC,eAAe,EAAE,aAAa;aAC/B;SACF,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,IAAA,cAAK,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAExE,gCAAgC;QAChC,MAAM,QAAQ,GAAG;YACf,CAAC,OAAO,CAAC,EAAE;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,kDAAkD;aACrF;SACF,CAAC;QACF,WAAW,CAAC,SAAS,CAAC,OAAO,CAC3B,IAAA,qCAAc,EAAC,WAAW,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC/D,IAAI,CAAC,SAAS,CACZ,IAAA,+CAAwB,EAAC;YACvB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;SAClB,CAAC,CACH,CACF,CAAC;QACF,0DAA0D;QAC1D,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QAEnB,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/subcommands/app/analytics.ts"],"names":[],"mappings":";;;AAAA,mDAK6B;AAC7B,mEAA2D;AAC3D,wGAAkG;AAClG,4CAAqC;AACrC,mCAAuC;AACvC,yEAGwC;AAE3B,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,gDAAgD;IAC7D,WAAW,EAAE;QACX,OAAO,EAAE,IAAA,0BAAc,EAAC;YACtB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACxD;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;SACpD;IACH,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,qHAAqH;IACvH,WAAW,EAAE;QACX,OAAO,EAAE,IAAA,0BAAc,EAAC;YACtB,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,sBAAsB,EAAE,IAAA,wBAAY,EAAC;YACnC,WAAW,EAAE,sCAAsC;SACpD,CAAC;QACF,qBAAqB,EAAE,IAAA,wBAAY,EAAC;YAClC,WAAW,EAAE,qCAAqC;SACnD,CAAC;QACF,iBAAiB,EAAE,IAAA,0BAAc,EAAC;YAChC,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CACV,CAAC,EACD,EACE,OAAO,EACP,sBAAsB,EAAE,kBAAkB,EAC1C,qBAAqB,EAAE,iBAAiB,EACxC,iBAAiB,EAAE,aAAa,EACjC;QAED,MAAM,WAAW,GAAG,IAAI,0DAA0B,EAAE,CAAC;QAErD,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE;gBACT,oBAAoB,EAAE,kBAAkB;gBACxC,mBAAmB,EAAE,iBAAiB;gBACtC,eAAe,EAAE,aAAa;aAC/B;SACF,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,oCAAc,EAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,IAAA,cAAK,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;QAExE,gCAAgC;QAChC,MAAM,QAAQ,GAAG;YACf,CAAC,OAAO,CAAC,EAAE;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,kDAAkD;aACrF;SACF,CAAC;QACF,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACtC,WAAW,CAAC,SAAS,CAAC,OAAO,CAC3B,IAAA,qCAAc,EAAC,WAAW,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC/D,IAAI,CAAC,SAAS,CACZ,IAAA,+CAAwB,EAAC;YACvB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;SAClB,CAAC,CACH,CACF,CAAC;QACF,0DAA0D;QAC1D,MAAM,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-vars.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/env-vars.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB;;4DAc5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;
|
|
1
|
+
{"version":3,"file":"env-vars.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/env-vars.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB;;4DAc5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;4DAqDxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;4DA2DvB,CAAC"}
|
|
@@ -56,15 +56,14 @@ exports.setEnvCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
56
56
|
envVars: JSON.stringify(envVars)
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
await deviceAgent.waitForConnection();
|
|
59
60
|
deviceAgent.publisher.publish((0, device_agent_schemas_1.getShadowTopic)(deviceAgent.getClientId(), 'projects', 'update'), JSON.stringify((0, device_agent_schemas_1.buildUpdateShadowMessage)({
|
|
60
61
|
clientId: 'client',
|
|
61
62
|
desired: toDesire
|
|
62
63
|
})));
|
|
63
64
|
// Sleep for extra time to ensure time for shadow response
|
|
64
65
|
await (0, sleep_1.default)(10000);
|
|
65
|
-
|
|
66
|
-
await (0, sleep_1.default)(1000);
|
|
67
|
-
}
|
|
66
|
+
await deviceAgent.waitForCmd(projectId);
|
|
68
67
|
await deviceAgent.stop();
|
|
69
68
|
}
|
|
70
69
|
});
|
|
@@ -102,15 +101,14 @@ exports.rmEnvCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
102
101
|
envVars: JSON.stringify(newEnvs)
|
|
103
102
|
}
|
|
104
103
|
};
|
|
104
|
+
await deviceAgent.waitForConnection();
|
|
105
105
|
deviceAgent.publisher.publish((0, device_agent_schemas_1.getShadowTopic)(deviceAgent.getClientId(), 'projects', 'update'), JSON.stringify((0, device_agent_schemas_1.buildUpdateShadowMessage)({
|
|
106
106
|
clientId: 'client',
|
|
107
107
|
desired: toDesire
|
|
108
108
|
})));
|
|
109
109
|
// Sleep for extra time to ensure time for shadow response
|
|
110
110
|
await (0, sleep_1.default)(10000);
|
|
111
|
-
|
|
112
|
-
await (0, sleep_1.default)(1000);
|
|
113
|
-
}
|
|
111
|
+
await deviceAgent.waitForCmd(projectId);
|
|
114
112
|
await deviceAgent.stop();
|
|
115
113
|
}
|
|
116
114
|
});
|