upgrade version 2.0,add login api,upgrade api verison,add document and unit test

This commit is contained in:
binaryify
2017-04-01 18:42:51 +08:00
parent 35f37afd77
commit a2e4d26401
46 changed files with 714 additions and 614 deletions
+70
View File
@@ -0,0 +1,70 @@
const assert = require('assert')
const crypto = require('crypto')
const { createWebAPIRequest } = require("../util/util")
describe('测试登录是否正常', () => {
it('手机登录 code 应该等于200', done => {
const phone = "换成你的手机号"
const password = "换成你的密码"
let cookie = ''
const md5sum = crypto.createHash('md5')
md5sum.update(password)
const data = {
'phone': phone,
'password': md5sum.digest('hex'),
'rememberLogin': 'true'
}
createWebAPIRequest(
'music.163.com',
'/weapi/login/cellphone',
'POST',
data,
cookie,
(music_req, cookie) => {
const result = JSON.parse(music_req)
console.log({
loginType: result.loginType,
code: result.code,
account: result.account
})
assert(result.code === 200)
done()
},
err => done(err)
)
})
it('邮箱登录 code 应该等于200', done => {
const email = "换成你的163网易邮箱"
const password = "换成你的密码"
const cookie = ''
const md5sum = crypto.createHash('md5')
md5sum.update(password)
const data = {
'username': email,
'password': md5sum.digest('hex'),
'rememberLogin': 'true'
}
createWebAPIRequest(
'music.163.com',
'/weapi/login',
'POST',
data,
cookie,
(music_req, cookie) => {
const result = JSON.parse(music_req)
console.log({
loginType: result.loginType,
code: result.code,
account: result.account
})
assert(result.code === 200)
done()
},
err => done(err)
)
})
})
+20
View File
@@ -0,0 +1,20 @@
const assert = require('assert')
const crypto = require('crypto')
const { createRequest } = require("../util/util")
const phone = "换成你的账号"
const password = "换成你的密码"
describe('测试获取歌词是否正常', () => {
it('数据应该有 lrc 字段', done => {
const id = 347230
createRequest('/api/song/lyric?os=osx&id=' + id + '&lv=-1&kv=-1&tv=-1', 'GET', null)
.then(result => {
console.log(JSON.parse(result).lrc)
assert(typeof JSON.parse(result).lrc!=='undefined')
done()
})
.catch(err => {
done(err)
})
})
})
+34
View File
@@ -0,0 +1,34 @@
const assert = require('assert')
const crypto = require('crypto')
const { createWebAPIRequest } = require("../util/util")
const phone = "换成你的账号"
const password = "换成你的密码"
describe('测试获取歌曲是否正常', () => {
it('歌曲的 url 不应该为空', done => {
const id = 347230
const br = 999000
const data = {
"ids": [id],
"br": br,
"csrf_token": ""
}
const cookie = ''
createWebAPIRequest(
'music.163.com',
'/weapi/song/enhance/player/url',
'POST',
data,
cookie,
music_req => {
console.log(JSON.parse(music_req).data[0].url)
assert(!!JSON.parse(music_req).data[0].url)
done()
},
err => {
done(err)
}
)
})
})
+23
View File
@@ -0,0 +1,23 @@
const assert = require('assert')
const crypto = require('crypto')
const { createRequest } = require("../util/util")
const phone = "换成你的账号"
const password = "换成你的密码"
describe('测试搜索是否正常', () => {
it('获取到的数据的 name 应该和搜索关键词一致', done => {
const keywords = "海阔天空"
const type = 1
const limit = 30
const data = 's=' + keywords + '&limit=' + limit + '&type=' + type + '&offset=0'
createRequest('/api/search/pc/', 'POST', data)
.then(result => {
console.log(JSON.parse(result).result.songs[0].mp3Url)
assert(JSON.parse(result).result.songs[0].name === '海阔天空')
done()
})
.catch(err => {
done(err)
})
})
})
-34
View File
@@ -1,34 +0,0 @@
// import { api } from '../src/app.js'
// const { api } =require('../src/app.js')
var api=require('../build/app.js').api
api.search("年度之歌",data => {
console.log("################Search API#################")
console.log(data)
})
api.song('308169',data => {
console.log("################Song API#################")
console.log(data)
})
api.lrc('5243023',data => {
console.log("################Lrc API#################")
console.log(data)
})
api.getArtistAlbums('9952', data => {
console.log('####################Artist Albums##############')
console.log(data)
})
api.getAlbums('32311', data => {
console.log("####################Albums####################")
console.log(data)
})
api.getPlaylists('311785002', data => {
console.log("####################Playlists####################")
console.log(data)
})