mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
test: add test for cookies of wss requests (#20586)
https://github.com/microsoft/playwright/issues/20370
This commit is contained in:
parent
3180bc9804
commit
c9230c699c
@ -15,6 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { IncomingHttpHeaders } from 'http';
|
||||
import type { Cookie } from '@playwright/test';
|
||||
import { contextTest as it, playwrightTest, expect } from '../config/browserTest';
|
||||
|
||||
@ -452,3 +453,17 @@ it('should allow unnamed cookies', async ({ page, context, server, browserName,
|
||||
else
|
||||
expect.soft(await page.evaluate('document.cookie')).toBe('unnamed-via-js');
|
||||
});
|
||||
|
||||
it('should set cookies on WebSocket', async ({ contextFactory, httpsServer, browserName, platform }) => {
|
||||
it.fixme(browserName === 'webkit' && platform === 'win32', 'WebKit on win32 does not send any cookies over the WebSocket connection');
|
||||
let resolveResceivedWebSocketHeaders = (headers: IncomingHttpHeaders) => { };
|
||||
const receivedWebSocketHeaders = new Promise<IncomingHttpHeaders>(resolve => resolveResceivedWebSocketHeaders = resolve);
|
||||
httpsServer.onceWebSocketConnection((ws, req) => resolveResceivedWebSocketHeaders(req.headers));
|
||||
const context = await contextFactory({ ignoreHTTPSErrors: true });
|
||||
const page = await context.newPage();
|
||||
await page.goto(httpsServer.EMPTY_PAGE);
|
||||
await context.addCookies([{ domain: 'localhost', path: '/', name: 'foo', value: 'bar', secure: true }]);
|
||||
await page.evaluate(port => new WebSocket(`wss://localhost:${port}/ws`), httpsServer.PORT);
|
||||
const headers = await receivedWebSocketHeaders;
|
||||
expect(headers.cookie).toBe('foo=bar');
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user