@forge/cache 0.2.0-next.0 → 0.2.0-next.2
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/out/__test__/cache.test.js +11 -7
- package/out/cache.d.ts +1 -3
- package/out/cache.d.ts.map +1 -1
- package/out/cache.js +4 -4
- package/package.json +2 -2
|
@@ -32,6 +32,10 @@ describe('connect', () => {
|
|
|
32
32
|
rms: {
|
|
33
33
|
url: 'https://dev.services.atlassian.com',
|
|
34
34
|
host: 'rockmelon-storage.dev.atl-paas.net'
|
|
35
|
+
},
|
|
36
|
+
tracing: {
|
|
37
|
+
traceId: 'trace-id-test',
|
|
38
|
+
spanId: 'span-id-test'
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
41
|
});
|
|
@@ -75,6 +79,10 @@ describe('createFetch', () => {
|
|
|
75
79
|
rms: {
|
|
76
80
|
url: 'https://dev.services.atlassian.com',
|
|
77
81
|
host: 'rockmelon-storage.dev.atl-paas.net'
|
|
82
|
+
},
|
|
83
|
+
tracing: {
|
|
84
|
+
traceId: 'trace-id-test',
|
|
85
|
+
spanId: 'span-id-test'
|
|
78
86
|
}
|
|
79
87
|
};
|
|
80
88
|
const fetch = (0, cache_1.createFetchRmsRuntimeV2)();
|
|
@@ -84,7 +92,9 @@ describe('createFetch', () => {
|
|
|
84
92
|
expect((options === null || options === void 0 ? void 0 : options.agent)['keepAlive']).toBeTruthy();
|
|
85
93
|
expect(options === null || options === void 0 ? void 0 : options.headers).toMatchObject({
|
|
86
94
|
Authorization: 'Bearer token',
|
|
87
|
-
Host: 'rockmelon-storage.dev.atl-paas.net'
|
|
95
|
+
Host: 'rockmelon-storage.dev.atl-paas.net',
|
|
96
|
+
'x-b3-traceid': 'trace-id-test',
|
|
97
|
+
'x-b3-spanid': 'span-id-test'
|
|
88
98
|
});
|
|
89
99
|
});
|
|
90
100
|
});
|
|
@@ -172,12 +182,6 @@ describe('Cache', () => {
|
|
|
172
182
|
expect(result).toEqual(11);
|
|
173
183
|
expect(fetch.mock.lastCall).toMatchSnapshot();
|
|
174
184
|
});
|
|
175
|
-
it('handles success with ttl', async () => {
|
|
176
|
-
const { cache, fetch } = buildCache();
|
|
177
|
-
fetch.mockResolvedValueOnce({ ok: true, text: async () => JSON.stringify({ response: 13 }), status: 200 });
|
|
178
|
-
await cache.incrementAndGet('key', { ttlSeconds: 100 });
|
|
179
|
-
expect(fetch.mock.lastCall).toMatchSnapshot();
|
|
180
|
-
});
|
|
181
185
|
it('handles failure', async () => {
|
|
182
186
|
const { cache, fetch } = buildCache();
|
|
183
187
|
fetch.mockResolvedValueOnce({ ok: false, text: async () => 'Not allowed', status: 403 });
|
package/out/cache.d.ts
CHANGED
|
@@ -12,9 +12,7 @@ export declare class Cache {
|
|
|
12
12
|
ttlSeconds: number;
|
|
13
13
|
}): Promise<'OK' | null>;
|
|
14
14
|
get(key: string): Promise<string>;
|
|
15
|
-
incrementAndGet(key: string
|
|
16
|
-
ttlSeconds: number;
|
|
17
|
-
}): Promise<number>;
|
|
15
|
+
incrementAndGet(key: string): Promise<number>;
|
|
18
16
|
}
|
|
19
17
|
export declare function getFetchRmsRuntimeV1(): ((path: string, options?: RequestInit) => Promise<Response>) | undefined;
|
|
20
18
|
export declare function createFetchRmsRuntimeV2(): (path: string, options?: RequestInit) => Promise<Response>;
|
package/out/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AACA,OAAkB,EAAE,WAAW,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAInF,oBAAY,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;AAGzE,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAYtE;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;IAGtF,OAAO,CAAC,YAAY;IAUP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAO9F,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjC,eAAe,CAAC,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AACA,OAAkB,EAAE,WAAW,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAInF,oBAAY,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;AAGzE,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAYtE;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;IAGtF,OAAO,CAAC,YAAY;IAUP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAO9F,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAM3D;AAED,wBAAgB,oBAAoB,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAE/G;AAID,wBAAgB,uBAAuB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CA2BpG;AAED,wBAAgB,OAAO,UAItB"}
|
package/out/cache.js
CHANGED
|
@@ -43,8 +43,8 @@ class Cache {
|
|
|
43
43
|
const { value: result } = await getResponseBody(response);
|
|
44
44
|
return result;
|
|
45
45
|
}
|
|
46
|
-
async incrementAndGet(key
|
|
47
|
-
const response = await this.client('rms/store/incr', this.buildRequest(
|
|
46
|
+
async incrementAndGet(key) {
|
|
47
|
+
const response = await this.client('rms/store/incr', this.buildRequest({ key }));
|
|
48
48
|
const { response: result } = await getResponseBody(response);
|
|
49
49
|
return result;
|
|
50
50
|
}
|
|
@@ -56,14 +56,14 @@ function getFetchRmsRuntimeV1() {
|
|
|
56
56
|
}
|
|
57
57
|
exports.getFetchRmsRuntimeV1 = getFetchRmsRuntimeV1;
|
|
58
58
|
function createFetchRmsRuntimeV2() {
|
|
59
|
-
const { proxy, rms } = (0, api_1.getRuntime)();
|
|
59
|
+
const { proxy, rms, tracing } = (0, api_1.getRuntime)();
|
|
60
60
|
const agent = new https_1.Agent({ keepAlive: true });
|
|
61
61
|
if (!(rms === null || rms === void 0 ? void 0 : rms.url) || !(rms === null || rms === void 0 ? void 0 : rms.host)) {
|
|
62
62
|
throw new Error('RMS config not available.');
|
|
63
63
|
}
|
|
64
64
|
return async function (path, options) {
|
|
65
65
|
const rmsFullUrl = new URL(rms.url) + path;
|
|
66
|
-
return await global['fetch'](rmsFullUrl, Object.assign(Object.assign({}, options), { agent, headers: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.headers), { Authorization: `Bearer ${proxy.token}`, Host: rms.host }) }));
|
|
66
|
+
return await global['fetch'](rmsFullUrl, Object.assign(Object.assign({}, options), { agent, headers: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.headers), { Authorization: `Bearer ${proxy.token}`, Host: rms.host, 'x-b3-traceid': tracing.traceId, 'x-b3-spanid': tracing.spanId }) }));
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
exports.createFetchRmsRuntimeV2 = createFetchRmsRuntimeV2;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cache",
|
|
3
|
-
"version": "0.2.0-next.
|
|
3
|
+
"version": "0.2.0-next.2",
|
|
4
4
|
"description": "Forge Cache methods",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -20,6 +20,6 @@
|
|
|
20
20
|
"node-fetch": "2.6.7"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@forge/api": "^2.
|
|
23
|
+
"@forge/api": "^2.17.0-next.0"
|
|
24
24
|
}
|
|
25
25
|
}
|