333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
'use strict';
 
let should = require('should');
 
let exp = require('../');
 
let services = [
    'contentCensor',
    'bodyanalysis',
    'imageSearch',
    'imageProcess',
    'imageClassify',
    'face',
    'ocr',
    'nlp',
    'kg',
    'speech'
    ];
 
// just make sure method is excutable
services.forEach(function(serviceNm) {
    describe(serviceNm + ' excutable test', function() {
        let client = new exp[serviceNm](0, "FAKE API_KEY", "FAKE SECRET_KEY");
        let apiMethodsNms = getApiMethodsName(client);
        apiMethodsNms.forEach(function(elm) {
            it(elm + ' method excutable test', function () {
                let pms = client[elm]();
                pms.should.instanceof(Promise);
            });
        });
    });
});
 
function getApiMethodsName(client) {
    let nms = [];
    Object.getOwnPropertyNames(client.__proto__).forEach(function(method) {
        // method name end with Impl is not api method
        let isImpl = /Impl$/.test(method);
        if (isImpl || method === 'constructor') {
            return
        }
        nms.push(method);
    });
    return nms;
}