Skip to content

Commit 50dcc82

Browse files
andywang219Andy Wang
and
Andy Wang
authored
Reset RSA access state on connect.core.terminate() (#827)
Co-authored-by: Andy Wang <[email protected]>
1 parent cac0533 commit 50dcc82

10 files changed

+27
-7
lines changed

package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "amazon-connect-streams",
3-
"version": "2.6.8",
3+
"version": "2.6.9",
44
"description": "Amazon Connect Streams Library",
55
"engines": {
66
"node": ">=12.0.0"

release/connect-streams-dr-min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

release/connect-streams-dr.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

release/connect-streams-min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

release/connect-streams.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -26297,7 +26297,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;// AWS SDK for JavaScript v2.1377.0
2629726297

2629826298
connect.core = {};
2629926299
connect.core.initialized = false;
26300-
connect.version = "2.6.8";
26300+
connect.version = "2.6.9";
2630126301
connect.outerContextStreamsVersion = null;
2630226302
connect.DEFAULT_BATCH_SIZE = 500;
2630326303

@@ -26703,6 +26703,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;// AWS SDK for JavaScript v2.1377.0
2670326703
connect.core.softphoneManager = null;
2670426704
connect.core.upstream = null;
2670526705
connect.core.keepaliveManager = null;
26706+
connect.storageAccess.resetStorageAccessState();
2670626707
connect.agent.initialized = false;
2670726708
connect.core.initialized = false;
2670826709
};
@@ -30514,6 +30515,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;// AWS SDK for JavaScript v2.1377.0
3051430515
storageParams = {};
3051530516
originalCCPUrl = '';
3051630517
rsaContainer = null;
30518+
onGrantCallbackInvoked = false;
3051730519
};
3051830520

3051930521
/**
@@ -30777,6 +30779,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;// AWS SDK for JavaScript v2.1377.0
3077730779
getRequestStorageAccessUrl,
3077830780
storageAccessEvents,
3077930781
resetStorageAccessState,
30782+
getOnGrantCallbackInvoked: () => onGrantCallbackInvoked,
3078030783
getStorageAccessParams: () => storageParams,
3078130784
onRequest: onRequestHandler,
3078230785
request: () => {

src/core.js

+1
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,7 @@
417417
connect.core.softphoneManager = null;
418418
connect.core.upstream = null;
419419
connect.core.keepaliveManager = null;
420+
connect.storageAccess.resetStorageAccessState();
420421
connect.agent.initialized = false;
421422
connect.core.initialized = false;
422423
};

src/request-storage-access.js

+2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
storageParams = {};
8383
originalCCPUrl = '';
8484
rsaContainer = null;
85+
onGrantCallbackInvoked = false;
8586
};
8687

8788
/**
@@ -345,6 +346,7 @@
345346
getRequestStorageAccessUrl,
346347
storageAccessEvents,
347348
resetStorageAccessState,
349+
getOnGrantCallbackInvoked: () => onGrantCallbackInvoked,
348350
getStorageAccessParams: () => storageParams,
349351
onRequest: onRequestHandler,
350352
request: () => {

test/unit/core.spec.js

+9
Original file line numberDiff line numberDiff line change
@@ -2114,16 +2114,25 @@ describe('Core', function () {
21142114
});
21152115

21162116
it("Check if CCP is initialized after calling terminate function and re-calling initCCP", function () {
2117+
const storageAccessOriginal = connect.storageAccess;
2118+
connect.storageAccess = { ...connect.storageAccess, resetStorageAccessState: sinon.fake()};
2119+
21172120
expect(params.ccpUrl).not.to.be.a("null");
21182121
expect(containerDiv).not.to.be.a("null");
21192122
connect.core.initCCP(containerDiv, params);
21202123
expect(isCCPInitialized(containerDiv, params)).to.be.true;
2124+
21212125
connect.core.terminate();
2126+
expect(connect.storageAccess.resetStorageAccessState.calledOnce).to.be.true;
2127+
21222128
connect.core.terminate();
2129+
expect(connect.storageAccess.resetStorageAccessState.calledTwice).to.be.true;
2130+
21232131
expect(isCCPTerminated()).to.be.true;
21242132
sandbox.resetHistory();
21252133
connect.core.initCCP(containerDiv, params);
21262134
expect(isCCPInitialized(containerDiv, params)).to.be.true;
2135+
connect.storageAccess = storageAccessOriginal;
21272136
});
21282137

21292138
});

test/unit/request-storage-access.spec.js

+5
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ describe('Request Storage Access module', () => {
192192
});
193193

194194
connect.storageAccess.init(ccpUrl, container);
195+
expect(connect.storageAccess.getOnGrantCallbackInvoked()).to.be.false;
195196
connect.storageAccess.setupRequestHandlers({ onGrant: onGrantSpy });
196197
connect.storageAccess.request();
197198

@@ -202,10 +203,14 @@ describe('Request Storage Access module', () => {
202203
expect(storageAccessRequestArgs.data.landat).to.be.equals('/connect/ccp-v2');
203204

204205
expect(onGrantSpy.called).to.be.true;
206+
expect(connect.storageAccess.getOnGrantCallbackInvoked()).to.be.true;
205207
connect.storageAccess.request();
206208

207209
/** Should be called only once */
208210
expect(onGrantSpy.calledTwice).not.to.be.true;
211+
212+
connect.storageAccess.resetStorageAccessState();
213+
expect(connect.storageAccess.getOnGrantCallbackInvoked()).to.be.false;
209214
});
210215

211216
it('Should hide container if mode is custom after granting access', () => {

0 commit comments

Comments
 (0)