mirror of
https://github.com/alibaba/anyproxy.git
synced 2025-04-20 17:14:20 +00:00
51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
const { curlify } = require('../../web/src/common/curlUtil');
|
|
|
|
describe('Test the curlify function', () => {
|
|
it('request with headers', () => {
|
|
const requestDetail = {
|
|
method: 'POST',
|
|
url: 'https://localhost:3001/test',
|
|
reqHeader: {
|
|
'via-proxy': 'true',
|
|
},
|
|
};
|
|
const result = 'curl \'https://localhost:3001/test\' -X POST -H \'via-proxy: true\'';
|
|
expect(curlify(requestDetail)).toBe(result);
|
|
});
|
|
|
|
it('request with JSON body', () => {
|
|
const requestDetail = {
|
|
method: 'POST',
|
|
url: 'https://localhost:3001/test',
|
|
reqHeader: {
|
|
'content-type': 'application/json; charset=utf-8',
|
|
},
|
|
reqBody: '{"action":1,"method":"test"}',
|
|
};
|
|
const result = `curl '${requestDetail.url}' -X POST -H 'content-type: application/json; charset=utf-8' -d '${requestDetail.reqBody}'`;
|
|
expect(curlify(requestDetail)).toBe(result);
|
|
});
|
|
|
|
it('accpet gzip encoding with compressed flag', () => {
|
|
const requestDetail = {
|
|
method: 'GET',
|
|
url: 'https://localhost:3001/test',
|
|
reqHeader: {
|
|
Host: 'localhost',
|
|
'Accept-Encoding': 'gzip',
|
|
},
|
|
};
|
|
const result = 'curl \'https://localhost:3001/test\' -H \'Host: localhost\' -H \'Accept-Encoding: gzip\' --compressed';
|
|
expect(curlify(requestDetail)).toBe(result);
|
|
});
|
|
|
|
it('escape url character', () => {
|
|
const requestDetail = {
|
|
method: 'GET',
|
|
url: 'https://localhost:3001/test?a[]=1',
|
|
};
|
|
const result = 'curl \'https://localhost:3001/test?a\\[\\]=1\'';
|
|
expect(curlify(requestDetail)).toBe(result);
|
|
});
|
|
});
|