occaecatidicta
Version:
123 lines (105 loc) • 4.43 kB
text/typescript
let pathUtil = require('../../lib/util/pathUtil');
let utils = require('../../lib/util/utils');
import * as should from 'should';
// import { describe, it } from "mocha-typescript"
let fs = require('fs');
let mockBase = process.cwd() + '/test/mock-base';
describe('path util test', function () {
it('ok', () => {
})
if (process.platform === 'win32') {
return
}
describe('#getSysRemotePath', function () {
it('should return the system remote service path for frontend server', function () {
let role = 'frontend';
let expectSuffix = '/common/remote/frontend';
let p = pathUtil.getSysRemotePath(role);
should.exist(p);
fs.existsSync(p).should.be.true;
utils.endsWith(p, expectSuffix).should.be.true;
});
it('should return the system remote service path for backend server', function () {
let role = 'backend';
let expectSuffix = '/common/remote/backend';
let p = pathUtil.getSysRemotePath(role);
should.exist(p);
fs.existsSync(p).should.be.true;
utils.endsWith(p, expectSuffix).should.be.true;
});
});
describe('#getUserRemotePath', function () {
it('should return user remote service path for the associated server type', function () {
let serverType = 'connector';
let expectSuffix = '/app/servers/connector/remote';
let p = pathUtil.getUserRemotePath(mockBase, serverType);
should.exist(p);
fs.existsSync(p).should.be.true;
utils.endsWith(p, expectSuffix).should.be.true;
});
it('should return null if the directory not exist', function () {
let serverType = 'area';
let p = pathUtil.getUserRemotePath(mockBase, serverType);
should.not.exist(p);
serverType = 'some-dir-not-exist';
p = pathUtil.getUserRemotePath(mockBase, serverType);
should.not.exist(p);
});
});
describe('#listUserRemoteDir', function () {
it('should return sub-direcotry name list of servers/ directory', function () {
let expectNames = ['connector', 'area'];
let p = pathUtil.listUserRemoteDir(mockBase);
should.exist(p);
expectNames.length.should.equal(p.length);
for (let i = 0, l = expectNames.length; i < l; i++) {
p.should.containEql(expectNames[i]);
}
});
it('should throw err if the servers/ illegal', function () {
(function () {
pathUtil.listUserRemoteDir('some illegal base');
}).should.throw();
});
});
describe('#remotePathRecord', function () {
let namespace = 'user';
let serverType = 'connector';
let path = '/some/path/to/remote';
let r = pathUtil.remotePathRecord(namespace, serverType, path);
should.exist(r);
namespace.should.equal(r.namespace);
serverType.should.equal(r.serverType);
path.should.equal(r.path);
});
describe('#getHandlerPath', function () {
it('should return user handler path for the associated server type', function () {
let serverType = 'connector';
let expectSuffix = '/app/servers/connector/handler';
let p = pathUtil.getHandlerPath(mockBase, serverType);
should.exist(p);
fs.existsSync(p).should.be.true;
utils.endsWith(p, expectSuffix).should.be.true;
});
it('should return null if the directory not exist', function () {
let serverType = 'area';
let p = pathUtil.getHandlerPath(mockBase, serverType);
should.not.exist(p);
serverType = 'some-dir-not-exist';
p = pathUtil.getHandlerPath(mockBase, serverType);
should.not.exist(p);
});
});
describe('#getScriptPath', function () {
let p = pathUtil.getScriptPath(mockBase);
let expectSuffix = '/scripts';
should.exist(p);
utils.endsWith(p, expectSuffix).should.be.true;
});
describe('#getLogPath', function () {
let p = pathUtil.getLogPath(mockBase);
let expectSuffix = '/logs';
should.exist(p);
utils.endsWith(p, expectSuffix).should.be.true;
});
});