matterbridge 3.1.8-dev-20250727-b8987de → 3.1.8
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/CHANGELOG.md +1 -1
- package/dist/cli.d.ts +26 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +91 -2
- package/dist/cli.js.map +1 -0
- package/dist/cliEmitter.d.ts +34 -0
- package/dist/cliEmitter.d.ts.map +1 -0
- package/dist/cliEmitter.js +30 -0
- package/dist/cliEmitter.js.map +1 -0
- package/dist/clusters/export.d.ts +2 -0
- package/dist/clusters/export.d.ts.map +1 -0
- package/dist/clusters/export.js +2 -0
- package/dist/clusters/export.js.map +1 -0
- package/dist/defaultConfigSchema.d.ts +28 -0
- package/dist/defaultConfigSchema.d.ts.map +1 -0
- package/dist/defaultConfigSchema.js +24 -0
- package/dist/defaultConfigSchema.js.map +1 -0
- package/dist/deviceManager.d.ts +112 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +94 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/devices/batteryStorage.d.ts +48 -0
- package/dist/devices/batteryStorage.d.ts.map +1 -0
- package/dist/devices/batteryStorage.js +48 -1
- package/dist/devices/batteryStorage.js.map +1 -0
- package/dist/devices/dishwasher.d.ts +91 -0
- package/dist/devices/dishwasher.d.ts.map +1 -0
- package/dist/devices/dishwasher.js +78 -3
- package/dist/devices/dishwasher.js.map +1 -0
- package/dist/devices/evse.d.ts +75 -0
- package/dist/devices/evse.d.ts.map +1 -0
- package/dist/devices/evse.js +74 -10
- package/dist/devices/evse.js.map +1 -0
- package/dist/devices/export.d.ts +11 -0
- package/dist/devices/export.d.ts.map +1 -0
- package/dist/devices/export.js +2 -0
- package/dist/devices/export.js.map +1 -0
- package/dist/devices/extractorHood.d.ts +46 -0
- package/dist/devices/extractorHood.d.ts.map +1 -0
- package/dist/devices/extractorHood.js +42 -0
- package/dist/devices/extractorHood.js.map +1 -0
- package/dist/devices/heatPump.d.ts +47 -0
- package/dist/devices/heatPump.d.ts.map +1 -0
- package/dist/devices/heatPump.js +50 -2
- package/dist/devices/heatPump.js.map +1 -0
- package/dist/devices/laundryDryer.d.ts +87 -0
- package/dist/devices/laundryDryer.d.ts.map +1 -0
- package/dist/devices/laundryDryer.js +83 -6
- package/dist/devices/laundryDryer.js.map +1 -0
- package/dist/devices/laundryWasher.d.ts +242 -0
- package/dist/devices/laundryWasher.d.ts.map +1 -0
- package/dist/devices/laundryWasher.js +91 -7
- package/dist/devices/laundryWasher.js.map +1 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
- package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
- package/dist/devices/roboticVacuumCleaner.js +93 -7
- package/dist/devices/roboticVacuumCleaner.js.map +1 -0
- package/dist/devices/solarPower.d.ts +40 -0
- package/dist/devices/solarPower.d.ts.map +1 -0
- package/dist/devices/solarPower.js +38 -0
- package/dist/devices/solarPower.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +111 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +82 -2
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/dgram/coap.d.ts +205 -0
- package/dist/dgram/coap.d.ts.map +1 -0
- package/dist/dgram/coap.js +126 -13
- package/dist/dgram/coap.js.map +1 -0
- package/dist/dgram/dgram.d.ts +140 -0
- package/dist/dgram/dgram.d.ts.map +1 -0
- package/dist/dgram/dgram.js +113 -2
- package/dist/dgram/dgram.js.map +1 -0
- package/dist/dgram/mb_coap.d.ts +24 -0
- package/dist/dgram/mb_coap.d.ts.map +1 -0
- package/dist/dgram/mb_coap.js +41 -3
- package/dist/dgram/mb_coap.js.map +1 -0
- package/dist/dgram/mb_mdns.d.ts +24 -0
- package/dist/dgram/mb_mdns.d.ts.map +1 -0
- package/dist/dgram/mb_mdns.js +51 -13
- package/dist/dgram/mb_mdns.js.map +1 -0
- package/dist/dgram/mdns.d.ts +288 -0
- package/dist/dgram/mdns.d.ts.map +1 -0
- package/dist/dgram/mdns.js +298 -137
- package/dist/dgram/mdns.js.map +1 -0
- package/dist/dgram/multicast.d.ts +65 -0
- package/dist/dgram/multicast.d.ts.map +1 -0
- package/dist/dgram/multicast.js +60 -1
- package/dist/dgram/multicast.js.map +1 -0
- package/dist/dgram/unicast.d.ts +56 -0
- package/dist/dgram/unicast.d.ts.map +1 -0
- package/dist/dgram/unicast.js +54 -0
- package/dist/dgram/unicast.js.map +1 -0
- package/dist/frontend.d.ts +313 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +449 -23
- package/dist/frontend.js.map +1 -0
- package/dist/globalMatterbridge.d.ts +59 -0
- package/dist/globalMatterbridge.d.ts.map +1 -0
- package/dist/globalMatterbridge.js +47 -0
- package/dist/globalMatterbridge.js.map +1 -0
- package/dist/helpers.d.ts +48 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +53 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -1
- package/dist/index.js.map +1 -0
- package/dist/logger/export.d.ts +2 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +2 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +2 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +2 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +2 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +5 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +3 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +3 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +3 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterbridge.d.ts +463 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +803 -50
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +42 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +36 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +1351 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +65 -5
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +709 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +579 -15
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +42 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +36 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +1348 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +1214 -54
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +406 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +344 -12
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +310 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +233 -0
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +197 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +25 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +270 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +249 -3
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +174 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +168 -7
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +2 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +68 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +63 -0
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +117 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +263 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/commandLine.d.ts +59 -0
- package/dist/utils/commandLine.d.ts.map +1 -0
- package/dist/utils/commandLine.js +54 -0
- package/dist/utils/commandLine.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +33 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +38 -1
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createDirectory.d.ts +34 -0
- package/dist/utils/createDirectory.d.ts.map +1 -0
- package/dist/utils/createDirectory.js +33 -0
- package/dist/utils/createDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +39 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +47 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +32 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +39 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +54 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +72 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/error.d.ts +44 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +41 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/export.d.ts +12 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/hex.d.ts +89 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +123 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/isvalid.d.ts +103 -0
- package/dist/utils/isvalid.d.ts.map +1 -0
- package/dist/utils/isvalid.js +101 -0
- package/dist/utils/isvalid.js.map +1 -0
- package/dist/utils/network.d.ts +74 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +81 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spawn.d.ts +33 -0
- package/dist/utils/spawn.d.ts.map +1 -0
- package/dist/utils/spawn.js +40 -0
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/wait.d.ts +56 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +62 -9
- package/dist/utils/wait.js.map +1 -0
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.dd4772c9.js → main.6ab99f2a.js} +3 -3
- package/frontend/build/static/js/{main.dd4772c9.js.map → main.6ab99f2a.js.map} +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
- package/vitest/matterbridge.test.ts +0 -218
- /package/frontend/build/static/js/{main.dd4772c9.js.LICENSE.txt → main.6ab99f2a.js.LICENSE.txt} +0 -0
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.1.8
|
|
3
|
+
"version": "3.1.8",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "3.1.8
|
|
9
|
+
"version": "3.1.8",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@matter/main": "0.15.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.1.8
|
|
3
|
+
"version": "3.1.8",
|
|
4
4
|
"description": "Matterbridge plugin manager for Matter",
|
|
5
5
|
"author": "https://github.com/Luligu",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
],
|
|
42
42
|
"type": "module",
|
|
43
43
|
"main": "dist/index.js",
|
|
44
|
+
"types": "dist/index.d.ts",
|
|
44
45
|
"bin": {
|
|
45
46
|
"matterbridge": "bin/matterbridge.js",
|
|
46
47
|
"mb_mdns": "bin/mb_mdns.js",
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
|
|
3
|
-
import { vi, describe, it, expect, beforeEach, afterEach, MockInstance } from 'vitest';
|
|
4
|
-
import { AnsiLogger, LogLevel, TimestampFormat } from 'node-ansi-logger';
|
|
5
|
-
|
|
6
|
-
import * as spawn from '../src/utils/spawn.ts';
|
|
7
|
-
import { Matterbridge } from '../src/matterbridge.ts';
|
|
8
|
-
|
|
9
|
-
const NAME = 'ViMatterbridgeGlobal';
|
|
10
|
-
const HOMEDIR = path.join('jest', NAME);
|
|
11
|
-
|
|
12
|
-
process.argv = ['node', 'matterbridge.test.js', '-novirtual', '-frontend', '0', '-homedir', HOMEDIR, '-logger', 'debug', '-matterlogger', 'debug'];
|
|
13
|
-
|
|
14
|
-
// Partial mock for @matter/main, preserving all actual exports except Logger
|
|
15
|
-
vi.mock('@matter/main', async (importOriginal) => {
|
|
16
|
-
const actual = await importOriginal();
|
|
17
|
-
return {
|
|
18
|
-
...(actual as Record<string, unknown>),
|
|
19
|
-
Logger: {
|
|
20
|
-
log: vi.fn(),
|
|
21
|
-
info: vi.fn(),
|
|
22
|
-
debug: vi.fn(),
|
|
23
|
-
warn: vi.fn(),
|
|
24
|
-
error: vi.fn(),
|
|
25
|
-
fatal: vi.fn(),
|
|
26
|
-
addLogger: vi.fn(),
|
|
27
|
-
setLogger: vi.fn(),
|
|
28
|
-
removeLogger: vi.fn(),
|
|
29
|
-
toJSON: vi.fn(() => ''),
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
let loggerLogSpy: MockInstance<typeof AnsiLogger.prototype.log>;
|
|
35
|
-
let consoleLogSpy: MockInstance<typeof console.log>;
|
|
36
|
-
let consoleDebugSpy: MockInstance<typeof console.debug>;
|
|
37
|
-
let consoleInfoSpy: MockInstance<typeof console.info>;
|
|
38
|
-
let consoleWarnSpy: MockInstance<typeof console.warn>;
|
|
39
|
-
let consoleErrorSpy: MockInstance<typeof console.error>;
|
|
40
|
-
const debug = false; // Set to true to enable debug logging
|
|
41
|
-
|
|
42
|
-
if (!debug) {
|
|
43
|
-
loggerLogSpy = vi.spyOn(AnsiLogger.prototype, 'log').mockImplementation((level: string, message: string, ...parameters: any[]) => {});
|
|
44
|
-
consoleLogSpy = vi.spyOn(console, 'log').mockImplementation((...args: any[]) => {});
|
|
45
|
-
consoleDebugSpy = vi.spyOn(console, 'debug').mockImplementation((...args: any[]) => {});
|
|
46
|
-
consoleInfoSpy = vi.spyOn(console, 'info').mockImplementation((...args: any[]) => {});
|
|
47
|
-
consoleWarnSpy = vi.spyOn(console, 'warn').mockImplementation((...args: any[]) => {});
|
|
48
|
-
consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation((...args: any[]) => {});
|
|
49
|
-
} else {
|
|
50
|
-
loggerLogSpy = vi.spyOn(AnsiLogger.prototype, 'log');
|
|
51
|
-
consoleLogSpy = vi.spyOn(console, 'log');
|
|
52
|
-
consoleDebugSpy = vi.spyOn(console, 'debug');
|
|
53
|
-
consoleInfoSpy = vi.spyOn(console, 'info');
|
|
54
|
-
consoleWarnSpy = vi.spyOn(console, 'warn');
|
|
55
|
-
consoleErrorSpy = vi.spyOn(console, 'error');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
describe('Matterbridge', () => {
|
|
59
|
-
let matterbridge: Matterbridge;
|
|
60
|
-
|
|
61
|
-
beforeEach(async () => {
|
|
62
|
-
matterbridge = await Matterbridge.loadInstance(false);
|
|
63
|
-
// Set up required properties/mocks
|
|
64
|
-
matterbridge.log = { debug: vi.fn(), info: vi.fn(), notice: vi.fn(), warn: vi.fn(), error: vi.fn(), fatal: vi.fn(), now: vi.fn() } as any;
|
|
65
|
-
// matterbridge.log = new AnsiLogger({ logName: 'Matterbridge', logTimestampFormat: TimestampFormat.TIME_MILLIS, logLevel: LogLevel.DEBUG });
|
|
66
|
-
matterbridge.plugins = { array: () => [], clear: vi.fn(), [Symbol.iterator]: function* () {} } as any;
|
|
67
|
-
matterbridge.devices = { array: () => [], clear: vi.fn(), [Symbol.iterator]: function* () {} } as any;
|
|
68
|
-
matterbridge.frontend = {
|
|
69
|
-
start: vi.fn(),
|
|
70
|
-
stop: vi.fn(),
|
|
71
|
-
wssSendRefreshRequired: vi.fn(),
|
|
72
|
-
wssSendRestartRequired: vi.fn(),
|
|
73
|
-
wssSendSnackbarMessage: vi.fn(),
|
|
74
|
-
wssSendMessage: vi.fn(),
|
|
75
|
-
} as any;
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
afterEach(() => {
|
|
79
|
-
vi.clearAllMocks();
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('should initialize system and matterbridge information', () => {
|
|
83
|
-
expect(matterbridge.systemInformation).toBeDefined();
|
|
84
|
-
expect(matterbridge.matterbridgeInformation).toBeDefined();
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
it('should emit initialize_completed after initialize', async () => {
|
|
88
|
-
const spy = vi.fn();
|
|
89
|
-
matterbridge.on('initialize_completed', spy);
|
|
90
|
-
await matterbridge.initialize();
|
|
91
|
-
expect(spy).toHaveBeenCalled();
|
|
92
|
-
expect((matterbridge as any)['initialized']).toBe(true);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it('should call parseCommandLine during initialize', async () => {
|
|
96
|
-
const spy = vi.spyOn(matterbridge as any, 'parseCommandLine').mockResolvedValue(undefined);
|
|
97
|
-
await matterbridge.initialize();
|
|
98
|
-
expect(spy).toHaveBeenCalled();
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
it('should log system info in logNodeAndSystemInfo', async () => {
|
|
102
|
-
await (matterbridge as any)['logNodeAndSystemInfo']();
|
|
103
|
-
expect(matterbridge.log.debug).toHaveBeenCalled();
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
it('should register and deregister process handlers', () => {
|
|
107
|
-
(matterbridge as any)['registerProcessHandlers']();
|
|
108
|
-
(matterbridge as any)['deregisterProcessHandlers']();
|
|
109
|
-
expect(matterbridge.log.error).not.toHaveBeenCalled();
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
it('should call cleanup and emit cleanup events', async () => {
|
|
113
|
-
(matterbridge as any)['initialized'] = true;
|
|
114
|
-
(matterbridge as any)['hasCleanupStarted'] = false;
|
|
115
|
-
const spyStart = vi.fn();
|
|
116
|
-
const spyComplete = vi.fn();
|
|
117
|
-
matterbridge.on('cleanup_started', spyStart);
|
|
118
|
-
matterbridge.on('cleanup_completed', spyComplete);
|
|
119
|
-
await (matterbridge as any)['cleanup']('test cleanup');
|
|
120
|
-
expect(spyStart).toHaveBeenCalled();
|
|
121
|
-
expect(spyComplete).toHaveBeenCalled();
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
it('should not run cleanup if already started', async () => {
|
|
125
|
-
(matterbridge as any)['initialized'] = true;
|
|
126
|
-
(matterbridge as any)['hasCleanupStarted'] = true;
|
|
127
|
-
const debugSpy = matterbridge.log.debug as any;
|
|
128
|
-
await (matterbridge as any)['cleanup']('test cleanup');
|
|
129
|
-
expect(debugSpy).toHaveBeenCalledWith('Cleanup already started...');
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
it('should get devices using getDevices()', () => {
|
|
133
|
-
const fakeDevices = [{ id: 1 }, { id: 2 }];
|
|
134
|
-
matterbridge.devices.array = vi.fn(() => fakeDevices) as any;
|
|
135
|
-
expect(matterbridge.getDevices()).toBe(fakeDevices);
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
it('should get plugins using getPlugins()', () => {
|
|
139
|
-
const fakePlugins = [{ name: 'p1' }, { name: 'p2' }];
|
|
140
|
-
matterbridge.plugins.array = vi.fn(() => fakePlugins) as any;
|
|
141
|
-
expect(matterbridge.getPlugins()).toBe(fakePlugins);
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
it('should set log level and propagate to dependencies', async () => {
|
|
145
|
-
const setLevel = vi.fn();
|
|
146
|
-
matterbridge.frontend.logLevel = LogLevel.NONE; // Set to NONE initially
|
|
147
|
-
matterbridge.devices.logLevel = LogLevel.NONE;
|
|
148
|
-
matterbridge.plugins.logLevel = LogLevel.NONE;
|
|
149
|
-
(global as any).MatterbridgeEndpoint = { logLevel: LogLevel.NONE };
|
|
150
|
-
matterbridge.log = { debug: vi.fn() } as any;
|
|
151
|
-
await matterbridge.setLogLevel(LogLevel.INFO);
|
|
152
|
-
expect(matterbridge.frontend.logLevel).toBe(LogLevel.INFO);
|
|
153
|
-
expect(matterbridge.devices.logLevel).toBe(LogLevel.INFO);
|
|
154
|
-
expect(matterbridge.plugins.logLevel).toBe(LogLevel.INFO);
|
|
155
|
-
expect(matterbridge.log.debug).toHaveBeenCalled();
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
it('should emit and listen to custom events', () => {
|
|
159
|
-
const handler = vi.fn();
|
|
160
|
-
matterbridge.on('online', handler);
|
|
161
|
-
matterbridge.emit('online', 'nodeid');
|
|
162
|
-
expect(handler).toHaveBeenCalledWith('nodeid');
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
it('should call destroyInstance and cleanup', async () => {
|
|
166
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
167
|
-
matterbridge.log.info = vi.fn();
|
|
168
|
-
await matterbridge.destroyInstance(10);
|
|
169
|
-
expect(cleanupSpy).toHaveBeenCalled();
|
|
170
|
-
expect(matterbridge.log.info).toHaveBeenCalledWith(expect.stringContaining('Destroy instance...'));
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
it('should call restartProcess and cleanup', async () => {
|
|
174
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
175
|
-
await matterbridge.restartProcess();
|
|
176
|
-
expect(cleanupSpy).toHaveBeenCalledWith('restarting...', true);
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
it('should call shutdownProcess and cleanup', async () => {
|
|
180
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
181
|
-
await matterbridge.shutdownProcess();
|
|
182
|
-
expect(cleanupSpy).toHaveBeenCalledWith('shutting down...', false);
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
it('should call updateProcess and cleanup', async () => {
|
|
186
|
-
const spawnSpy = vi.spyOn(spawn, 'spawnCommand').mockResolvedValueOnce(true);
|
|
187
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
188
|
-
matterbridge.log.info = vi.fn();
|
|
189
|
-
await matterbridge.updateProcess();
|
|
190
|
-
expect(spawnSpy).toHaveBeenCalledWith(matterbridge, 'npm', ['install', '-g', 'matterbridge', '--omit=dev', '--verbose']);
|
|
191
|
-
expect(cleanupSpy).toHaveBeenCalledWith('updating...', false);
|
|
192
|
-
expect(matterbridge.log.info).toHaveBeenCalledWith(expect.stringContaining('Updating matterbridge...'));
|
|
193
|
-
expect((matterbridge.frontend as any).wssSendRestartRequired).toHaveBeenCalled();
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
it('should call unregisterAndShutdownProcess and cleanup', async () => {
|
|
197
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
198
|
-
matterbridge.log.info = vi.fn();
|
|
199
|
-
matterbridge.plugins = [{ name: 'p1' }] as any;
|
|
200
|
-
matterbridge.removeAllBridgedEndpoints = vi.fn().mockResolvedValue(undefined);
|
|
201
|
-
matterbridge.devices.clear = vi.fn();
|
|
202
|
-
await matterbridge.unregisterAndShutdownProcess();
|
|
203
|
-
expect(cleanupSpy).toHaveBeenCalledWith('unregistered all devices and shutting down...', false);
|
|
204
|
-
expect(matterbridge.log.info).toHaveBeenCalledWith(expect.stringContaining('Unregistering all devices and shutting down...'));
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
it('should call shutdownProcessAndReset and cleanup', async () => {
|
|
208
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
209
|
-
await matterbridge.shutdownProcessAndReset();
|
|
210
|
-
expect(cleanupSpy).toHaveBeenCalledWith('shutting down with reset...', false);
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
it('should call shutdownProcessAndFactoryReset and cleanup', async () => {
|
|
214
|
-
const cleanupSpy = vi.spyOn(matterbridge as any, 'cleanup').mockResolvedValue(undefined);
|
|
215
|
-
await matterbridge.shutdownProcessAndFactoryReset();
|
|
216
|
-
expect(cleanupSpy).toHaveBeenCalledWith('shutting down with factory reset...', false);
|
|
217
|
-
});
|
|
218
|
-
});
|
/package/frontend/build/static/js/{main.dd4772c9.js.LICENSE.txt → main.6ab99f2a.js.LICENSE.txt}
RENAMED
|
File without changes
|