Skip to content

Commit

Permalink
chore: mediafetch tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lovegaoshi committed Mar 12, 2024
1 parent 09d6125 commit 788f3c9
Show file tree
Hide file tree
Showing 17 changed files with 122 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/jest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
- name: run tests
run: |
git submodule update --init --recursive
yarn test
yarn test --runInBand
File renamed without changes.
4 changes: 1 addition & 3 deletions __tests__/mediafetch/biliavideo.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import fetcher from '@utils/mediafetch/biliavideo';

test('biliavideo', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://www.bilibili.com/audio/au3680653?type=3&spm_id_from=333.999.0.0'
),
reExtracted: fetcher.regexSearchMatch.exec('av43867326'),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import fetcher from '@utils/mediafetch/biliChannel';
import fetcher from '@utils/mediafetch/bilichannel';

test('biliChannel', async () => {
const content = await fetcher.regexFetch({
Expand Down
10 changes: 10 additions & 0 deletions __tests__/mediafetch/bilichannelAudio.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/bilichannelAudio';
test('bilichannelAudio', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://space.bilibili.com/529249/audio'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
10 changes: 10 additions & 0 deletions __tests__/mediafetch/bilicolle.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/bilicolle';
test('bilicolle', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://space.bilibili.com/529249/channel/collectiondetail?sid=2248501'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
10 changes: 10 additions & 0 deletions __tests__/mediafetch/bilifavlist.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/bilifavlist';
test('bilifavlist', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://space.bilibili.com/529249/favlist?fid=1656066449&ftype=create'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
10 changes: 10 additions & 0 deletions __tests__/mediafetch/biliseries.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/biliseries';
test('biliseries', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://space.bilibili.com/3493085134719196/channel/seriesdetail?sid=2790798'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
10 changes: 10 additions & 0 deletions __tests__/mediafetch/bilivideo.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/bilivideo';
test('bilivideo', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://www.bilibili.com/video/BV1KW4y1p7oT/?spm_id_from=333.999.0.0'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
10 changes: 10 additions & 0 deletions __tests__/mediafetch/ytbplaylist.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import fetcher from '@utils/mediafetch/ytbplaylist';
test('ytbplaylist', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://www.youtube.com/watch?v=nyvehUgBc3g&list=PLbpi6ZahtOH7lIn0YG_BhuzoKxQeJWsxY'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
8 changes: 8 additions & 0 deletions __tests__/mediafetch/ytbsearch.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import fetcher from '@utils/mediafetch/ytbsearch';
test('ytbsearch', async () => {
const content = await fetcher.regexFetch({
url: 'wake',
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
31 changes: 31 additions & 0 deletions scripts/testgen.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'''
import fetcher from '@utils/mediafetch/biliChannel';
test('biliChannel', async () => {
const content = await fetcher.regexFetch({
reExtracted: fetcher.regexSearchMatch.exec(
'https://space.bilibili.com/529249/video?tid=129&special_type=&pn=1&keyword=&order=pubdate'
),
});
// console.log(content);
expect(content?.songList[0]?.id).not.toBeNull();
});
'''
import os
import glob
for mediafetch in glob.glob('./src/utils/mediafetch/*.ts'):
mediafetch_name = os.path.splitext(os.path.basename(mediafetch))[0]
if os.path.exists(f'./__tests__/mediafetch/{mediafetch_name}.test.ts'):
continue
with open(f'./__tests__/mediafetch/{mediafetch_name}.test.ts', 'w') as f:
f.write(f'import fetcher from \'@utils/mediafetch/{mediafetch_name}\';\n')
f.write('test(\'' + mediafetch_name + '\', async () => {\n')
f.write(' const content = await fetcher.regexFetch({\n')
f.write(' reExtracted: fetcher.regexSearchMatch.exec(\n')
f.write(' \'\'\n')
f.write(' ),\n')
f.write(' });\n')
f.write(' // console.log(content);\n')
f.write(' expect(content?.songList[0]?.id).not.toBeNull();\n')
f.write('});\n')

34 changes: 18 additions & 16 deletions src/utils/mediafetch/bilichannelAudio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { regexFetchProps } from './generic';
import { fetchAwaitBiliPaginatedAPI } from './paginatedbili';
import { awaitLimiter } from './throttle';
import SongTS from '@objects/Song';
import { info } from 'console';

// https://api.bilibili.com/audio/music-service/web/song/upper?uid=741520&pn=1&ps=70&order=1
const URL_BILICHANNEL_AUDIO_INFO =
Expand All @@ -35,22 +36,23 @@ export const fetchBiliChannelAudioList = async (
progressEmitter,
favList,
limiter: awaitLimiter,
resolveBiliBVID: async (info: any) => [
SongTS({
cid: `${CIDPREFIX}-${info.id}`,
bvid: info.id,
name: info.title,
nameRaw: info.title,
singer: info.uname,
singerId: info.uid,
cover: info.cover,
lyric: '',
page: 1,
duration: info.duration,
album: info.title,
source: SOURCE.biliaudio,
}),
],
resolveBiliBVID: async infos =>
infos.map(info =>
SongTS({
cid: `${CIDPREFIX}-${info.id}`,
bvid: info.id,
name: info.title,
nameRaw: info.title,
singer: info.uname,
singerId: info.uid,
cover: info.cover,
lyric: '',
page: 1,
duration: info.duration,
album: info.title,
source: SOURCE.biliaudio,
})
),
});
};

Expand Down
2 changes: 1 addition & 1 deletion src/utils/mediafetch/paginatedbili.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
fetchPaginatedAPI,
fetchAwaitPaginatedAPI,
FetcherProps,
} from './paginatedfetch2';
} from './paginatedfetch';
import { biliApiLimiter } from './throttle';
import bfetch from '@utils/BiliFetch';

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/utils/mediafetch/steriatk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
*/
import { SOURCE } from '@enums/MediaFetch';
import { regexFetchProps } from './generic';
import { fetchAwaitPaginatedAPI } from './paginatedfetch2';
import { fetchAwaitPaginatedAPI } from './paginatedfetch';
import SongTS from '@objects/Song';

const pagesize = 500;
Expand Down

0 comments on commit 788f3c9

Please sign in to comment.