@sera4/essentia 1.1.66-rc.1 → 3.0.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.
Files changed (194) hide show
  1. package/README.md +352 -8
  2. package/dist/ts/index.d.ts +1 -1
  3. package/dist/ts/index.js +1 -1
  4. package/dist/ts/index.js.map +1 -1
  5. package/dist/ts/logger/s4-logger.js +0 -2
  6. package/dist/ts/logger/s4-logger.js.map +1 -1
  7. package/dist/ts/queue/index.d.ts +2 -38
  8. package/dist/ts/queue/index.js +67 -136
  9. package/dist/ts/queue/index.js.map +1 -1
  10. package/package.json +51 -12
  11. package/package.tar.gz +0 -0
  12. package/cache/index.js +0 -188
  13. package/constants/index.js +0 -9
  14. package/coverage/base.css +0 -224
  15. package/coverage/block-navigation.js +0 -87
  16. package/coverage/configurations/index.html +0 -116
  17. package/coverage/configurations/server-config.ts.html +0 -94
  18. package/coverage/dns/DnsCache.ts.html +0 -598
  19. package/coverage/dns/index.html +0 -131
  20. package/coverage/dns/index.ts.html +0 -94
  21. package/coverage/favicon.png +0 -0
  22. package/coverage/health/index.html +0 -116
  23. package/coverage/health/index.ts.html +0 -778
  24. package/coverage/index.html +0 -161
  25. package/coverage/lcov-report/base.css +0 -224
  26. package/coverage/lcov-report/block-navigation.js +0 -87
  27. package/coverage/lcov-report/configurations/index.html +0 -116
  28. package/coverage/lcov-report/configurations/server-config.ts.html +0 -94
  29. package/coverage/lcov-report/dns/DnsCache.ts.html +0 -598
  30. package/coverage/lcov-report/dns/index.html +0 -131
  31. package/coverage/lcov-report/dns/index.ts.html +0 -94
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/health/index.html +0 -116
  34. package/coverage/lcov-report/health/index.ts.html +0 -778
  35. package/coverage/lcov-report/index.html +0 -161
  36. package/coverage/lcov-report/logger/index.html +0 -131
  37. package/coverage/lcov-report/logger/index.ts.html +0 -94
  38. package/coverage/lcov-report/logger/s4-logger.ts.html +0 -514
  39. package/coverage/lcov-report/prettify.css +0 -1
  40. package/coverage/lcov-report/prettify.js +0 -2
  41. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/coverage/lcov-report/sorter.js +0 -196
  43. package/coverage/lcov.info +0 -747
  44. package/coverage/logger/index.html +0 -131
  45. package/coverage/logger/index.ts.html +0 -94
  46. package/coverage/logger/s4-logger.ts.html +0 -514
  47. package/coverage/prettify.css +0 -1
  48. package/coverage/prettify.js +0 -2
  49. package/coverage/sort-arrow-sprite.png +0 -0
  50. package/coverage/sorter.js +0 -196
  51. package/coverage/tmp/coverage-24302-1746472691313-0.json +0 -1
  52. package/coverage/tmp/coverage-24302-1746472691366-1.json +0 -1
  53. package/dist/cache/index.d.ts +0 -22
  54. package/dist/cache/index.js +0 -166
  55. package/dist/cache/index.js.map +0 -1
  56. package/dist/constants/index.d.ts +0 -6
  57. package/dist/constants/index.js +0 -9
  58. package/dist/constants/index.js.map +0 -1
  59. package/dist/coverage/block-navigation.d.ts +0 -1
  60. package/dist/coverage/block-navigation.js +0 -70
  61. package/dist/coverage/block-navigation.js.map +0 -1
  62. package/dist/coverage/lcov-report/block-navigation.d.ts +0 -1
  63. package/dist/coverage/lcov-report/block-navigation.js +0 -70
  64. package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
  65. package/dist/coverage/lcov-report/prettify.d.ts +0 -0
  66. package/dist/coverage/lcov-report/prettify.js +0 -477
  67. package/dist/coverage/lcov-report/prettify.js.map +0 -1
  68. package/dist/coverage/lcov-report/sorter.d.ts +0 -1
  69. package/dist/coverage/lcov-report/sorter.js +0 -163
  70. package/dist/coverage/lcov-report/sorter.js.map +0 -1
  71. package/dist/coverage/prettify.d.ts +0 -0
  72. package/dist/coverage/prettify.js +0 -477
  73. package/dist/coverage/prettify.js.map +0 -1
  74. package/dist/coverage/sorter.d.ts +0 -1
  75. package/dist/coverage/sorter.js +0 -163
  76. package/dist/coverage/sorter.js.map +0 -1
  77. package/dist/formatter/index.d.ts +0 -37
  78. package/dist/formatter/index.js +0 -75
  79. package/dist/formatter/index.js.map +0 -1
  80. package/dist/hal/index.d.ts +0 -5
  81. package/dist/hal/index.js +0 -69
  82. package/dist/hal/index.js.map +0 -1
  83. package/dist/health/health-logger.d.ts +0 -9
  84. package/dist/health/health-logger.js +0 -34
  85. package/dist/health/health-logger.js.map +0 -1
  86. package/dist/health/index.d.ts +0 -19
  87. package/dist/health/index.js +0 -175
  88. package/dist/health/index.js.map +0 -1
  89. package/dist/helpers/index.d.ts +0 -1
  90. package/dist/helpers/index.js +0 -2
  91. package/dist/helpers/index.js.map +0 -1
  92. package/dist/helpers/test-server-wrapper.d.ts +0 -120
  93. package/dist/helpers/test-server-wrapper.js +0 -165
  94. package/dist/helpers/test-server-wrapper.js.map +0 -1
  95. package/dist/index.d.ts +0 -1
  96. package/dist/index.js +0 -17
  97. package/dist/index.js.map +0 -1
  98. package/dist/last-commit.d.ts +0 -1
  99. package/dist/last-commit.js +0 -12
  100. package/dist/last-commit.js.map +0 -1
  101. package/dist/last_commit/index.d.ts +0 -7
  102. package/dist/last_commit/index.js +0 -83
  103. package/dist/last_commit/index.js.map +0 -1
  104. package/dist/paginator/s4-pagination.d.ts +0 -9
  105. package/dist/paginator/s4-pagination.js +0 -49
  106. package/dist/paginator/s4-pagination.js.map +0 -1
  107. package/dist/paginator/sql-pagination.d.ts +0 -27
  108. package/dist/paginator/sql-pagination.js +0 -166
  109. package/dist/paginator/sql-pagination.js.map +0 -1
  110. package/dist/paper-trail/helpers.d.ts +0 -11
  111. package/dist/paper-trail/helpers.js +0 -74
  112. package/dist/paper-trail/helpers.js.map +0 -1
  113. package/dist/paper-trail/index.d.ts +0 -13
  114. package/dist/paper-trail/index.js +0 -662
  115. package/dist/paper-trail/index.js.map +0 -1
  116. package/dist/prompts/index.d.ts +0 -14
  117. package/dist/prompts/index.js +0 -63
  118. package/dist/prompts/index.js.map +0 -1
  119. package/dist/queue/index.d.ts +0 -166
  120. package/dist/queue/index.js +0 -371
  121. package/dist/queue/index.js.map +0 -1
  122. package/dist/queue/publisher.d.ts +0 -31
  123. package/dist/queue/publisher.js +0 -84
  124. package/dist/queue/publisher.js.map +0 -1
  125. package/dist/queue/queue-logger.d.ts +0 -9
  126. package/dist/queue/queue-logger.js +0 -35
  127. package/dist/queue/queue-logger.js.map +0 -1
  128. package/dist/queue/subscriber.d.ts +0 -39
  129. package/dist/queue/subscriber.js +0 -97
  130. package/dist/queue/subscriber.js.map +0 -1
  131. package/dist/safe_proxy/index.d.ts +0 -13
  132. package/dist/safe_proxy/index.js +0 -54
  133. package/dist/safe_proxy/index.js.map +0 -1
  134. package/dist/serializer/index.d.ts +0 -5
  135. package/dist/serializer/index.js +0 -83
  136. package/dist/serializer/index.js.map +0 -1
  137. package/dist/test/debug-array.d.ts +0 -0
  138. package/dist/test/debug-array.js +0 -1
  139. package/dist/test/debug-array.js.map +0 -1
  140. package/dist/test/debug-setJSONB.d.ts +0 -0
  141. package/dist/test/debug-setJSONB.js +0 -1
  142. package/dist/test/debug-setJSONB.js.map +0 -1
  143. package/dist/test/prompt.test.d.ts +0 -1
  144. package/dist/test/prompt.test.js +0 -74
  145. package/dist/test/prompt.test.js.map +0 -1
  146. package/dist/test/s4-formatter.spec.d.ts +0 -1
  147. package/dist/test/s4-formatter.spec.js +0 -67
  148. package/dist/test/s4-formatter.spec.js.map +0 -1
  149. package/dist/test/s4-pagination.spec.d.ts +0 -1
  150. package/dist/test/s4-pagination.spec.js +0 -170
  151. package/dist/test/s4-pagination.spec.js.map +0 -1
  152. package/dist/test/safe-proxy.spec.d.ts +0 -1
  153. package/dist/test/safe-proxy.spec.js +0 -252
  154. package/dist/test/safe-proxy.spec.js.map +0 -1
  155. package/dist/test/serializer.spec.d.ts +0 -1
  156. package/dist/test/serializer.spec.js +0 -27
  157. package/dist/test/serializer.spec.js.map +0 -1
  158. package/dist/test/utils.spec.d.ts +0 -1
  159. package/dist/test/utils.spec.js +0 -446
  160. package/dist/test/utils.spec.js.map +0 -1
  161. package/dist/ts/task-scheduler/index.d.ts +0 -130
  162. package/dist/ts/task-scheduler/index.js +0 -259
  163. package/dist/ts/task-scheduler/index.js.map +0 -1
  164. package/formatter/index.js +0 -81
  165. package/hal/README.md +0 -54
  166. package/hal/index.js +0 -75
  167. package/health/health-logger.js +0 -40
  168. package/health/index.js +0 -188
  169. package/helpers/index.js +0 -1
  170. package/helpers/test-server-wrapper.js +0 -196
  171. package/last-commit.js +0 -12
  172. package/last_commit/index.js +0 -82
  173. package/logger/s4-logger.js +0 -128
  174. package/paginator/README.md +0 -183
  175. package/paginator/s4-pagination.js +0 -51
  176. package/paginator/sql-pagination.js +0 -178
  177. package/paper-trail/README.md +0 -68
  178. package/paper-trail/helpers.js +0 -99
  179. package/paper-trail/index.js +0 -843
  180. package/prompts/index.js +0 -78
  181. package/queue/index.js +0 -402
  182. package/queue/publisher.js +0 -96
  183. package/queue/queue-logger.js +0 -40
  184. package/queue/subscriber.js +0 -107
  185. package/safe_proxy/index.js +0 -61
  186. package/scripts/publish.sh +0 -46
  187. package/serializer/index.js +0 -90
  188. package/test/health.spec.js +0 -213
  189. package/test/prompt.test.js +0 -91
  190. package/test/s4-formatter.spec.js +0 -80
  191. package/test/s4-pagination.spec.js +0 -196
  192. package/test/serializer.spec.js +0 -34
  193. package/test/utils.spec.js +0 -145
  194. package/utils/index.js +0 -74
@@ -1,67 +0,0 @@
1
- import should from "should";
2
- import { expect as expect } from "chai";
3
- import S4Formatter from "../ts/formatter/index.js";
4
- describe("Formatter", function () {
5
- let response;
6
- describe("Sending legacy format []", function () {
7
- before("Setup", function () {
8
- const error = { status: 200, error: ["error1"] };
9
- response = S4Formatter.formatError(error);
10
- });
11
- describe("Default values", function () {
12
- it("should have a generic error", function () {
13
- response.should.have.property("errors");
14
- });
15
- it("should have error code set correctly", function () {
16
- response.should.have.property("status", 200);
17
- });
18
- });
19
- });
20
- describe("Support null error payloads", function () {
21
- before("Setup", function () {
22
- response = S4Formatter.formatError(null);
23
- });
24
- describe("Default values", function () {
25
- it("Should have a default error level and blank errors", function () {
26
- expect(response).to.have.property("status", 422);
27
- expect(response).to.have.property("errors").to.be.empty;
28
- });
29
- });
30
- });
31
- describe("Should not fold in funky keys/values", function () {
32
- before("Setup", function () {
33
- response = S4Formatter.formatError({ randomKey: 123 });
34
- });
35
- describe("Default values", function () {
36
- it("Should not funky key name folded in", function () {
37
- response.should.not.have.property("randomKey", {});
38
- });
39
- });
40
- });
41
- describe("Support validator formats", function () {
42
- before("Setup", function () {
43
- let error = {
44
- "status": 422,
45
- "errors": {
46
- "password": {
47
- "location": "body",
48
- "param": "password",
49
- "value": "badPassw0rd",
50
- "msg": "weak"
51
- }
52
- }
53
- };
54
- response = S4Formatter.formatError(error);
55
- });
56
- describe("Default values", function () {
57
- it("Should have a default error level and blank errors", function () {
58
- response.should.have.property("status", 422);
59
- expect(response).to.be.an("object");
60
- expect(response).to.have.property('errors');
61
- expect(Object.keys(response['errors'])).to.have.lengthOf('1');
62
- response.should.have.property("errors");
63
- });
64
- });
65
- });
66
- });
67
- //# sourceMappingURL=s4-formatter.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"s4-formatter.spec.js","sourceRoot":"","sources":["../../test/s4-formatter.spec.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,170 +0,0 @@
1
- import should from "should";
2
- import S4Pagination from "../ts/paginator/s4-pagination.js";
3
- import http_mocks from "node-mocks-http";
4
- import events from "events";
5
- describe("Pagination", function () {
6
- var paginator = null;
7
- var request = null;
8
- var response = null;
9
- var next = null;
10
- before("Setup", function () {
11
- next = function () { };
12
- response = http_mocks.createResponse({ eventEmitter: events.EventEmitter });
13
- request = http_mocks.createRequest({
14
- method: "GET",
15
- url: "/"
16
- });
17
- paginator = S4Pagination.createPaginator(request, response, next);
18
- });
19
- describe("Parsing query parameters", function () {
20
- describe("Default values", function () {
21
- it("should have default page set to 1", function () {
22
- paginator.should.have.property("page", 1);
23
- });
24
- it("should have default page size set to 5", function () {
25
- paginator.should.have.property("page_size", 5);
26
- });
27
- });
28
- describe("Page value set to 0", function () {
29
- before("Setup", function () {
30
- request = http_mocks.createRequest({
31
- method: "GET",
32
- url: "/?page=0"
33
- });
34
- paginator = S4Pagination.createPaginator(request, response, next);
35
- });
36
- it("should set page to 1", function () {
37
- paginator.should.have.property("page", 1);
38
- });
39
- });
40
- describe("Page value set to negative", function () {
41
- before("Setup", function () {
42
- request = http_mocks.createRequest({
43
- method: "GET",
44
- url: "/?page=-1"
45
- });
46
- paginator = S4Pagination.createPaginator(request, response, next);
47
- });
48
- it("should set page to 1", function () {
49
- paginator.should.have.property("page", 1);
50
- });
51
- });
52
- describe("Page value set to 2", function () {
53
- before("Setup", function () {
54
- request = http_mocks.createRequest({
55
- method: "GET",
56
- url: "/?page=2"
57
- });
58
- paginator = S4Pagination.createPaginator(request, response, next);
59
- });
60
- it("should set page to 2", function () {
61
- paginator.should.have.property("page", 2);
62
- });
63
- });
64
- describe("Page value set to 10", function () {
65
- before("Setup", function () {
66
- request = http_mocks.createRequest({
67
- method: "GET",
68
- url: "/?page=10"
69
- });
70
- paginator = S4Pagination.createPaginator(request, response, next);
71
- });
72
- it("should set page to 10", function () {
73
- paginator.should.have.property("page", 10);
74
- });
75
- });
76
- describe("Page value set to 100", function () {
77
- before("Setup", function () {
78
- request = http_mocks.createRequest({
79
- method: "GET",
80
- url: "/?page=100"
81
- });
82
- paginator = S4Pagination.createPaginator(request, response, next);
83
- });
84
- it("should set page to 100", function () {
85
- paginator.should.have.property("page", 100);
86
- });
87
- });
88
- describe("Page Size value set to 0", function () {
89
- before("Setup", function () {
90
- request = http_mocks.createRequest({
91
- method: "GET",
92
- url: "/?page_size=0"
93
- });
94
- paginator = S4Pagination.createPaginator(request, response, next);
95
- });
96
- it("should set page size to 5", function () {
97
- paginator.should.have.property("page_size", 5);
98
- });
99
- });
100
- describe("Page Size value set to negative", function () {
101
- before("Setup", function () {
102
- request = http_mocks.createRequest({
103
- method: "GET",
104
- url: "/?page_size=-1"
105
- });
106
- paginator = S4Pagination.createPaginator(request, response, next);
107
- });
108
- it("should set page size to 5", function () {
109
- paginator.should.have.property("page_size", 5);
110
- });
111
- });
112
- describe("Page Size value set to 2", function () {
113
- before("Setup", function () {
114
- request = http_mocks.createRequest({
115
- method: "GET",
116
- url: "/?page_size=2"
117
- });
118
- paginator = S4Pagination.createPaginator(request, response, next);
119
- });
120
- it("should set page size to 5", function () {
121
- paginator.should.have.property("page_size", 5);
122
- });
123
- });
124
- describe("Page Size value set to 10", function () {
125
- before("Setup", function () {
126
- request = http_mocks.createRequest({
127
- method: "GET",
128
- url: "/?page_size=10"
129
- });
130
- paginator = S4Pagination.createPaginator(request, response, next);
131
- });
132
- it("should set page size to 10", function () {
133
- paginator.should.have.property("page_size", 10);
134
- });
135
- });
136
- describe("Page Size value set to 100", function () {
137
- before("Setup", function () {
138
- request = http_mocks.createRequest({
139
- method: "GET",
140
- url: "/?page_size=100"
141
- });
142
- paginator = S4Pagination.createPaginator(request, response, next);
143
- });
144
- it("should set page size to 100", function () {
145
- paginator.should.have.property("page_size", 100);
146
- });
147
- });
148
- });
149
- describe("Replying", function () {
150
- beforeEach("Clear request", function () {
151
- response = http_mocks.createResponse({ eventEmitter: events.EventEmitter });
152
- paginator = S4Pagination.createPaginator(request, response, next);
153
- });
154
- it("should return 500 if data is null", function () {
155
- paginator.reply(null);
156
- response.statusCode.should.equal(500);
157
- });
158
- it("should return pagination data", function () {
159
- const items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
160
- const data = {
161
- docs: items,
162
- total: items.length,
163
- };
164
- paginator.reply(data);
165
- response.statusCode.should.equal(200);
166
- response._getHeaders().should.have.property("s4-pagination");
167
- });
168
- });
169
- });
170
- //# sourceMappingURL=s4-pagination.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"s4-pagination.spec.js","sourceRoot":"","sources":["../../test/s4-pagination.spec.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,252 +0,0 @@
1
- import { expect } from "chai";
2
- import sinon from "sinon";
3
- import axios from "axios";
4
- import { safeProxy } from "../ts/safe-proxy/index.js";
5
- describe("SafeProxy", () => {
6
- let axiosStub;
7
- beforeEach(() => {
8
- // Stub axios methods
9
- axiosStub = {
10
- post: sinon.stub(axios, 'post'),
11
- delete: sinon.stub(axios, 'delete'),
12
- get: sinon.stub(axios, 'get')
13
- };
14
- });
15
- afterEach(() => {
16
- sinon.restore();
17
- });
18
- describe("post", () => {
19
- it("should make a POST request with proper headers", async () => {
20
- const locals = {
21
- account: { id: "acc123" },
22
- tenant: { id: "tenant456" },
23
- membership: { id: "mem789" }
24
- };
25
- const url = "https://api.example.com/test";
26
- const options = {
27
- headers: { "custom-header": "value" },
28
- data: { test: "data" }
29
- };
30
- const expectedResponse = { data: "success" };
31
- axiosStub.post.resolves(expectedResponse);
32
- const result = await safeProxy.post(locals, url, options);
33
- expect(axiosStub.post.calledOnce).to.be.true;
34
- expect(axiosStub.post.firstCall.args[0]).to.equal(url);
35
- expect(axiosStub.post.firstCall.args[1]).to.deep.equal({ test: "data" });
36
- expect(axiosStub.post.firstCall.args[2].headers).to.include({
37
- "tws-account-id": "acc123",
38
- "tws-tenant-id": "tenant456",
39
- "tws-membership-id": "mem789",
40
- "tws-membership": JSON.stringify(locals.membership),
41
- "custom-header": "value"
42
- });
43
- expect(result).to.equal(expectedResponse);
44
- });
45
- it("should handle missing optional fields in locals", async () => {
46
- const locals = {
47
- account: { id: "acc123" }
48
- // Missing tenant and membership
49
- };
50
- const url = "https://api.example.com/test";
51
- const expectedResponse = { data: "success" };
52
- axiosStub.post.resolves(expectedResponse);
53
- const result = await safeProxy.post(locals, url);
54
- expect(axiosStub.post.calledOnce).to.be.true;
55
- expect(axiosStub.post.firstCall.args[2].headers).to.include({
56
- "tws-account-id": "acc123"
57
- });
58
- expect(axiosStub.post.firstCall.args[2].headers).to.not.have.property("tws-tenant-id");
59
- expect(axiosStub.post.firstCall.args[2].headers).to.not.have.property("tws-membership-id");
60
- expect(axiosStub.post.firstCall.args[2].headers).to.not.have.property("tws-membership");
61
- expect(result).to.equal(expectedResponse);
62
- });
63
- it("should handle null membership", async () => {
64
- const locals = {
65
- account: { id: "acc123" },
66
- tenant: { id: "tenant456" },
67
- membership: null
68
- };
69
- const url = "https://api.example.com/test";
70
- const expectedResponse = { data: "success" };
71
- axiosStub.post.resolves(expectedResponse);
72
- const result = await safeProxy.post(locals, url);
73
- expect(axiosStub.post.calledOnce).to.be.true;
74
- expect(axiosStub.post.firstCall.args[2].headers).to.include({
75
- "tws-account-id": "acc123",
76
- "tws-tenant-id": "tenant456"
77
- });
78
- expect(axiosStub.post.firstCall.args[2].headers).to.not.have.property("tws-membership-id");
79
- expect(axiosStub.post.firstCall.args[2].headers).to.not.have.property("tws-membership");
80
- expect(result).to.equal(expectedResponse);
81
- });
82
- it("should use default options when none provided", async () => {
83
- const locals = {
84
- account: { id: "acc123" }
85
- };
86
- const url = "https://api.example.com/test";
87
- const expectedResponse = { data: "success" };
88
- axiosStub.post.resolves(expectedResponse);
89
- const result = await safeProxy.post(locals, url);
90
- expect(axiosStub.post.calledOnce).to.be.true;
91
- expect(axiosStub.post.firstCall.args[1]).to.deep.equal({});
92
- expect(result).to.equal(expectedResponse);
93
- });
94
- });
95
- describe("delete", () => {
96
- it("should make a DELETE request with proper headers", async () => {
97
- const locals = {
98
- account: { id: "acc123" },
99
- tenant: { id: "tenant456" },
100
- membership: { id: "mem789" }
101
- };
102
- const url = "https://api.example.com/test";
103
- const options = {
104
- headers: { "custom-header": "value" },
105
- data: { test: "data" }
106
- };
107
- const expectedResponse = { data: "deleted" };
108
- axiosStub.delete.resolves(expectedResponse);
109
- const result = await safeProxy.delete(locals, url, options);
110
- expect(axiosStub.delete.calledOnce).to.be.true;
111
- expect(axiosStub.delete.firstCall.args[0]).to.equal(url);
112
- expect(axiosStub.delete.firstCall.args[1].data).to.deep.equal({ test: "data" });
113
- expect(axiosStub.delete.firstCall.args[1].headers).to.include({
114
- "tws-account-id": "acc123",
115
- "tws-tenant-id": "tenant456",
116
- "tws-membership-id": "mem789",
117
- "tws-membership": JSON.stringify(locals.membership),
118
- "custom-header": "value"
119
- });
120
- expect(result).to.equal(expectedResponse);
121
- });
122
- it("should handle missing optional fields in locals", async () => {
123
- const locals = {
124
- account: { id: "acc123" }
125
- // Missing tenant and membership
126
- };
127
- const url = "https://api.example.com/test";
128
- const expectedResponse = { data: "deleted" };
129
- axiosStub.delete.resolves(expectedResponse);
130
- const result = await safeProxy.delete(locals, url);
131
- expect(axiosStub.delete.calledOnce).to.be.true;
132
- expect(axiosStub.delete.firstCall.args[1].headers).to.include({
133
- "tws-account-id": "acc123"
134
- });
135
- expect(axiosStub.delete.firstCall.args[1].headers).to.not.have.property("tws-tenant-id");
136
- expect(axiosStub.delete.firstCall.args[1].headers).to.not.have.property("tws-membership-id");
137
- expect(axiosStub.delete.firstCall.args[1].headers).to.not.have.property("tws-membership");
138
- expect(result).to.equal(expectedResponse);
139
- });
140
- });
141
- describe("private _proxyRequest method", () => {
142
- it("should handle GET requests through public methods", async () => {
143
- const locals = {
144
- account: { id: "acc123" }
145
- };
146
- const url = "https://api.example.com/test";
147
- const expectedResponse = { data: "get result" };
148
- axiosStub.get.resolves(expectedResponse);
149
- // Test through public interface - we'll test the private method indirectly
150
- // by testing the header construction in public methods
151
- const result = await safeProxy.post(locals, url);
152
- expect(axiosStub.post.calledOnce).to.be.true;
153
- expect(axiosStub.post.firstCall.args[2].headers).to.include({
154
- "tws-account-id": "acc123"
155
- });
156
- });
157
- it("should omit nil values from headers", async () => {
158
- const locals = {
159
- account: { id: "acc123" },
160
- tenant: { id: undefined }, // This should be omitted
161
- membership: null // This should be omitted
162
- };
163
- const url = "https://api.example.com/test";
164
- const expectedResponse = { data: "success" };
165
- axiosStub.post.resolves(expectedResponse);
166
- await safeProxy.post(locals, url);
167
- expect(axiosStub.post.calledOnce).to.be.true;
168
- const headers = axiosStub.post.firstCall.args[2].headers;
169
- expect(headers).to.include({
170
- "tws-account-id": "acc123"
171
- });
172
- expect(headers).to.not.have.property("tws-tenant-id");
173
- expect(headers).to.not.have.property("tws-membership-id");
174
- expect(headers).to.not.have.property("tws-membership");
175
- });
176
- });
177
- describe("error handling", () => {
178
- it("should propagate axios errors", async () => {
179
- const locals = {
180
- account: { id: "acc123" }
181
- };
182
- const url = "https://api.example.com/test";
183
- const error = new Error("Network error");
184
- axiosStub.post.rejects(error);
185
- try {
186
- await safeProxy.post(locals, url);
187
- expect.fail("Should have thrown an error");
188
- }
189
- catch (err) {
190
- expect(err).to.equal(error);
191
- }
192
- });
193
- it("should handle axios error responses", async () => {
194
- const locals = {
195
- account: { id: "acc123" }
196
- };
197
- const url = "https://api.example.com/test";
198
- const errorResponse = {
199
- response: {
200
- status: 404,
201
- data: "Not found"
202
- }
203
- };
204
- axiosStub.post.rejects(errorResponse);
205
- try {
206
- await safeProxy.post(locals, url);
207
- expect.fail("Should have thrown an error");
208
- }
209
- catch (err) {
210
- expect(err).to.equal(errorResponse);
211
- }
212
- });
213
- });
214
- describe("header construction", () => {
215
- it("should properly stringify membership object", async () => {
216
- const membership = { id: "mem789", role: "admin" };
217
- const locals = {
218
- account: { id: "acc123" },
219
- membership
220
- };
221
- const url = "https://api.example.com/test";
222
- const expectedResponse = { data: "success" };
223
- axiosStub.post.resolves(expectedResponse);
224
- await safeProxy.post(locals, url);
225
- expect(axiosStub.post.calledOnce).to.be.true;
226
- expect(axiosStub.post.firstCall.args[2].headers["tws-membership"]).to.equal(JSON.stringify(membership));
227
- });
228
- it("should merge custom headers with authentication headers", async () => {
229
- const locals = {
230
- account: { id: "acc123" }
231
- };
232
- const url = "https://api.example.com/test";
233
- const options = {
234
- headers: {
235
- "content-type": "application/json",
236
- "authorization": "Bearer token123"
237
- }
238
- };
239
- const expectedResponse = { data: "success" };
240
- axiosStub.post.resolves(expectedResponse);
241
- await safeProxy.post(locals, url, options);
242
- expect(axiosStub.post.calledOnce).to.be.true;
243
- const headers = axiosStub.post.firstCall.args[2].headers;
244
- expect(headers).to.include({
245
- "tws-account-id": "acc123",
246
- "content-type": "application/json",
247
- "authorization": "Bearer token123"
248
- });
249
- });
250
- });
251
- });
252
- //# sourceMappingURL=safe-proxy.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-proxy.spec.js","sourceRoot":"","sources":["../../test/safe-proxy.spec.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- import { expect } from "chai";
2
- import serializer from "../ts/serializer/index.js";
3
- describe("Serializer", () => {
4
- describe("Serialize", () => {
5
- it("should not show Hidden/Removed fields", () => {
6
- const model = { prototype: {} };
7
- model.prototype.get = function () {
8
- return {
9
- name: "John",
10
- hidden_prefs: "should be hidden",
11
- password: "password",
12
- password_salt: "password_salt",
13
- mfa_totp_secret: "mfa_totp_secret",
14
- };
15
- };
16
- const options = { hide: ["hidden_prefs"], remove: ["password", "password_salt", "mfa_totp_secret"] };
17
- serializer.serialize(model, options);
18
- const serialized = model.prototype.toJSON();
19
- expect(serialized.name).to.eq("John");
20
- expect(serialized.hidden_prefs).to.be.undefined;
21
- expect(serialized.password).to.be.undefined;
22
- expect(serialized.password_salt).to.be.undefined;
23
- expect(serialized.mfa_totp_secret).to.be.undefined;
24
- });
25
- });
26
- });
27
- //# sourceMappingURL=serializer.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializer.spec.js","sourceRoot":"","sources":["../../test/serializer.spec.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAEnD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAE1B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAEzB,EAAE,CAAE,uCAAuC,EAAE,GAAG,EAAE;YAChD,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;YAC/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG;gBACpB,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,kBAAkB;oBAChC,QAAQ,EAAE,UAAU;oBACpB,aAAa,EAAE,eAAe;oBAC9B,eAAe,EAAE,iBAAiB;iBACnC,CAAA;YACH,CAAC,CAAA;YACD,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,CAAA;YAEpG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAErC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAE5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACjD,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACrD,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};