test: rand-user-agent test

This commit is contained in:
DIYgod 2024-03-27 15:37:51 +08:00
parent 3016a2f44f
commit bcd5f6ff8b
No known key found for this signature in database
2 changed files with 9 additions and 19 deletions

View File

@ -47,6 +47,11 @@ const server = setupServer(
`var ct = "${1_636_626_300}";\n` +
'</script>'
)
),
http.get(`http://rsshub.test/ua`, ({ request }) =>
HttpResponse.json({
ua: request.headers.get('user-agent'),
})
)
);
server.listen();

View File

@ -1,7 +1,6 @@
import { describe, expect, it } from 'vitest';
import got from '@/utils/got';
import { config } from '@/config';
import nock from 'nock';
import randUserAgent from '@/utils/rand-user-agent';
const mobileUa = randUserAgent({ browser: 'mobile safari', os: 'ios', device: 'mobile' });
@ -23,30 +22,16 @@ describe('rand-user-agent', () => {
});
it('should has default random ua', async () => {
nock('https://rsshub.test')
.get('/test')
.reply(function () {
expect(this.req.headers['user-agent']).toBe(config.ua);
expect(this.req.headers['user-agent']).not.toBe(mobileUa);
expect(this.req.headers['user-agent']).not.toBe('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36');
return [200, ''];
});
await got('https://rsshub.test/test');
const { data } = await got('http://rsshub.test/ua');
expect(data.ua).toBe(config.ua);
});
it('should match ua configurated', async () => {
nock('https://rsshub.test')
.get('/test')
.reply(function () {
return [200, { ua: this.req.headers['user-agent'] }];
});
const resonse = await got('https://rsshub.test/test', {
const { data } = await got('http://rsshub.test/ua', {
headers: {
'user-agent': mobileUa,
},
});
// @ts-expect-error custom field
expect(resonse.data.ua).toBe(mobileUa);
expect(data.ua).toBe(mobileUa);
});
});