update flow

This commit is contained in:
Sayem Chowdhury 2021-08-04 01:48:13 +06:00
parent ff56311501
commit 5dc58f8a61
2 changed files with 10 additions and 10 deletions

View File

@ -13,6 +13,10 @@ const SNG_ID = '3135556';
const ALB_ID = '302127'; const ALB_ID = '302127';
test.serial('GET USER INFO', async (t) => { 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(); const response = await api.getUser();
t.truthy(response.BLOG_NAME); t.truthy(response.BLOG_NAME);
@ -140,8 +144,7 @@ test('SEARCH TRACK, ALBUM & ARTIST', async (t) => {
if (process.env.CI) { if (process.env.CI) {
test('DOWNLOAD TRACK128 & ADD METADATA', async (t) => { test('DOWNLOAD TRACK128 & ADD METADATA', async (t) => {
const track = await api.getTrackInfo(SNG_ID); const track = await api.getTrackInfo(SNG_ID);
const urlGen = await getTrackDownloadUrl(track, 1); const url = await getTrackDownloadUrl(track, 1);
const url = urlGen ? urlGen : '';
const {data} = await axios.get(url, {responseType: 'arraybuffer'}); const {data} = await axios.get(url, {responseType: 'arraybuffer'});
t.truthy(data); t.truthy(data);
@ -159,8 +162,7 @@ if (process.env.CI) {
test('TRACK128 WITHOUT ALBUM INFO', async (t) => { test('TRACK128 WITHOUT ALBUM INFO', async (t) => {
const track = await api.getTrackInfo('912254892'); const track = await api.getTrackInfo('912254892');
const urlGen = await getTrackDownloadUrl(track, 1); const url = await getTrackDownloadUrl(track, 1);
const url = urlGen ? urlGen : '';
const {data} = await axios.get(url, {responseType: 'arraybuffer'}); const {data} = await axios.get(url, {responseType: 'arraybuffer'});
t.truthy(data); t.truthy(data);
@ -180,8 +182,7 @@ if (process.env.CI) {
test('DOWNLOAD TRACK320 & ADD METADATA', async (t) => { test('DOWNLOAD TRACK320 & ADD METADATA', async (t) => {
const track = await api.getTrackInfo(SNG_ID); const track = await api.getTrackInfo(SNG_ID);
const urlGen = await getTrackDownloadUrl(track, 3); const url = await getTrackDownloadUrl(track, 3);
const url = urlGen ? urlGen : '';
const {data} = await axios.get(url, {responseType: 'arraybuffer'}); const {data} = await axios.get(url, {responseType: 'arraybuffer'});
t.truthy(data); t.truthy(data);
@ -199,8 +200,7 @@ if (process.env.CI) {
test('DOWNLOAD TRACK1411 & ADD METADATA', async (t) => { test('DOWNLOAD TRACK1411 & ADD METADATA', async (t) => {
const track = await api.getTrackInfo(SNG_ID); const track = await api.getTrackInfo(SNG_ID);
const urlGen = await getTrackDownloadUrl(track, 9); const url = await getTrackDownloadUrl(track, 9);
const url = urlGen ? urlGen : '';
const {data} = await axios.get(url, {responseType: 'arraybuffer'}); const {data} = await axios.get(url, {responseType: 'arraybuffer'});
t.truthy(data); t.truthy(data);

View File

@ -65,7 +65,7 @@ const getTrackUrlFromServer = async (track_token: string, format: string): Promi
* @param track Track info json returned from `getTrackInfo` * @param track Track info json returned from `getTrackInfo`
* @param quality 1 = 128kbps, 3 = 320kbps and 9 = flac (around 1411kbps) * @param quality 1 = 128kbps, 3 = 320kbps and 9 = flac (around 1411kbps)
*/ */
export const getTrackDownloadUrl = async (track: trackType, quality: number): Promise<string | null> => { export const getTrackDownloadUrl = async (track: trackType, quality: number): Promise<string> => {
let formatName: string; let formatName: string;
switch (quality) { switch (quality) {
case 9: case 9:
@ -99,7 +99,7 @@ export const getTrackDownloadUrl = async (track: trackType, quality: number): Pr
if (await testUrl(url)) { if (await testUrl(url)) {
return url; return url;
} }
return null; throw new Error(`Forbidden to access ${url}`);
}; };
const testUrl = async (url: string): Promise<boolean> => { const testUrl = async (url: string): Promise<boolean> => {