From 5dc58f8a61101c145b6886c8e17bb60e9fbb101c Mon Sep 17 00:00:00 2001 From: Sayem Chowdhury Date: Wed, 4 Aug 2021 01:48:13 +0600 Subject: [PATCH] update flow --- __tests__/api.ts | 16 ++++++++-------- src/lib/get-url.ts | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/__tests__/api.ts b/__tests__/api.ts index eb8fe96..fe55019 100644 --- a/__tests__/api.ts +++ b/__tests__/api.ts @@ -13,6 +13,10 @@ const SNG_ID = '3135556'; const ALB_ID = '302127'; test.serial('GET USER INFO', async (t) => { + // Init api with hifi account + await api.initDeezerApi(process.env.HIFI_ARL); + + // Now get user info const response = await api.getUser(); t.truthy(response.BLOG_NAME); @@ -140,8 +144,7 @@ test('SEARCH TRACK, ALBUM & ARTIST', async (t) => { if (process.env.CI) { test('DOWNLOAD TRACK128 & ADD METADATA', async (t) => { const track = await api.getTrackInfo(SNG_ID); - const urlGen = await getTrackDownloadUrl(track, 1); - const url = urlGen ? urlGen : ''; + const url = await getTrackDownloadUrl(track, 1); const {data} = await axios.get(url, {responseType: 'arraybuffer'}); t.truthy(data); @@ -159,8 +162,7 @@ if (process.env.CI) { test('TRACK128 WITHOUT ALBUM INFO', async (t) => { const track = await api.getTrackInfo('912254892'); - const urlGen = await getTrackDownloadUrl(track, 1); - const url = urlGen ? urlGen : ''; + const url = await getTrackDownloadUrl(track, 1); const {data} = await axios.get(url, {responseType: 'arraybuffer'}); t.truthy(data); @@ -180,8 +182,7 @@ if (process.env.CI) { test('DOWNLOAD TRACK320 & ADD METADATA', async (t) => { const track = await api.getTrackInfo(SNG_ID); - const urlGen = await getTrackDownloadUrl(track, 3); - const url = urlGen ? urlGen : ''; + const url = await getTrackDownloadUrl(track, 3); const {data} = await axios.get(url, {responseType: 'arraybuffer'}); t.truthy(data); @@ -199,8 +200,7 @@ if (process.env.CI) { test('DOWNLOAD TRACK1411 & ADD METADATA', async (t) => { const track = await api.getTrackInfo(SNG_ID); - const urlGen = await getTrackDownloadUrl(track, 9); - const url = urlGen ? urlGen : ''; + const url = await getTrackDownloadUrl(track, 9); const {data} = await axios.get(url, {responseType: 'arraybuffer'}); t.truthy(data); diff --git a/src/lib/get-url.ts b/src/lib/get-url.ts index ba53490..b804f56 100644 --- a/src/lib/get-url.ts +++ b/src/lib/get-url.ts @@ -65,7 +65,7 @@ const getTrackUrlFromServer = async (track_token: string, format: string): Promi * @param track Track info json returned from `getTrackInfo` * @param quality 1 = 128kbps, 3 = 320kbps and 9 = flac (around 1411kbps) */ -export const getTrackDownloadUrl = async (track: trackType, quality: number): Promise => { +export const getTrackDownloadUrl = async (track: trackType, quality: number): Promise => { let formatName: string; switch (quality) { case 9: @@ -99,7 +99,7 @@ export const getTrackDownloadUrl = async (track: trackType, quality: number): Pr if (await testUrl(url)) { return url; } - return null; + throw new Error(`Forbidden to access ${url}`); }; const testUrl = async (url: string): Promise => {