mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
183 lines
4.2 KiB
JavaScript
183 lines
4.2 KiB
JavaScript
'use strict';
|
|
|
|
const test = require('tape');
|
|
const {promisify} = require('util');
|
|
const tryToCatch = require('try-to-catch');
|
|
const io = require('socket.io-client');
|
|
const mockRequire = require('mock-require');
|
|
|
|
const {connect} = require('../../test/before');
|
|
|
|
const config = require('../config');
|
|
const distribute = {
|
|
import: promisify(require('./import')),
|
|
};
|
|
|
|
test('distribute: import: canceled', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
export: false,
|
|
import: false,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
const {status} = await distribute.import();
|
|
|
|
await done();
|
|
|
|
t.equal(status, 'canceled', 'should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: received: no error', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
import: true,
|
|
importListen: false,
|
|
export: true,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:${port}`);
|
|
|
|
const [e] = await tryToCatch(distribute.import);
|
|
|
|
await done();
|
|
|
|
t.notOk(e, 'should not be error');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: received', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
name: 'bill',
|
|
import: true,
|
|
importToken: 'a',
|
|
exportToken: 'a',
|
|
export: true,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:${port}`);
|
|
|
|
const {status} = await distribute.import();
|
|
await done();
|
|
|
|
t.equal(status, 'received','should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: received: auth: reject', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
name: 'bill',
|
|
import: true,
|
|
importToken: 'xxxxx',
|
|
exportToken: 'bbbbb',
|
|
export: true,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:${port}`);
|
|
|
|
const {status} = await distribute.import();
|
|
await done();
|
|
|
|
t.equal(status, 'reject','should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: received: auth: accept', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
name: 'bill',
|
|
import: true,
|
|
importToken: 'xxxxx',
|
|
exportToken: 'xxxxx',
|
|
export: true,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:${port}`);
|
|
|
|
const {status} = await distribute.import();
|
|
await done();
|
|
|
|
t.equal(status, 'received','should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: received: no name', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
name: '',
|
|
import: true,
|
|
export: true,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:${port}`);
|
|
|
|
const {status} = await distribute.import();
|
|
await done();
|
|
|
|
t.equal(status, 'received','should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: error', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
import: true,
|
|
export: false,
|
|
importListen: false,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
config('importUrl', `http://localhost:0`);
|
|
|
|
const {status} = await distribute.import({
|
|
reconnection: false,
|
|
});
|
|
|
|
await done();
|
|
|
|
t.equal(status, 'connect_error','should equal');
|
|
t.end();
|
|
});
|
|
|
|
test('distribute: import: config:change: no export', async (t) => {
|
|
const {done, port} = await connect({
|
|
config: {
|
|
import: true,
|
|
export: false,
|
|
importListen: true,
|
|
log: false,
|
|
}
|
|
});
|
|
|
|
const {status} = await distribute.import({
|
|
reconnection: false,
|
|
});
|
|
|
|
await done();
|
|
|
|
t.equal(status, 'connect_error','should equal');
|
|
t.end();
|
|
});
|
|
|
|
process.on('unhandledRejection', console.log);
|
|
|