mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
118 lines
3.8 KiB
JavaScript
118 lines
3.8 KiB
JavaScript
var assert = require('assert');
|
|
var Modem = require('../lib/modem');
|
|
var defaultSocketPath = require('os').type() === 'Windows_NT' ? '//./pipe/docker_engine' : '/var/run/docker.sock';
|
|
|
|
describe('Modem', function() {
|
|
beforeEach(function() {
|
|
delete process.env.DOCKER_HOST;
|
|
});
|
|
|
|
it('should default to default socket path', function() {
|
|
var modem = new Modem();
|
|
assert.ok(modem.socketPath);
|
|
assert.strictEqual(modem.socketPath, defaultSocketPath);
|
|
});
|
|
|
|
it('should default to default socket path with empty object argument', function() {
|
|
var modem = new Modem({});
|
|
assert.ok(modem.socketPath);
|
|
assert.strictEqual(modem.socketPath, defaultSocketPath);
|
|
});
|
|
|
|
it('should not default to default socket path with non-empty object argument', function () {
|
|
var modem = new Modem({a: 'b'});
|
|
assert.strictEqual(modem.socketPath, undefined);
|
|
});
|
|
|
|
it('should allow DOCKER_HOST=unix:///path/to/docker.sock', function() {
|
|
process.env.DOCKER_HOST = 'unix:///tmp/docker.sock';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.socketPath);
|
|
assert.strictEqual(modem.socketPath, '/tmp/docker.sock');
|
|
});
|
|
|
|
it('should interpret DOCKER_HOST=unix:// as /var/run/docker.sock', function() {
|
|
process.env.DOCKER_HOST = 'unix://';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.socketPath);
|
|
assert.strictEqual(modem.socketPath, '/var/run/docker.sock');
|
|
});
|
|
|
|
it('should interpret DOCKER_HOST=tcp://N.N.N.N:2376 as https', function() {
|
|
process.env.DOCKER_HOST = 'tcp://192.168.59.103:2376';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.host);
|
|
assert.ok(modem.port);
|
|
assert.ok(modem.protocol);
|
|
assert.strictEqual(modem.host, '192.168.59.103');
|
|
assert.strictEqual(modem.port, '2376');
|
|
assert.strictEqual(modem.protocol, 'https');
|
|
});
|
|
|
|
it('should interpret DOCKER_HOST=tcp://N.N.N.N:5555 as http', function() {
|
|
delete process.env.DOCKER_TLS_VERIFY;
|
|
process.env.DOCKER_HOST = 'tcp://192.168.59.105:5555';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.host);
|
|
assert.ok(modem.port);
|
|
assert.ok(modem.protocol);
|
|
assert.strictEqual(modem.host, '192.168.59.105');
|
|
assert.strictEqual(modem.port, '5555');
|
|
assert.strictEqual(modem.protocol, 'http');
|
|
});
|
|
|
|
it('should interpret DOCKER_HOST=tcp://N.N.N.N:5555 as http', function() {
|
|
process.env.DOCKER_TLS_VERIFY = '1';
|
|
process.env.DOCKER_HOST = 'tcp://192.168.59.105:5555';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.host);
|
|
assert.ok(modem.port);
|
|
assert.ok(modem.protocol);
|
|
assert.strictEqual(modem.host, '192.168.59.105');
|
|
assert.strictEqual(modem.port, '5555');
|
|
assert.strictEqual(modem.protocol, 'https');
|
|
});
|
|
|
|
it('should accept DOCKER_HOST=N.N.N.N:5555 as http', function() {
|
|
delete process.env.DOCKER_TLS_VERIFY;
|
|
process.env.DOCKER_HOST = '192.168.59.105:5555';
|
|
|
|
var modem = new Modem();
|
|
assert.ok(modem.host);
|
|
assert.ok(modem.port);
|
|
assert.ok(modem.protocol);
|
|
assert.strictEqual(modem.host, '192.168.59.105');
|
|
assert.strictEqual(modem.port, '5555');
|
|
assert.strictEqual(modem.protocol, 'http');
|
|
});
|
|
|
|
it('should auto encode querystring option maps as JSON', function() {
|
|
var modem = new Modem();
|
|
|
|
var opts = {
|
|
"limit": 12,
|
|
"filters": {
|
|
"label": ["staging", "env=green"]
|
|
},
|
|
"t": ["repo:latest", "repo:1.0.0"]
|
|
};
|
|
var control = 'limit=12&filters={"label"%3A["staging"%2C"env%3Dgreen"]}&t=repo%3Alatest&t=repo%3A1.0.0';
|
|
var qs = modem.buildQuerystring(opts);
|
|
assert.strictEqual(decodeURI(qs), control);
|
|
});
|
|
|
|
it('should parse DOCKER_CLIENT_TIMEOUT from environment', function() {
|
|
process.env.DOCKER_HOST = '192.168.59.105:5555';
|
|
process.env.DOCKER_CLIENT_TIMEOUT = 3000;
|
|
|
|
var modem = new Modem();
|
|
assert.strictEqual(modem.timeout, 3000);
|
|
});
|
|
|
|
});
|