UNPKG

axios-with-cookies

Version:

Fork of axios-cookiejar-support with configurable http(s)-agent

74 lines (55 loc) 1.9 kB
import test from 'ava'; import axios from 'axios'; import { CookieJar } from 'tough-cookie'; import { wrapper } from '../'; import { createTestServer } from './helpers'; test.before(() => { wrapper(axios); }); test.serial.afterEach.always(() => { delete axios.defaults.jar; }); test.serial('should store cookies to cookiejar when default.jar was assigned', async (t) => { const { port } = await createTestServer([ (_req, res) => { res.setHeader('Set-Cookie', 'key=value'); res.end(); }, ]); const jar = new CookieJar(); axios.defaults.jar = jar; await axios.get(`http://localhost:${port}`); const cookies = await jar.getCookies(`http://localhost:${port}`); t.like(cookies, { 0: { key: 'key', value: 'value' }, }); t.plan(1); }); test.serial('should send cookies from cookiejar when default.jar was assigned', async (t) => { const { port } = await createTestServer([ (req, res) => { t.is(req.headers['cookie'], 'key=value'); res.end(); }, ]); const jar = new CookieJar(); axios.defaults.jar = jar; await jar.setCookie('key=value', `http://localhost:${port}`); await axios.get(`http://localhost:${port}`); t.plan(1); }); test.serial('should use config.cookiejar in preference to default.jar', async (t) => { const { port } = await createTestServer([ (req, res) => { t.is(req.headers['cookie'], 'key=config'); res.end(); }, ]); const defaultJar = new CookieJar(); axios.defaults.jar = defaultJar; await defaultJar.setCookie('key=default', `http://localhost:${port}`); const configJar = new CookieJar(); await configJar.setCookie('key=config', `http://localhost:${port}`); await axios.get(`http://localhost:${port}`, { jar: configJar }); t.plan(1); });