test: allow csp for livechat tests (#32116)

pull/32069/head
Guilherme Gazzo 2 years ago committed by GitHub
parent 390c95a6e7
commit a899d410e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      apps/meteor/app/cors/server/cors.ts
  2. 80
      apps/meteor/packages/rocketchat-livechat/assets/demo.html
  3. 11
      apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-api.spec.ts
  4. 6
      apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-widget.spec.ts

@ -60,6 +60,8 @@ WebApp.rawConnectHandlers.use(async (_req: http.IncomingMessage, res: http.Serve
const inlineHashes = [
// Hash for `window.close()`, required by the CAS login popup.
"'sha256-jqxtvDkBbRAl9Hpqv68WdNOieepg8tJSYu1xIy7zT34='",
// Hash for /apps/meteor/packages/rocketchat-livechat/assets/demo.html:25
"'sha256-aui5xYk3Lu1dQcnsPlNZI+qDTdfzdUv3fzsw80VLJgw='",
]
.filter(Boolean)
.join(' ');

@ -1,45 +1,39 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
</head>
<!-- Access: http://localhost:3000/packages/rocketchat_livechat/assets/demo.html -->
<body style="background-color: #EFEFEF">
<h1 style="color:#000">test</h1>
<p style="color:#000">Talk to us.</p>
<!-- Start of Rocket.Chat Livechat Script -->
<script type="text/javascript">
(function(w, d, s, u) {
w.RocketChat = function(c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u;
var h = d.getElementsByTagName(s)[0], j = d.createElement(s);
j.async = true; j.src = `${window.location.origin}/livechat/rocketchat-livechat.min.js?_=${Math.random()}`;
h.parentNode.insertBefore(j, h);
})(window, document, 'script', `${window.location.origin}/livechat`);
</script>
<h2>changing page title</h2>
<a href="#page-0" onclick="document.title='page-0'">page 0</a><br>
<a href="#page-1" onclick="document.title='page-1'">page 1</a><br>
<a href="#page-2" onclick="document.title='page-2'">page 2</a><br>
<a href="#page-3" onclick="document.title='page-3'">page 3</a><br>
<h2>without changing page title</h2>
<a href="#page-4">page 4</a><br>
<a href="#page-5">page 5</a><br>
<a href="#page-6">page 6</a><br>
<a href="#page-7">page 7</a><br>
<script type="text/javascript">
(function(w, d, s, u) {
w.RocketChat = function(c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u;
var h = d.getElementsByTagName(s)[0], j = d.createElement(s);
j.async = true; j.src = `${window.location.origin}/livechat/rocketchat-livechat.min.js?_=201903270000`;
h.parentNode.insertBefore(j, h);
})(window, document, 'script', `${window.location.origin}/livechat`);
</script>
</body>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
</head>
<!-- Access: http://localhost:3000/packages/rocketchat_livechat/assets/demo.html -->
<body style="background-color: #efefef">
<h1 style="color: #000">test</h1>
<p style="color: #000">Talk to us.</p>
<h2>changing page title</h2>
<a href="#page-0" onclick="document.title='page-0'">page 0</a><br />
<a href="#page-1" onclick="document.title='page-1'">page 1</a><br />
<a href="#page-2" onclick="document.title='page-2'">page 2</a><br />
<a href="#page-3" onclick="document.title='page-3'">page 3</a><br />
<h2>without changing page title</h2>
<a href="#page-4">page 4</a><br />
<a href="#page-5">page 5</a><br />
<a href="#page-6">page 6</a><br />
<a href="#page-7">page 7</a><br />
<script type="text/javascript">
(function (w, d, s, u) {
w.RocketChat = function (c) {
w.RocketChat._.push(c);
};
w.RocketChat._ = [];
w.RocketChat.url = u;
var h = d.getElementsByTagName(s)[0],
j = d.createElement(s);
j.async = true;
j.src = `${window.location.origin}/livechat/rocketchat-livechat.min.js?_=201903270000`;
h.parentNode.insertBefore(j, h);
})(window, document, 'script', `${window.location.origin}/livechat`);
</script>
</body>
</html>

@ -70,7 +70,6 @@ test.describe('OC - Livechat API', () => {
agent = await createAgent(api, 'user1');
page = await browser.newPage();
await expect((await api.post('/settings/Enable_CSP', { value: false })).status()).toBe(200);
poLiveChat = new OmnichannelLiveChatEmbedded(page);
@ -80,8 +79,7 @@ test.describe('OC - Livechat API', () => {
await page.goto('/packages/rocketchat_livechat/assets/demo.html');
});
test.afterAll(async ({ api }) => {
await expect((await api.post('/settings/Enable_CSP', { value: true })).status()).toBe(200);
test.afterAll(async () => {
await agent.delete();
await poAuxContext.page.close();
await page.close();
@ -231,8 +229,6 @@ test.describe('OC - Livechat API', () => {
await addAgentToDepartment(api, { department: departmentA, agentId: agent.data._id });
await addAgentToDepartment(api, { department: departmentB, agentId: agent2.data._id });
await expect((await api.post('/settings/Enable_CSP', { value: false })).status()).toBe(200);
await expect((await api.post('/settings/Livechat_offline_email', { value: 'test@testing.com' })).status()).toBe(200);
});
@ -267,7 +263,6 @@ test.describe('OC - Livechat API', () => {
});
test.afterAll(async ({ api }) => {
await expect((await api.post('/settings/Enable_CSP', { value: true })).status()).toBe(200);
await agent.delete();
await agent2.delete();
@ -623,7 +618,6 @@ test.describe('OC - Livechat API', () => {
test.beforeAll(async ({ api }) => {
agent = await createAgent(api, 'user1');
await expect((await api.post('/settings/Enable_CSP', { value: false })).status()).toBe(200);
await expect((await api.post('/settings/Livechat_offline_email', { value: 'test@testing.com' })).status()).toBe(200);
});
@ -650,8 +644,7 @@ test.describe('OC - Livechat API', () => {
await page.close();
});
test.afterAll(async ({ api }) => {
await expect((await api.post('/settings/Enable_CSP', { value: true })).status()).toBe(200);
test.afterAll(async () => {
await agent.delete();
});

@ -8,16 +8,14 @@ test.describe('Omnichannel - Livechat Widget Embedded', () => {
let page: Page;
let poLiveChat: OmnichannelLiveChatEmbedded;
test.beforeAll(async ({ browser, api }) => {
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
poLiveChat = new OmnichannelLiveChatEmbedded(page);
await expect((await api.post('/settings/Enable_CSP', { value: false })).status()).toBe(200);
await page.goto('/packages/rocketchat_livechat/assets/demo.html');
});
test.afterAll(async ({ api }) => {
await expect((await api.post('/settings/Enable_CSP', { value: true })).status()).toBe(200);
test.afterAll(async () => {
await page.close();
});

Loading…
Cancel
Save