smartling-api-sdk-nodejs 2.29.0 → 2.30.0

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 (71) hide show
  1. package/.github/workflows/publish.yml +29 -0
  2. package/built/package.json +1 -1
  3. package/built/test/access-token-provider.spec.d.ts +1 -0
  4. package/built/test/access-token-provider.spec.js +25 -0
  5. package/built/test/access-token-provider.spec.js.map +1 -0
  6. package/built/test/auth.spec.d.ts +1 -0
  7. package/built/test/auth.spec.js +332 -0
  8. package/built/test/auth.spec.js.map +1 -0
  9. package/built/test/base-file.spec.d.ts +1 -0
  10. package/built/test/base-file.spec.js +53 -0
  11. package/built/test/base-file.spec.js.map +1 -0
  12. package/built/test/base.spec.d.ts +1 -0
  13. package/built/test/base.spec.js +558 -0
  14. package/built/test/base.spec.js.map +1 -0
  15. package/built/test/builder.spec.d.ts +1 -0
  16. package/built/test/builder.spec.js +142 -0
  17. package/built/test/builder.spec.js.map +1 -0
  18. package/built/test/context.spec.d.ts +1 -0
  19. package/built/test/context.spec.js +154 -0
  20. package/built/test/context.spec.js.map +1 -0
  21. package/built/test/exception.spec.d.ts +1 -0
  22. package/built/test/exception.spec.js +20 -0
  23. package/built/test/exception.spec.js.map +1 -0
  24. package/built/test/file-translations.spec.d.ts +1 -0
  25. package/built/test/file-translations.spec.js +449 -0
  26. package/built/test/file-translations.spec.js.map +1 -0
  27. package/built/test/files.spec.d.ts +1 -0
  28. package/built/test/files.spec.js +489 -0
  29. package/built/test/files.spec.js.map +1 -0
  30. package/built/test/glossaries.spec.d.ts +1 -0
  31. package/built/test/glossaries.spec.js +182 -0
  32. package/built/test/glossaries.spec.js.map +1 -0
  33. package/built/test/job-batches.spec.d.ts +1 -0
  34. package/built/test/job-batches.spec.js +221 -0
  35. package/built/test/job-batches.spec.js.map +1 -0
  36. package/built/test/jobs.spec.d.ts +1 -0
  37. package/built/test/jobs.spec.js +357 -0
  38. package/built/test/jobs.spec.js.map +1 -0
  39. package/built/test/locales.spec.d.ts +1 -0
  40. package/built/test/locales.spec.js +66 -0
  41. package/built/test/locales.spec.js.map +1 -0
  42. package/built/test/mock.d.ts +18 -0
  43. package/built/test/mock.js +31 -0
  44. package/built/test/mock.js.map +1 -0
  45. package/built/test/mt.spec.d.ts +1 -0
  46. package/built/test/mt.spec.js +135 -0
  47. package/built/test/mt.spec.js.map +1 -0
  48. package/built/test/projects.spec.d.ts +1 -0
  49. package/built/test/projects.spec.js +87 -0
  50. package/built/test/projects.spec.js.map +1 -0
  51. package/built/test/published-files.spec.d.ts +1 -0
  52. package/built/test/published-files.spec.js +76 -0
  53. package/built/test/published-files.spec.js.map +1 -0
  54. package/built/test/report-api.spec.d.ts +1 -0
  55. package/built/test/report-api.spec.js +187 -0
  56. package/built/test/report-api.spec.js.map +1 -0
  57. package/built/test/stream-to-string.d.ts +4 -0
  58. package/built/test/stream-to-string.js +14 -0
  59. package/built/test/stream-to-string.js.map +1 -0
  60. package/built/test/strings.spec.d.ts +1 -0
  61. package/built/test/strings.spec.js +204 -0
  62. package/built/test/strings.spec.js.map +1 -0
  63. package/built/test/tags.spec.d.ts +1 -0
  64. package/built/test/tags.spec.js +423 -0
  65. package/built/test/tags.spec.js.map +1 -0
  66. package/built/test/webhooks.spec.d.ts +1 -0
  67. package/built/test/webhooks.spec.js +447 -0
  68. package/built/test/webhooks.spec.js.map +1 -0
  69. package/package.json +1 -1
  70. package/.scannerwork/.sonar_lock +0 -0
  71. package/.scannerwork/report-task.txt +0 -6
@@ -0,0 +1,29 @@
1
+ name: Publish Package
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*.*.*'
7
+
8
+ permissions:
9
+ id-token: write # Required for OIDC
10
+ contents: read
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - uses: actions/setup-node@v4
19
+ with:
20
+ node-version: '20'
21
+ registry-url: 'https://registry.npmjs.org'
22
+
23
+ # Ensure npm 11.5.1 or later is installed
24
+ - name: Update npm
25
+ run: npm install -g npm@latest
26
+ - run: npm ci
27
+ - run: npm run build --if-present
28
+ - run: npm test
29
+ - run: npm publish
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smartling-api-sdk-nodejs",
3
- "version": "2.29.0",
3
+ "version": "2.30.0",
4
4
  "description": "Package for Smartling API",
5
5
  "main": "built/index.js",
6
6
  "engines": {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const assert_1 = __importDefault(require("assert"));
16
+ const static_access_token_provider_1 = require("../api/auth/static-access-token-provider");
17
+ describe("AccessTokenProvider", () => {
18
+ const staticToken = "test.jwt.token";
19
+ it("should return the static token and token type", () => __awaiter(void 0, void 0, void 0, function* () {
20
+ const provider = new static_access_token_provider_1.StaticAccessTokenProvider(staticToken, "Bearer");
21
+ assert_1.default.strictEqual(yield provider.getAccessToken(), staticToken);
22
+ assert_1.default.strictEqual(yield provider.getTokenType(), "Bearer");
23
+ }));
24
+ });
25
+ //# sourceMappingURL=access-token-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-token-provider.spec.js","sourceRoot":"","sources":["../../test/access-token-provider.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,2FAAqF;AAErF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAErC,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;QAC3D,MAAM,QAAQ,GAAG,IAAI,wDAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEtE,gBAAM,CAAC,WAAW,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;QACjE,gBAAM,CAAC,WAAW,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,332 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const sinon_1 = __importDefault(require("sinon"));
16
+ const assert_1 = __importDefault(require("assert"));
17
+ const index_1 = require("../api/auth/index");
18
+ const mock_1 = require("./mock");
19
+ const index_2 = require("../api/exception/index");
20
+ describe("Auth class tests.", () => {
21
+ let auth;
22
+ let authMakeRequestStub;
23
+ let authResetRequestTimeStampSpy;
24
+ beforeEach(() => {
25
+ auth = new index_1.SmartlingAuthApi("https://api.smartling.com", "test_user_id", "test_user_secret", mock_1.loggerMock);
26
+ authMakeRequestStub = sinon_1.default.stub(auth, "makeRequest");
27
+ authResetRequestTimeStampSpy = sinon_1.default.spy(auth, "resetRequestTimeStamp");
28
+ });
29
+ afterEach(() => {
30
+ authMakeRequestStub.restore();
31
+ authResetRequestTimeStampSpy.restore();
32
+ });
33
+ describe("Method authenticate.", () => {
34
+ it("Success flow", () => __awaiter(void 0, void 0, void 0, function* () {
35
+ yield auth.authenticate();
36
+ sinon_1.default.assert.calledOnce(authResetRequestTimeStampSpy);
37
+ sinon_1.default.assert.calledOnce(authMakeRequestStub);
38
+ sinon_1.default.assert.calledWithExactly(authMakeRequestStub, "post", "https://api.smartling.com/auth-api/v2/authenticate", "{\"userIdentifier\":\"test_user_id\",\"userSecret\":\"test_user_secret\"}");
39
+ }));
40
+ it("Auth endpoint returned non-200 response code", () => __awaiter(void 0, void 0, void 0, function* () {
41
+ authMakeRequestStub.restore();
42
+ const baseFetchStub = sinon_1.default.stub(auth, "fetch");
43
+ const response401Mock = {
44
+ status: 401
45
+ };
46
+ baseFetchStub.onCall(0).returns(response401Mock);
47
+ baseFetchStub.onCall(1).returns(mock_1.responseMock);
48
+ yield auth.authenticate();
49
+ }));
50
+ });
51
+ describe("Method refreshToken.", () => {
52
+ let authTokenExistsStub;
53
+ let authTokenCanBeRenewedStub;
54
+ let authAuthenticateStub;
55
+ beforeEach(() => {
56
+ authTokenExistsStub = sinon_1.default.stub(auth, "tokenExists");
57
+ authTokenCanBeRenewedStub = sinon_1.default.stub(auth, "tokenCanBeRenewed");
58
+ authAuthenticateStub = sinon_1.default.stub(auth, "authenticate");
59
+ });
60
+ afterEach(() => {
61
+ authTokenExistsStub.restore();
62
+ authTokenCanBeRenewedStub.restore();
63
+ authAuthenticateStub.restore();
64
+ });
65
+ it("Token exists and can be renewed.", () => __awaiter(void 0, void 0, void 0, function* () {
66
+ authTokenExistsStub.returns(true);
67
+ authTokenCanBeRenewedStub.returns(true);
68
+ auth.response = { refreshToken: "test_refresh_token" };
69
+ yield auth.refreshToken();
70
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
71
+ sinon_1.default.assert.calledOnce(authTokenCanBeRenewedStub);
72
+ sinon_1.default.assert.calledOnce(authResetRequestTimeStampSpy);
73
+ sinon_1.default.assert.calledOnce(authMakeRequestStub);
74
+ sinon_1.default.assert.calledWithExactly(authMakeRequestStub, "post", "https://api.smartling.com/auth-api/v2/authenticate/refresh", "{\"refreshToken\":\"test_refresh_token\"}");
75
+ sinon_1.default.assert.notCalled(authAuthenticateStub);
76
+ }));
77
+ it("Token exists but can't be renewed.", () => __awaiter(void 0, void 0, void 0, function* () {
78
+ authTokenExistsStub.returns(true);
79
+ authTokenCanBeRenewedStub.returns(false);
80
+ auth.response = { refreshToken: "test_refresh_token" };
81
+ yield auth.refreshToken();
82
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
83
+ sinon_1.default.assert.calledOnce(authTokenCanBeRenewedStub);
84
+ sinon_1.default.assert.notCalled(authResetRequestTimeStampSpy);
85
+ sinon_1.default.assert.notCalled(authMakeRequestStub);
86
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
87
+ }));
88
+ it("Token doesn't exist but can be renewed.", () => __awaiter(void 0, void 0, void 0, function* () {
89
+ authTokenExistsStub.returns(false);
90
+ authTokenCanBeRenewedStub.returns(true);
91
+ auth.response = { refreshToken: "test_refresh_token" };
92
+ yield auth.refreshToken();
93
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
94
+ sinon_1.default.assert.notCalled(authTokenCanBeRenewedStub);
95
+ sinon_1.default.assert.notCalled(authResetRequestTimeStampSpy);
96
+ sinon_1.default.assert.notCalled(authMakeRequestStub);
97
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
98
+ }));
99
+ it("Token doesn't exist and can't be renewed.", () => __awaiter(void 0, void 0, void 0, function* () {
100
+ authTokenExistsStub.returns(false);
101
+ authTokenCanBeRenewedStub.returns(false);
102
+ auth.response = { refreshToken: "test_refresh_token" };
103
+ yield auth.refreshToken();
104
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
105
+ sinon_1.default.assert.notCalled(authTokenCanBeRenewedStub);
106
+ sinon_1.default.assert.notCalled(authResetRequestTimeStampSpy);
107
+ sinon_1.default.assert.notCalled(authMakeRequestStub);
108
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
109
+ }));
110
+ });
111
+ it("Method resetToken.", () => __awaiter(void 0, void 0, void 0, function* () {
112
+ auth.requestTimestamp = 1234567890;
113
+ auth.response = { foo: "bar" };
114
+ auth.resetToken();
115
+ assert_1.default.equal(auth.requestTimestamp, 0);
116
+ assert_1.default.deepEqual(auth.response, null);
117
+ }));
118
+ describe("Method getAccessToken.", () => {
119
+ let authTokenExpiredStub;
120
+ let authRefreshTokenStub;
121
+ let authTokenExistsStub;
122
+ let authAuthenticateStub;
123
+ beforeEach(() => {
124
+ authTokenExpiredStub = sinon_1.default.stub(auth, "tokenExpired");
125
+ authRefreshTokenStub = sinon_1.default.stub(auth, "refreshToken");
126
+ authTokenExistsStub = sinon_1.default.stub(auth, "tokenExists");
127
+ authAuthenticateStub = sinon_1.default.stub(auth, "authenticate");
128
+ });
129
+ afterEach(() => {
130
+ authTokenExpiredStub.restore();
131
+ authRefreshTokenStub.restore();
132
+ authTokenExistsStub.restore();
133
+ authAuthenticateStub.restore();
134
+ });
135
+ it("Token is not expired and does exist.", () => __awaiter(void 0, void 0, void 0, function* () {
136
+ authTokenExpiredStub.returns(false);
137
+ authTokenExistsStub.returns(true);
138
+ auth.response = { accessToken: "foo" };
139
+ yield auth.getAccessToken();
140
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
141
+ sinon_1.default.assert.notCalled(authRefreshTokenStub);
142
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
143
+ sinon_1.default.assert.notCalled(authAuthenticateStub);
144
+ }));
145
+ it("Token is expired and doesn't exist.", () => __awaiter(void 0, void 0, void 0, function* () {
146
+ authTokenExpiredStub.returns(true);
147
+ authTokenExistsStub.returns(false);
148
+ authAuthenticateStub.returns({ accessToken: "foo" });
149
+ yield auth.getAccessToken();
150
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
151
+ sinon_1.default.assert.calledOnce(authRefreshTokenStub);
152
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
153
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
154
+ }));
155
+ it("Token is expired and exists.", () => __awaiter(void 0, void 0, void 0, function* () {
156
+ authTokenExpiredStub.returns(true);
157
+ authTokenExistsStub.returns(true);
158
+ authRefreshTokenStub.returns({ accessToken: "foo" });
159
+ yield auth.getAccessToken();
160
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
161
+ sinon_1.default.assert.calledOnce(authRefreshTokenStub);
162
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
163
+ sinon_1.default.assert.notCalled(authAuthenticateStub);
164
+ }));
165
+ it("Token is not expired and doesn't exist.", () => __awaiter(void 0, void 0, void 0, function* () {
166
+ authTokenExpiredStub.returns(false);
167
+ authTokenExistsStub.returns(false);
168
+ authAuthenticateStub.returns({ accessToken: "foo" });
169
+ yield auth.getAccessToken();
170
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
171
+ sinon_1.default.assert.notCalled(authRefreshTokenStub);
172
+ sinon_1.default.assert.calledOnce(authTokenExistsStub);
173
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
174
+ }));
175
+ it("Refresh token request failed: final attempt to authenticate succeeds.", () => __awaiter(void 0, void 0, void 0, function* () {
176
+ const error = new index_2.SmartlingException("Test exception", { foo: "bar" });
177
+ authTokenExpiredStub.returns(true);
178
+ authRefreshTokenStub.throws(error);
179
+ authAuthenticateStub.returns({ accessToken: "foo" });
180
+ assert_1.default.equal(yield auth.getAccessToken(), "foo");
181
+ assert_1.default.deepEqual(auth.response, {
182
+ accessToken: "foo"
183
+ });
184
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
185
+ sinon_1.default.assert.calledOnce(authRefreshTokenStub);
186
+ sinon_1.default.assert.notCalled(authTokenExistsStub);
187
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
188
+ }));
189
+ it("Refresh token request failed: final attempt to authenticate fails.", () => __awaiter(void 0, void 0, void 0, function* () {
190
+ const refreshError = new index_2.SmartlingException("Refresh failed", { foo: "bar" });
191
+ const authError = new index_2.SmartlingException("Auth failed", { foo: "bar" });
192
+ authTokenExpiredStub.returns(true);
193
+ authRefreshTokenStub.throws(refreshError);
194
+ authAuthenticateStub.throws(authError);
195
+ try {
196
+ yield auth.getAccessToken();
197
+ throw new Error("Exception is not thrown.");
198
+ }
199
+ catch (e) {
200
+ assert_1.default.equal(e.constructor.name, "SmartlingException");
201
+ assert_1.default.equal(e.message, "Failed to get access token");
202
+ assert_1.default.deepEqual(e.payload, { foo: "bar" });
203
+ assert_1.default.equal(e.nestedException, authError);
204
+ }
205
+ finally {
206
+ sinon_1.default.assert.calledOnce(authTokenExpiredStub);
207
+ sinon_1.default.assert.calledOnce(authRefreshTokenStub);
208
+ sinon_1.default.assert.notCalled(authTokenExistsStub);
209
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
210
+ }
211
+ }));
212
+ });
213
+ describe("Method getTokenType.", () => {
214
+ let authTokenExistsSpy;
215
+ let authAuthenticateStub;
216
+ beforeEach(() => {
217
+ authTokenExistsSpy = sinon_1.default.spy(auth, "tokenExists");
218
+ authAuthenticateStub = sinon_1.default.stub(auth, "authenticate");
219
+ });
220
+ afterEach(() => {
221
+ authTokenExistsSpy.restore();
222
+ authAuthenticateStub.restore();
223
+ });
224
+ it("Token exists.", () => __awaiter(void 0, void 0, void 0, function* () {
225
+ auth.response = {
226
+ accessToken: "test_access_token",
227
+ tokenType: "test_token_type"
228
+ };
229
+ const result = yield auth.getTokenType();
230
+ sinon_1.default.assert.calledOnce(authTokenExistsSpy);
231
+ sinon_1.default.assert.notCalled(authAuthenticateStub);
232
+ assert_1.default.equal(result, "test_token_type");
233
+ }));
234
+ it("Token doesn't exist: re-auth failed.", () => __awaiter(void 0, void 0, void 0, function* () {
235
+ authAuthenticateStub.throws(new index_2.SmartlingException("Failed to get token type"));
236
+ try {
237
+ yield auth.getTokenType();
238
+ throw new Error("Exception is not thrown.");
239
+ }
240
+ catch (e) {
241
+ assert_1.default.equal(e.constructor.name, "SmartlingException");
242
+ assert_1.default.equal(e.message, "Failed to get token type");
243
+ }
244
+ finally {
245
+ sinon_1.default.assert.calledOnce(authTokenExistsSpy);
246
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
247
+ }
248
+ }));
249
+ it("Token doesn't exist: re-auth succeeded.", () => __awaiter(void 0, void 0, void 0, function* () {
250
+ authAuthenticateStub.returns({
251
+ accessToken: "test_access_token",
252
+ tokenType: "test_token_type"
253
+ });
254
+ const result = yield auth.getTokenType();
255
+ sinon_1.default.assert.calledOnce(authTokenExistsSpy);
256
+ sinon_1.default.assert.calledOnce(authAuthenticateStub);
257
+ assert_1.default.equal(result, "test_token_type");
258
+ }));
259
+ });
260
+ describe("Method tokenExists.", () => {
261
+ it("Response object is set and contains 'accessToken' property.", () => __awaiter(void 0, void 0, void 0, function* () {
262
+ auth.response = {
263
+ accessToken: "test_access_token"
264
+ };
265
+ assert_1.default.equal(auth.tokenExists(), true);
266
+ }));
267
+ it("Response object is set but 'accessToken' property is missing.", () => __awaiter(void 0, void 0, void 0, function* () {
268
+ auth.response = {
269
+ foo: "bar"
270
+ };
271
+ assert_1.default.equal(auth.tokenExists(), false);
272
+ }));
273
+ it("Response object is not set.", () => __awaiter(void 0, void 0, void 0, function* () {
274
+ assert_1.default.equal(auth.tokenExists(), false);
275
+ }));
276
+ });
277
+ describe("Method tokenExpired", () => {
278
+ let authTokenExistsStub;
279
+ beforeEach(() => {
280
+ authTokenExistsStub = sinon_1.default.stub(auth, "tokenExists");
281
+ });
282
+ afterEach(() => {
283
+ authTokenExistsStub.restore();
284
+ });
285
+ it("Expired: token exists and current time > token expiration time.", () => {
286
+ const time = auth.time();
287
+ authTokenExistsStub.returns(true);
288
+ auth.requestTimestamp = time - 120;
289
+ auth.response = { expiresIn: 100 };
290
+ assert_1.default.equal(auth.tokenExpired(), true);
291
+ });
292
+ it("Not expired: token exists and current time <= token expiration time.", () => {
293
+ const time = auth.time();
294
+ authTokenExistsStub.returns(true);
295
+ auth.requestTimestamp = time;
296
+ auth.response = { expiresIn: 100 };
297
+ assert_1.default.equal(auth.tokenExpired(), false);
298
+ });
299
+ it("Not expired: token doesn't exist.", () => {
300
+ authTokenExistsStub.returns(false);
301
+ assert_1.default.equal(auth.tokenExpired(), false);
302
+ });
303
+ });
304
+ describe("Method tokenCanBeRenewed", () => {
305
+ let authTokenExistsStub;
306
+ beforeEach(() => {
307
+ authTokenExistsStub = sinon_1.default.stub(auth, "tokenExists");
308
+ });
309
+ afterEach(() => {
310
+ authTokenExistsStub.restore();
311
+ });
312
+ it("Can be renewed: token exists and current time < request time stamp + 'response.refreshExpiresIn'.", () => {
313
+ const time = auth.time();
314
+ authTokenExistsStub.returns(true);
315
+ auth.requestTimestamp = time;
316
+ auth.response = { refreshExpiresIn: 100 };
317
+ assert_1.default.equal(auth.tokenCanBeRenewed(), true);
318
+ });
319
+ it("Can't be renewed: token exists and current time >= request time stamp + 'response.refreshExpiresIn'.", () => {
320
+ const time = auth.time();
321
+ authTokenExistsStub.returns(true);
322
+ auth.requestTimestamp = time - 120;
323
+ auth.response = { refreshExpiresIn: 100 };
324
+ assert_1.default.equal(auth.tokenCanBeRenewed(), false);
325
+ });
326
+ it("Can't be renewed: token doesn't exist.", () => {
327
+ authTokenExistsStub.returns(false);
328
+ assert_1.default.equal(auth.tokenCanBeRenewed(), false);
329
+ });
330
+ });
331
+ });
332
+ //# sourceMappingURL=auth.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.spec.js","sourceRoot":"","sources":["../../test/auth.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const assert_1 = __importDefault(require("assert"));
16
+ const sinon_1 = __importDefault(require("sinon"));
17
+ const mock_1 = require("./mock");
18
+ const base_1 = require("../api/base");
19
+ describe("SmartlingBaseFileApi class tests.", () => {
20
+ let mockResponse;
21
+ beforeEach(() => {
22
+ mockResponse = Object.assign(Object.assign({}, mock_1.responseMock), { headers: {
23
+ get: sinon_1.default.stub().returns(null)
24
+ } });
25
+ });
26
+ describe("Methods", () => {
27
+ it("Convert response to dto when response doesn't have headers", () => __awaiter(void 0, void 0, void 0, function* () {
28
+ const fileWithMetadata = yield base_1.SmartlingBaseFileApi.downloadResponseToTranslatedFileDto(mockResponse);
29
+ assert_1.default.ok(fileWithMetadata.contentType === undefined);
30
+ assert_1.default.ok(fileWithMetadata.fileName === undefined);
31
+ assert_1.default.ok(fileWithMetadata.fileContent.byteLength === 1);
32
+ }));
33
+ it("Convert response to dto when response has headers", () => __awaiter(void 0, void 0, void 0, function* () {
34
+ mockResponse.headers.get.onCall(0).returns("application/xml");
35
+ mockResponse.headers.get.onCall(1).returns("attachment; filename=\"test.xml\"");
36
+ mockResponse.headers.get.returns(null);
37
+ const fileWithMetadata = yield base_1.SmartlingBaseFileApi.downloadResponseToTranslatedFileDto(mockResponse);
38
+ assert_1.default.ok(fileWithMetadata.contentType === "application/xml");
39
+ assert_1.default.ok(fileWithMetadata.fileName === "test.xml");
40
+ assert_1.default.ok(fileWithMetadata.fileContent.byteLength === 1);
41
+ }));
42
+ it("Convert response to dto when file name has quotes", () => __awaiter(void 0, void 0, void 0, function* () {
43
+ mockResponse.headers.get.onCall(0).returns("application/xml");
44
+ mockResponse.headers.get.onCall(1).returns("attachment; filename=\"test - \\\"phase 1\\\".xml\"");
45
+ mockResponse.headers.get.returns(null);
46
+ const fileWithMetadata = yield base_1.SmartlingBaseFileApi.downloadResponseToTranslatedFileDto(mockResponse);
47
+ assert_1.default.ok(fileWithMetadata.contentType === "application/xml");
48
+ assert_1.default.ok(fileWithMetadata.fileName === "test - \"phase 1\".xml");
49
+ assert_1.default.ok(fileWithMetadata.fileContent.byteLength === 1);
50
+ }));
51
+ });
52
+ });
53
+ //# sourceMappingURL=base-file.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-file.spec.js","sourceRoot":"","sources":["../../test/base-file.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,kDAA0B;AAC1B,iCAAsC;AACtC,sCAAmD;AAEnD,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,IAAI,YAAY,CAAC;IAEjB,UAAU,CAAC,GAAG,EAAE;QACZ,YAAY,mCACL,mBAAY,KACf,OAAO,EAAE;gBACL,GAAG,EAAE,eAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,GACJ,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;YACxE,MAAM,gBAAgB,GAAG,MAAM,2BAAoB,CAAC,mCAAmC,CACnF,YAAwB,CAC3B,CAAC;YAEF,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;YACtD,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YACnD,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YAC/D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAChF,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvC,MAAM,gBAAgB,GAAG,MAAM,2BAAoB,CAAC,mCAAmC,CACnF,YAAwB,CAC3B,CAAC;YAEF,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,KAAK,iBAAiB,CAAC,CAAC;YAC9D,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YACpD,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YAC/D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;YAClG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEvC,MAAM,gBAAgB,GAAG,MAAM,2BAAoB,CAAC,mCAAmC,CACnF,YAAwB,CAC3B,CAAC;YAEF,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,KAAK,iBAAiB,CAAC,CAAC;YAC9D,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,KAAK,wBAAwB,CAAC,CAAC;YAClE,gBAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};