@digital-alchemy/hass 24.9.3 → 24.9.5

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.
Files changed (276) hide show
  1. package/README.md +3 -0
  2. package/dist/dynamic.d.ts +1 -1
  3. package/dist/dynamic.js +7 -2
  4. package/dist/dynamic.js.map +1 -1
  5. package/dist/extensions/area.extension.d.ts +2 -12
  6. package/dist/extensions/area.extension.js +20 -26
  7. package/dist/extensions/area.extension.js.map +1 -1
  8. package/dist/extensions/backup.extension.d.ts +2 -7
  9. package/dist/extensions/backup.extension.js +5 -8
  10. package/dist/extensions/backup.extension.js.map +1 -1
  11. package/dist/extensions/call-proxy.extension.d.ts +1 -1
  12. package/dist/extensions/call-proxy.extension.js +3 -22
  13. package/dist/extensions/call-proxy.extension.js.map +1 -1
  14. package/dist/extensions/config.extension.d.ts +2 -6
  15. package/dist/extensions/config.extension.js +21 -25
  16. package/dist/extensions/config.extension.js.map +1 -1
  17. package/dist/extensions/conversation.extension.d.ts +2 -6
  18. package/dist/extensions/conversation.extension.js +5 -8
  19. package/dist/extensions/conversation.extension.js.map +1 -1
  20. package/dist/extensions/device.extension.d.ts +2 -5
  21. package/dist/extensions/device.extension.js +16 -22
  22. package/dist/extensions/device.extension.js.map +1 -1
  23. package/dist/extensions/entity.extension.d.ts +2 -61
  24. package/dist/extensions/entity.extension.js +42 -83
  25. package/dist/extensions/entity.extension.js.map +1 -1
  26. package/dist/extensions/events.extension.d.ts +3 -11
  27. package/dist/extensions/events.extension.js +8 -11
  28. package/dist/extensions/events.extension.js.map +1 -1
  29. package/dist/extensions/fetch-api.extension.d.ts +12 -4
  30. package/dist/extensions/fetch-api.extension.js +23 -35
  31. package/dist/extensions/fetch-api.extension.js.map +1 -1
  32. package/dist/extensions/floor.extension.d.ts +2 -9
  33. package/dist/extensions/floor.extension.js +17 -23
  34. package/dist/extensions/floor.extension.js.map +1 -1
  35. package/dist/extensions/id-by.extension.js +15 -20
  36. package/dist/extensions/id-by.extension.js.map +1 -1
  37. package/dist/extensions/index.d.ts +1 -0
  38. package/dist/extensions/index.js +16 -18
  39. package/dist/extensions/index.js.map +1 -1
  40. package/dist/extensions/internal.extension.d.ts +18 -0
  41. package/dist/extensions/internal.extension.js +102 -0
  42. package/dist/extensions/internal.extension.js.map +1 -0
  43. package/dist/extensions/label.extension.d.ts +2 -9
  44. package/dist/extensions/label.extension.js +17 -23
  45. package/dist/extensions/label.extension.js.map +1 -1
  46. package/dist/extensions/reference.extension.d.ts +2 -12
  47. package/dist/extensions/reference.extension.js +19 -25
  48. package/dist/extensions/reference.extension.js.map +1 -1
  49. package/dist/extensions/registry.extension.d.ts +2 -7
  50. package/dist/extensions/registry.extension.js +1 -4
  51. package/dist/extensions/registry.extension.js.map +1 -1
  52. package/dist/extensions/websocket-api.extension.d.ts +3 -78
  53. package/dist/extensions/websocket-api.extension.js +82 -165
  54. package/dist/extensions/websocket-api.extension.js.map +1 -1
  55. package/dist/extensions/zone.extension.d.ts +2 -7
  56. package/dist/extensions/zone.extension.js +15 -21
  57. package/dist/extensions/zone.extension.js.map +1 -1
  58. package/dist/hass.module.d.ts +47 -36
  59. package/dist/hass.module.js +70 -70
  60. package/dist/hass.module.js.map +1 -1
  61. package/dist/helpers/backup.helper.js +1 -2
  62. package/dist/helpers/constants.helper.js +15 -18
  63. package/dist/helpers/constants.helper.js.map +1 -1
  64. package/dist/helpers/device.helper.js +2 -5
  65. package/dist/helpers/device.helper.js.map +1 -1
  66. package/dist/helpers/entity-state.helper.d.ts +3 -8
  67. package/dist/helpers/entity-state.helper.js +1 -8
  68. package/dist/helpers/entity-state.helper.js.map +1 -1
  69. package/dist/helpers/features.helper.js +79 -85
  70. package/dist/helpers/features.helper.js.map +1 -1
  71. package/dist/helpers/fetch/calendar.js +1 -2
  72. package/dist/helpers/fetch/configuration.js +2 -5
  73. package/dist/helpers/fetch/configuration.js.map +1 -1
  74. package/dist/helpers/fetch/index.js +5 -8
  75. package/dist/helpers/fetch/index.js.map +1 -1
  76. package/dist/helpers/fetch/server-log.js +1 -2
  77. package/dist/helpers/fetch/server-log.js.map +1 -1
  78. package/dist/helpers/fetch/service-list.js +1 -2
  79. package/dist/helpers/fetch/weather-forecasts.js +1 -2
  80. package/dist/helpers/fetch/weather-forecasts.js.map +1 -1
  81. package/dist/helpers/fetch.helper.d.ts +162 -0
  82. package/dist/helpers/fetch.helper.js +161 -0
  83. package/dist/helpers/fetch.helper.js.map +1 -0
  84. package/dist/helpers/id-by.helper.js +1 -2
  85. package/dist/helpers/index.d.ts +2 -1
  86. package/dist/helpers/index.js +13 -15
  87. package/dist/helpers/index.js.map +1 -1
  88. package/dist/helpers/interfaces.helper.d.ts +228 -0
  89. package/dist/helpers/interfaces.helper.js +10 -0
  90. package/dist/helpers/interfaces.helper.js.map +1 -0
  91. package/dist/helpers/manifest.helper.d.ts +0 -1
  92. package/dist/helpers/manifest.helper.js +0 -1
  93. package/dist/helpers/notify.helper.d.ts +13 -5
  94. package/dist/helpers/notify.helper.js +1 -2
  95. package/dist/helpers/registry.js +7 -10
  96. package/dist/helpers/registry.js.map +1 -1
  97. package/dist/helpers/utility.helper.d.ts +6 -1
  98. package/dist/helpers/utility.helper.js +9 -13
  99. package/dist/helpers/utility.helper.js.map +1 -1
  100. package/dist/helpers/websocket.helper.d.ts +1 -2
  101. package/dist/helpers/websocket.helper.js +1 -2
  102. package/dist/index.js +5 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/mock_assistant/extensions/area.extension.d.ts +8 -0
  105. package/dist/mock_assistant/extensions/area.extension.js +51 -0
  106. package/dist/mock_assistant/extensions/area.extension.js.map +1 -0
  107. package/dist/mock_assistant/extensions/config.extension.d.ts +14 -0
  108. package/dist/mock_assistant/extensions/config.extension.js +29 -0
  109. package/dist/mock_assistant/extensions/config.extension.js.map +1 -0
  110. package/dist/mock_assistant/extensions/device.extension.d.ts +8 -0
  111. package/dist/mock_assistant/extensions/device.extension.js +33 -0
  112. package/dist/mock_assistant/extensions/device.extension.js.map +1 -0
  113. package/dist/mock_assistant/extensions/entity-registry.extension.d.ts +13 -0
  114. package/dist/mock_assistant/extensions/entity-registry.extension.js +28 -0
  115. package/dist/mock_assistant/extensions/entity-registry.extension.js.map +1 -0
  116. package/dist/mock_assistant/extensions/entity.extension.d.ts +30 -0
  117. package/dist/mock_assistant/extensions/entity.extension.js +77 -0
  118. package/dist/mock_assistant/extensions/entity.extension.js.map +1 -0
  119. package/dist/mock_assistant/extensions/events.extension.d.ts +1 -1
  120. package/dist/mock_assistant/extensions/events.extension.js +3 -6
  121. package/dist/mock_assistant/extensions/events.extension.js.map +1 -1
  122. package/dist/mock_assistant/extensions/fetch.extension.d.ts +1 -0
  123. package/dist/mock_assistant/extensions/fetch.extension.js +4 -0
  124. package/dist/mock_assistant/extensions/fetch.extension.js.map +1 -0
  125. package/dist/mock_assistant/extensions/fixtures.extension.d.ts +1 -1
  126. package/dist/mock_assistant/extensions/fixtures.extension.js +29 -33
  127. package/dist/mock_assistant/extensions/fixtures.extension.js.map +1 -1
  128. package/dist/mock_assistant/extensions/floor.extension.d.ts +8 -0
  129. package/dist/mock_assistant/extensions/floor.extension.js +51 -0
  130. package/dist/mock_assistant/extensions/floor.extension.js.map +1 -0
  131. package/dist/mock_assistant/extensions/index.d.ts +10 -0
  132. package/dist/mock_assistant/extensions/index.js +12 -5
  133. package/dist/mock_assistant/extensions/index.js.map +1 -1
  134. package/dist/mock_assistant/extensions/label.extension.d.ts +8 -0
  135. package/dist/mock_assistant/extensions/label.extension.js +51 -0
  136. package/dist/mock_assistant/extensions/label.extension.js.map +1 -0
  137. package/dist/mock_assistant/extensions/services.extension.d.ts +12 -0
  138. package/dist/mock_assistant/extensions/services.extension.js +20 -0
  139. package/dist/mock_assistant/extensions/services.extension.js.map +1 -0
  140. package/dist/mock_assistant/extensions/websocket-api.extension.d.ts +15 -0
  141. package/dist/mock_assistant/extensions/websocket-api.extension.js +68 -0
  142. package/dist/mock_assistant/extensions/websocket-api.extension.js.map +1 -0
  143. package/dist/mock_assistant/extensions/zone.extension.d.ts +8 -0
  144. package/dist/mock_assistant/extensions/zone.extension.js +51 -0
  145. package/dist/mock_assistant/extensions/zone.extension.js.map +1 -0
  146. package/dist/mock_assistant/helpers/fixtures.js +1 -2
  147. package/dist/mock_assistant/helpers/index.d.ts +0 -1
  148. package/dist/mock_assistant/helpers/index.js +1 -5
  149. package/dist/mock_assistant/helpers/index.js.map +1 -1
  150. package/dist/mock_assistant/index.js +3 -6
  151. package/dist/mock_assistant/index.js.map +1 -1
  152. package/dist/mock_assistant/main.js +11 -15
  153. package/dist/mock_assistant/main.js.map +1 -1
  154. package/dist/mock_assistant/mock-assistant.module.d.ts +156 -3
  155. package/dist/mock_assistant/mock-assistant.module.js +56 -11
  156. package/dist/mock_assistant/mock-assistant.module.js.map +1 -1
  157. package/dist/quickboot.module.js +5 -8
  158. package/dist/quickboot.module.js.map +1 -1
  159. package/dist/testing/area.spec.js +106 -194
  160. package/dist/testing/area.spec.js.map +1 -1
  161. package/dist/testing/backup.spec.js +97 -139
  162. package/dist/testing/backup.spec.js.map +1 -1
  163. package/dist/testing/config.spec.js +79 -153
  164. package/dist/testing/config.spec.js.map +1 -1
  165. package/dist/testing/device.spec.js +35 -69
  166. package/dist/testing/device.spec.js.map +1 -1
  167. package/dist/testing/entity.spec.js +94 -149
  168. package/dist/testing/entity.spec.js.map +1 -1
  169. package/dist/testing/events.spec.js +33 -57
  170. package/dist/testing/events.spec.js.map +1 -1
  171. package/dist/testing/fetch-api.spec.js +242 -427
  172. package/dist/testing/fetch-api.spec.js.map +1 -1
  173. package/dist/testing/fixtures.spec.d.ts +1 -0
  174. package/dist/testing/fixtures.spec.js +150 -0
  175. package/dist/testing/fixtures.spec.js.map +1 -0
  176. package/dist/testing/floor.spec.js +106 -194
  177. package/dist/testing/floor.spec.js.map +1 -1
  178. package/dist/testing/id-by.spec.js +68 -107
  179. package/dist/testing/id-by.spec.js.map +1 -1
  180. package/dist/testing/label.spec.js +106 -194
  181. package/dist/testing/label.spec.js.map +1 -1
  182. package/dist/testing/ref-by.spec.js +155 -219
  183. package/dist/testing/ref-by.spec.js.map +1 -1
  184. package/dist/testing/websocket.spec.d.ts +1 -8
  185. package/dist/testing/websocket.spec.js +35 -50
  186. package/dist/testing/websocket.spec.js.map +1 -1
  187. package/dist/testing/workflow.spec.js +82 -81
  188. package/dist/testing/workflow.spec.js.map +1 -1
  189. package/dist/testing/zone.spec.js +61 -113
  190. package/dist/testing/zone.spec.js.map +1 -1
  191. package/package.json +62 -44
  192. package/scripts/mock-assistant.sh +5 -0
  193. package/scripts/run-e2e.sh +7 -0
  194. package/scripts/test.sh +2 -0
  195. package/src/dynamic.ts +4254 -0
  196. package/src/extensions/area.extension.ts +118 -0
  197. package/src/extensions/backup.extension.ts +63 -0
  198. package/src/extensions/call-proxy.extension.ts +113 -0
  199. package/src/extensions/config.extension.ts +119 -0
  200. package/src/extensions/conversation.extension.ts +46 -0
  201. package/src/extensions/device.extension.ts +56 -0
  202. package/src/extensions/entity.extension.ts +344 -0
  203. package/src/extensions/events.extension.ts +25 -0
  204. package/src/extensions/fetch-api.extension.ts +269 -0
  205. package/src/extensions/floor.extension.ts +76 -0
  206. package/src/extensions/id-by.extension.ts +157 -0
  207. package/src/extensions/index.ts +16 -0
  208. package/src/extensions/internal.extension.ts +145 -0
  209. package/src/extensions/label.extension.ts +83 -0
  210. package/src/extensions/reference.extension.ts +330 -0
  211. package/src/extensions/registry.extension.ts +44 -0
  212. package/src/extensions/websocket-api.extension.ts +554 -0
  213. package/src/extensions/zone.extension.ts +69 -0
  214. package/src/hass.module.ts +217 -0
  215. package/src/helpers/backup.helper.ts +11 -0
  216. package/src/helpers/constants.helper.ts +30 -0
  217. package/src/helpers/device.helper.ts +25 -0
  218. package/src/helpers/entity-state.helper.ts +171 -0
  219. package/src/helpers/features.helper.ts +580 -0
  220. package/src/helpers/fetch/calendar.ts +54 -0
  221. package/src/helpers/fetch/configuration.ts +75 -0
  222. package/src/helpers/fetch/index.ts +5 -0
  223. package/src/helpers/fetch/server-log.ts +28 -0
  224. package/src/helpers/fetch/service-list.ts +64 -0
  225. package/src/helpers/fetch/weather-forecasts.ts +86 -0
  226. package/src/helpers/fetch.helper.ts +328 -0
  227. package/src/helpers/id-by.helper.ts +53 -0
  228. package/src/helpers/index.ts +13 -0
  229. package/src/helpers/interfaces.helper.ts +340 -0
  230. package/src/helpers/manifest.helper.ts +0 -0
  231. package/src/helpers/notify.helper.ts +302 -0
  232. package/src/helpers/registry.ts +281 -0
  233. package/src/helpers/utility.helper.ts +147 -0
  234. package/src/helpers/websocket.helper.ts +117 -0
  235. package/src/index.ts +5 -0
  236. package/src/mock_assistant/extensions/area.extension.ts +62 -0
  237. package/src/mock_assistant/extensions/config.extension.ts +33 -0
  238. package/src/mock_assistant/extensions/device.extension.ts +44 -0
  239. package/src/mock_assistant/extensions/entity-registry.extension.ts +41 -0
  240. package/src/mock_assistant/extensions/entity.extension.ts +114 -0
  241. package/src/mock_assistant/extensions/events.extension.ts +37 -0
  242. package/src/mock_assistant/extensions/fetch.extension.ts +3 -0
  243. package/src/mock_assistant/extensions/fixtures.extension.ts +79 -0
  244. package/src/mock_assistant/extensions/floor.extension.ts +64 -0
  245. package/src/mock_assistant/extensions/index.ts +12 -0
  246. package/src/mock_assistant/extensions/label.extension.ts +64 -0
  247. package/src/mock_assistant/extensions/services.extension.ts +25 -0
  248. package/src/mock_assistant/extensions/websocket-api.extension.ts +84 -0
  249. package/src/mock_assistant/extensions/zone.extension.ts +65 -0
  250. package/src/mock_assistant/helpers/fixtures.ts +22 -0
  251. package/src/mock_assistant/helpers/index.ts +1 -0
  252. package/src/mock_assistant/index.ts +3 -0
  253. package/src/mock_assistant/main.ts +46 -0
  254. package/src/mock_assistant/mock-assistant.module.ts +90 -0
  255. package/src/quickboot.module.ts +23 -0
  256. package/src/testing/area.spec.ts +189 -0
  257. package/src/testing/backup.spec.ts +157 -0
  258. package/src/testing/config.spec.ts +188 -0
  259. package/src/testing/device.spec.ts +89 -0
  260. package/src/testing/entity.spec.ts +171 -0
  261. package/src/testing/events.spec.ts +78 -0
  262. package/src/testing/fetch-api.spec.ts +410 -0
  263. package/src/testing/fixtures.spec.ts +158 -0
  264. package/src/testing/floor.spec.ts +186 -0
  265. package/src/testing/id-by.spec.ts +140 -0
  266. package/src/testing/label.spec.ts +186 -0
  267. package/src/testing/ref-by.spec.ts +300 -0
  268. package/src/testing/websocket.spec.ts +63 -0
  269. package/src/testing/workflow.spec.ts +195 -0
  270. package/src/testing/zone.spec.ts +109 -0
  271. package/dist/helpers/metrics.helper.d.ts +0 -29
  272. package/dist/helpers/metrics.helper.js +0 -62
  273. package/dist/helpers/metrics.helper.js.map +0 -1
  274. package/dist/mock_assistant/helpers/utils.d.ts +0 -4
  275. package/dist/mock_assistant/helpers/utils.js +0 -57
  276. package/dist/mock_assistant/helpers/utils.js.map +0 -1
@@ -1,143 +1,90 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const process_1 = require("process");
4
- const mock_assistant_1 = require("../mock_assistant");
5
- const DEFAULTS = "DEFAULTS";
1
+ import { env } from "process";
2
+ import { hassTestRunner } from "../mock_assistant";
3
+ const TOKEN = "DEFAULTS";
6
4
  describe("Config", () => {
7
- let application;
8
- beforeAll(() => {
9
- delete process_1.env.HASSIO_TOKEN;
10
- delete process_1.env.SUPERVISOR_TOKEN;
11
- delete process_1.env.HASS_SERVER;
5
+ beforeEach(() => {
6
+ delete env.HASSIO_TOKEN;
7
+ delete env.SUPERVISOR_TOKEN;
8
+ delete env.HASS_SERVER;
12
9
  });
13
10
  afterEach(async () => {
14
- if (application) {
15
- await application.teardown();
16
- application = undefined;
17
- }
18
- delete process_1.env.HASSIO_TOKEN;
19
- delete process_1.env.SUPERVISOR_TOKEN;
20
- delete process_1.env.HASS_SERVER;
11
+ await hassTestRunner.teardown();
21
12
  jest.restoreAllMocks();
22
13
  });
23
14
  describe("Auto", () => {
24
15
  // # Should do nothing if variables do not exist
25
16
  it("should do nothing if variables do not exist", async () => {
26
17
  expect.assertions(2);
27
- const URL = "http://localhost:9123";
28
- application = (0, mock_assistant_1.CreateTestingApplication)({
29
- Test({ config, lifecycle }) {
30
- lifecycle.onPostConfig(() => {
31
- expect(config.hass.BASE_URL).toBe(URL);
32
- expect(config.hass.TOKEN).toBe(DEFAULTS);
33
- });
34
- },
18
+ const BASE_URL = "http://localhost:9123";
19
+ await hassTestRunner.configure({ hass: { BASE_URL, TOKEN } }).run(({ lifecycle, config }) => {
20
+ lifecycle.onPostConfig(() => {
21
+ expect(config.hass.BASE_URL).toBe(BASE_URL);
22
+ expect(config.hass.TOKEN).toBe(TOKEN);
23
+ });
35
24
  });
36
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
37
- hass: {
38
- AUTO_CONNECT_SOCKET: false,
39
- AUTO_SCAN_CALL_PROXY: false,
40
- BASE_URL: URL,
41
- TOKEN: DEFAULTS,
42
- },
43
- }));
44
25
  });
45
26
  // # Should set BASE_URL & TOKEN if provided env
46
27
  it("should set BASE_URL & TOKEN if provided env", async () => {
47
28
  expect.assertions(2);
48
- process_1.env.HASSIO_TOKEN = "FOO";
49
- application = (0, mock_assistant_1.CreateTestingApplication)({
50
- Test({ config, lifecycle }) {
51
- lifecycle.onPostConfig(() => {
52
- expect(config.hass.BASE_URL).toBe("http://supervisor/core");
53
- expect(config.hass.TOKEN).toBe("FOO");
54
- });
55
- },
29
+ env.HASSIO_TOKEN = "FOO";
30
+ await hassTestRunner
31
+ .configure({
32
+ hass: { BASE_URL: "http://localhost:9123", TOKEN: TOKEN },
33
+ })
34
+ .run(({ lifecycle, config }) => {
35
+ lifecycle.onPostConfig(() => {
36
+ expect(config.hass.BASE_URL).toBe("http://supervisor/core");
37
+ expect(config.hass.TOKEN).toBe("FOO");
38
+ });
56
39
  });
57
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
58
- hass: {
59
- AUTO_CONNECT_SOCKET: false,
60
- AUTO_SCAN_CALL_PROXY: false,
61
- BASE_URL: "http://localhost:9123",
62
- TOKEN: DEFAULTS,
63
- },
64
- }));
65
40
  });
66
41
  // # Should use HASSIO_TOKEN over SUPERVISOR_TOKEN
67
42
  it("should use HASSIO_TOKEN over SUPERVISOR_TOKEN", async () => {
68
43
  expect.assertions(1);
69
- process_1.env.HASSIO_TOKEN = "FOO";
70
- process_1.env.SUPERVISOR_TOKEN = "BAR";
71
- application = (0, mock_assistant_1.CreateTestingApplication)({
72
- Test({ config, lifecycle }) {
73
- lifecycle.onPostConfig(() => {
74
- expect(config.hass.TOKEN).toBe("FOO");
75
- });
76
- },
44
+ env.HASSIO_TOKEN = "FOO";
45
+ env.SUPERVISOR_TOKEN = "BAR";
46
+ await hassTestRunner.run(({ lifecycle, config }) => {
47
+ lifecycle.onPostConfig(() => {
48
+ expect(config.hass.TOKEN).toBe("FOO");
49
+ });
77
50
  });
78
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
79
- hass: {
80
- AUTO_CONNECT_SOCKET: false,
81
- AUTO_SCAN_CALL_PROXY: false,
82
- },
83
- }));
84
51
  });
85
52
  // # Should allow SUPERVISOR_TOKEN
86
53
  it("should allow SUPERVISOR_TOKEN", async () => {
87
54
  expect.assertions(1);
88
- process_1.env.SUPERVISOR_TOKEN = "BAR";
89
- application = (0, mock_assistant_1.CreateTestingApplication)({
90
- Test({ config, lifecycle }) {
91
- lifecycle.onPostConfig(() => {
92
- expect(config.hass.TOKEN).toBe("BAR");
93
- });
94
- },
55
+ env.SUPERVISOR_TOKEN = "BAR";
56
+ await hassTestRunner.run(({ lifecycle, config }) => {
57
+ lifecycle.onPostConfig(() => {
58
+ expect(config.hass.TOKEN).toBe("BAR");
59
+ });
95
60
  });
96
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
97
- hass: {
98
- AUTO_CONNECT_SOCKET: false,
99
- AUTO_SCAN_CALL_PROXY: false,
100
- },
101
- }));
102
61
  });
103
62
  // # Should allow HASS_SERVER
104
63
  it("should allow HASS_SERVER", async () => {
105
64
  expect.assertions(2);
106
- process_1.env.HASSIO_TOKEN = "FOO";
107
- process_1.env.HASS_SERVER = "http://test/url";
108
- application = (0, mock_assistant_1.CreateTestingApplication)({
109
- Test({ config, lifecycle }) {
110
- lifecycle.onPostConfig(() => {
111
- expect(config.hass.TOKEN).toBe("FOO");
112
- expect(config.hass.BASE_URL).toBe("http://test/url");
113
- });
114
- },
65
+ env.HASSIO_TOKEN = "FOO";
66
+ env.HASS_SERVER = "http://test/url";
67
+ await hassTestRunner.run(({ lifecycle, config }) => {
68
+ lifecycle.onPostConfig(() => {
69
+ expect(config.hass.TOKEN).toBe("FOO");
70
+ expect(config.hass.BASE_URL).toBe("http://test/url");
71
+ });
115
72
  });
116
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
117
- hass: {
118
- AUTO_CONNECT_SOCKET: false,
119
- AUTO_SCAN_CALL_PROXY: false,
120
- },
121
- }));
122
73
  });
123
74
  });
124
- describe("Validate", () => {
75
+ describe("Validate Config", () => {
125
76
  // # Should not exit if not set
126
77
  it("should not exit if not set", async () => {
78
+ expect.assertions(1);
127
79
  const exitSpy = jest
128
80
  .spyOn(process, "exit")
129
81
  // @ts-expect-error testing
130
82
  .mockImplementation(() => { });
131
- application = (0, mock_assistant_1.CreateTestingApplication)({
132
- Test() { },
133
- });
134
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
135
- hass: {
136
- AUTO_CONNECT_SOCKET: false,
137
- AUTO_SCAN_CALL_PROXY: false,
138
- TOKEN: "TEST",
139
- },
140
- }));
83
+ await hassTestRunner
84
+ .configure({
85
+ hass: { TOKEN: "TEST" },
86
+ })
87
+ .run(() => { });
141
88
  expect(exitSpy).not.toHaveBeenCalled();
142
89
  });
143
90
  // # Should info log on success
@@ -147,22 +94,17 @@ describe("Config", () => {
147
94
  // @ts-expect-error testing
148
95
  .mockImplementation(() => { });
149
96
  let spy;
150
- application = (0, mock_assistant_1.CreateTestingApplication)({
151
- Test({ internal, hass }) {
152
- const logger = internal.boilerplate.logger.getBaseLogger();
153
- spy = jest.spyOn(logger, "info").mockImplementation(() => { });
154
- jest
155
- .spyOn(hass.fetch, "checkCredentials")
156
- .mockImplementation(async () => ({ message: "ok" }));
157
- },
97
+ await hassTestRunner
98
+ .configure({
99
+ hass: { VALIDATE_CONFIGURATION: true },
100
+ })
101
+ .run(({ internal, hass }) => {
102
+ const logger = internal.boilerplate.logger.getBaseLogger();
103
+ spy = jest.spyOn(logger, "info").mockImplementation(() => { });
104
+ jest
105
+ .spyOn(hass.fetch, "checkCredentials")
106
+ .mockImplementation(async () => ({ message: "ok" }));
158
107
  });
159
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
160
- hass: {
161
- AUTO_CONNECT_SOCKET: false,
162
- AUTO_SCAN_CALL_PROXY: false,
163
- VALIDATE_CONFIGURATION: true,
164
- },
165
- }));
166
108
  expect(exitSpy).toHaveBeenCalledWith(1);
167
109
  expect(spy).toHaveBeenCalledWith("hass:configure", { name: "onPostConfig" }, "ok");
168
110
  });
@@ -173,24 +115,16 @@ describe("Config", () => {
173
115
  .spyOn(process, "exit")
174
116
  // @ts-expect-error testing
175
117
  .mockImplementation(() => { });
176
- application = (0, mock_assistant_1.CreateTestingApplication)({
177
- Test({ internal, hass }) {
178
- const logger = internal.boilerplate.logger.getBaseLogger();
179
- spy = jest.spyOn(logger, "error").mockImplementation(() => { });
180
- jest
181
- .spyOn(hass.fetch, "checkCredentials")
182
- // anything that isn't the success works
183
- .mockImplementation(async () => ({ message: "big_bad_error" }));
184
- },
118
+ await hassTestRunner
119
+ .configure({ hass: { TOKEN: "TEST", VALIDATE_CONFIGURATION: true } })
120
+ .run(({ internal, hass }) => {
121
+ const logger = internal.boilerplate.logger.getBaseLogger();
122
+ spy = jest.spyOn(logger, "error").mockImplementation(() => { });
123
+ jest
124
+ .spyOn(hass.fetch, "checkCredentials")
125
+ // anything that isn't the success works
126
+ .mockImplementation(async () => ({ message: "big_bad_error" }));
185
127
  });
186
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
187
- hass: {
188
- AUTO_CONNECT_SOCKET: false,
189
- AUTO_SCAN_CALL_PROXY: false,
190
- TOKEN: "TEST",
191
- VALIDATE_CONFIGURATION: true,
192
- },
193
- }));
194
128
  expect(exitSpy).toHaveBeenCalledWith(0);
195
129
  expect(spy).toHaveBeenCalledWith("hass:configure", { name: "onPostConfig" }, String({ message: "big_bad_error" }));
196
130
  });
@@ -204,26 +138,18 @@ describe("Config", () => {
204
138
  .mockImplementation(() => { });
205
139
  jest.spyOn(console, "log").mockImplementation(() => { });
206
140
  jest.spyOn(console, "error").mockImplementation(() => { });
207
- application = (0, mock_assistant_1.CreateTestingApplication)({
208
- Test({ internal, hass }) {
209
- const logger = internal.boilerplate.logger.getBaseLogger();
210
- spy = jest.spyOn(logger, "error").mockImplementation(() => { });
211
- jest
212
- .spyOn(hass.fetch, "checkCredentials")
213
- // anything that isn't the success works
214
- .mockImplementation(async () => {
215
- throw error;
216
- });
217
- },
141
+ await hassTestRunner
142
+ .configure({ hass: { TOKEN: "TEST", VALIDATE_CONFIGURATION: true } })
143
+ .run(({ internal, hass }) => {
144
+ const logger = internal.boilerplate.logger.getBaseLogger();
145
+ spy = jest.spyOn(logger, "error").mockImplementation(() => { });
146
+ jest
147
+ .spyOn(hass.fetch, "checkCredentials")
148
+ // anything that isn't the success works
149
+ .mockImplementation(async () => {
150
+ throw error;
151
+ });
218
152
  });
219
- await application.bootstrap((0, mock_assistant_1.SILENT_BOOT)({
220
- hass: {
221
- AUTO_CONNECT_SOCKET: false,
222
- AUTO_SCAN_CALL_PROXY: false,
223
- TOKEN: "TEST",
224
- VALIDATE_CONFIGURATION: true,
225
- },
226
- }));
227
153
  expect(exitSpy).toHaveBeenCalledWith(0);
228
154
  expect(spy).toHaveBeenCalledWith("hass:configure", { error, name: "onPostConfig" }, "failed to send request");
229
155
  });
@@ -1 +1 @@
1
- {"version":3,"file":"config.spec.js","sourceRoot":"","sources":["../../src/testing/config.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.spec.js","sourceRoot":"","sources":["../../src/testing/config.spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@digital-alchemy/core");
4
- const utils_1 = require("../mock_assistant/helpers/utils");
1
+ import { sleep } from "@digital-alchemy/core";
2
+ import { hassTestRunner } from "../mock_assistant";
5
3
  describe("Device", () => {
6
- let application;
7
4
  const EXAMPLE_DEVICE = {
8
5
  area_id: null,
9
6
  config_entries: ["42816b768aa8697c18c1b6d241112cef"],
@@ -24,88 +21,57 @@ describe("Device", () => {
24
21
  via_device_id: null,
25
22
  };
26
23
  afterEach(async () => {
27
- if (application) {
28
- await application.teardown();
29
- application = undefined;
30
- }
24
+ await hassTestRunner.teardown();
31
25
  jest.restoreAllMocks();
32
26
  });
33
27
  describe("Lifecycle", () => {
34
28
  it("should force values to be available before ready", async () => {
35
29
  expect.assertions(1);
36
- application = (0, utils_1.CreateTestingApplication)({
37
- Test({ lifecycle, hass }) {
38
- const spy = jest
39
- .spyOn(hass.socket, "sendMessage")
40
- .mockImplementation(async () => [EXAMPLE_DEVICE]);
41
- lifecycle.onReady(async () => {
42
- await hass.device.list();
43
- expect(spy).toHaveBeenCalledWith(expect.objectContaining({ type: "config/device_registry/list" }));
44
- });
45
- },
30
+ await hassTestRunner.run(({ lifecycle, hass }) => {
31
+ const spy = jest
32
+ .spyOn(hass.socket, "sendMessage")
33
+ .mockImplementation(async () => [EXAMPLE_DEVICE]);
34
+ lifecycle.onReady(async () => {
35
+ await hass.device.list();
36
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({ type: "config/device_registry/list" }));
37
+ });
46
38
  });
47
- await application.bootstrap((0, utils_1.SILENT_BOOT)({
48
- hass: {
49
- AUTO_CONNECT_SOCKET: false,
50
- AUTO_SCAN_CALL_PROXY: false,
51
- },
52
- }));
53
39
  });
54
40
  });
55
41
  it("should debounce updates properly", async () => {
56
42
  expect.assertions(1);
57
- application = (0, utils_1.CreateTestingApplication)({
58
- Test({ lifecycle, hass }) {
59
- jest
60
- .spyOn(hass.socket, "sendMessage")
61
- .mockImplementation(async () => undefined);
62
- let counter = 0;
63
- hass.events.onDeviceRegistryUpdate(() => counter++);
64
- lifecycle.onReady(async () => {
65
- setImmediate(async () => {
66
- hass.socket.socketEvents.emit("device_registry_updated");
67
- await (0, core_1.sleep)(5);
68
- hass.socket.socketEvents.emit("device_registry_updated");
69
- await (0, core_1.sleep)(5);
70
- hass.socket.socketEvents.emit("device_registry_updated");
71
- await (0, core_1.sleep)(75);
72
- hass.socket.socketEvents.emit("device_registry_updated");
73
- });
74
- await (0, core_1.sleep)(200);
75
- expect(counter).toBe(2);
43
+ await hassTestRunner.run(({ lifecycle, hass }) => {
44
+ jest.spyOn(hass.socket, "sendMessage").mockImplementation(async () => undefined);
45
+ let counter = 0;
46
+ hass.events.onDeviceRegistryUpdate(() => counter++);
47
+ lifecycle.onReady(async () => {
48
+ setImmediate(async () => {
49
+ hass.socket.socketEvents.emit("device_registry_updated");
50
+ await sleep(5);
51
+ hass.socket.socketEvents.emit("device_registry_updated");
52
+ await sleep(5);
53
+ hass.socket.socketEvents.emit("device_registry_updated");
54
+ await sleep(75);
55
+ hass.socket.socketEvents.emit("device_registry_updated");
76
56
  });
77
- },
57
+ await sleep(200);
58
+ expect(counter).toBe(2);
59
+ });
78
60
  });
79
- await application.bootstrap((0, utils_1.SILENT_BOOT)({
80
- hass: {
81
- AUTO_CONNECT_SOCKET: false,
82
- AUTO_SCAN_CALL_PROXY: false,
83
- },
84
- }));
85
61
  });
86
62
  describe("API", () => {
87
63
  describe("Formatting", () => {
88
64
  it("should call list properly", async () => {
89
65
  expect.assertions(1);
90
- application = (0, utils_1.CreateTestingApplication)({
91
- Test({ lifecycle, hass }) {
92
- const spy = jest
93
- .spyOn(hass.socket, "sendMessage")
94
- .mockImplementation(async () => []);
95
- lifecycle.onReady(async () => {
96
- await hass.device.list();
97
- expect(spy).toHaveBeenCalledWith(expect.objectContaining({
98
- type: "config/device_registry/list",
99
- }));
100
- });
101
- },
66
+ await hassTestRunner.run(({ lifecycle, hass }) => {
67
+ const spy = jest.spyOn(hass.socket, "sendMessage").mockImplementation(async () => []);
68
+ lifecycle.onReady(async () => {
69
+ await hass.device.list();
70
+ expect(spy).toHaveBeenCalledWith(expect.objectContaining({
71
+ type: "config/device_registry/list",
72
+ }));
73
+ });
102
74
  });
103
- await application.bootstrap((0, utils_1.SILENT_BOOT)({
104
- hass: {
105
- AUTO_CONNECT_SOCKET: false,
106
- AUTO_SCAN_CALL_PROXY: false,
107
- },
108
- }));
109
75
  });
110
76
  });
111
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"device.spec.js","sourceRoot":"","sources":["../../src/testing/device.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.spec.js","sourceRoot":"","sources":["../../src/testing/device.spec.ts"],"names":[],"mappings":"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"}