UNPKG

@cloudbase/node-sdk

Version:

tencent cloud base server sdk for node.js

174 lines (149 loc) 5.35 kB
// 校验各种设置config ,入参是否正确 import tcb from '../../src/index' import assert from 'assert' import config from '../config.local' beforeEach(async () => { jest.resetModules() jest.resetAllMocks() }) // TODO 删除前先创建 describe('校验config设置 请求入参', () => { const app = tcb.init(config) it('校验config.isHttp => protocol', async () => { config.isHttp = true jest.mock('../../src/utils/request.ts', () => { return { extraRequest: jest.fn().mockImplementation(opts => { return Promise.resolve({ statusCode: 200, body: { data: { response_data: opts }, requestId: 'testRequestId' } }) }) } }) const tcb = require('../../src/index') let app = tcb.init(config) // mock一次http请求 let mockReqRes = await app.callFunction({ name: 'unexistFunction', data: { a: 1 } }) let reqOpts = mockReqRes.result assert(reqOpts.url.indexOf('https') < 0) config.isHttp = false app = tcb.init(config) // mock一次https请求 mockReqRes = await app.callFunction({ name: 'unexistFunction', data: { a: 1 } }) reqOpts = mockReqRes.result assert(reqOpts.url.indexOf('https') >= 0) }) it('校验config.version => x-sdk-version config.serviceUrl => url', async () => { config.version = 'test-version' config.serviceUrl = 'http://testUrl.test.com' jest.mock('../../src/utils/request.ts', () => { return { extraRequest: jest.fn().mockImplementation(opts => { return Promise.resolve({ statusCode: 200, body: { data: { response_data: opts }, requestId: 'testRequestId' } }) }) } }) const tcb = require('../../src/index') let app = tcb.init(config) // mock一次http请求 let mockReqRes = await app.callFunction({ name: 'unexistFunction', data: { a: 1 } }) let reqOpts = mockReqRes.result assert(reqOpts.headers['X-SDK-Version'] === config.version) assert(reqOpts.url.indexOf('http://testUrl.test.com') === 0) }) it('校验config.serviceUrl => url', async () => { config.serviceUrl = 'http://testUrl.com' jest.mock('../../src/utils/request.ts', () => { return { extraRequest: jest.fn().mockImplementation(opts => { return Promise.resolve({ statusCode: 200, body: { data: { response_data: opts }, requestId: 'testRequestId' } }) }) } }) const tcb = require('../../src/index') let app = tcb.init(config) // mock一次http请求 let mockReqRes = await app.callFunction({ name: 'unexistFunction', data: { a: 1 } }) let reqOpts = mockReqRes.result assert(reqOpts.url.indexOf('testUrl') >= 0) }) it('微信openapi', async () => { try { let result = await app.callWxOpenApi({ apiName: '/inner/svrkitclientcall', requestData: { name: 'jamespeng' } }) } catch (e) { assert(e.code === 'INVALID_PARAM') } }, 30000) it('微信new openapi', async () => { try { let result = await app.callCompatibleWxOpenApi({ apiName: '/AAA/BBB/sample', requestData: Buffer.from(JSON.stringify({ name: 'jamespeng' })) }) } catch (e) { assert(e.code === 'INVALID_PARAM') } // assert(result.result, '微信openapi失败'); }, 30000) // mock callWxOpenApi 回包为string it('微信openapi mock回包为string', async () => { jest.resetModules() jest.mock('request', () => { return { extraRequest: jest.fn().mockImplementation((params) => { return Promise.resolve({ statusCode: 200, body: { data: { response_data: 'test' }, requestId: 'testRequestId' } }) }) } }) const tcb1 = require('../../src/index') const app1 = tcb1.init(config) try { let result = await app1.callWxOpenApi({ apiName: '/inner/svrkitclientcall', requestData: { name: 'jamespeng' } }) console.log(result, 'result') // assert(typeof result.result === 'string') } catch (err) { // assert(err.code === 'STORAGE_REQUEST_FAIL') console.log(err) } }) })