blob: 9132467b57b46453543c20e0e456643b317ef552 [file] [log] [blame]
'use strict';
import assert from 'assert';
import Lab from 'lab';
import * as api from '../src/api.js';
import * as common from './common.js';
export let lab = Lab.script();
lab.experiment('isnodeonline', () => {
let server;
lab.beforeEach((done) => {
server = common.createTestServer(done);
});
lab.afterEach((done) => {
server.close(done);
});
lab.test('rejects the promise for connection errors', (done) => {
api
.isnodeonline(common.NODE + '/socketclose')
.catch((err) => {
assert.ok(err instanceof Error);
done();
});
});
lab.test('returns error on no value provided', (done) => {
api
.isnodeonline()
.catch((err) => {
assert.ok(err instanceof Error);
done();
});
});
lab.test('returns error for all other errors', (done) => {
api
.isnodeonline({})
.catch((err) => {
assert.ok(err instanceof Error);
done();
});
});
lab.test('returns false for down site', (done) => {
api
.isnodeonline('http://127.0.0.1:65516')
.then((res) => {
assert.equal(res, false);
done();
});
});
lab.test('returns false for down site with bad DNS', (done) => {
api
.isnodeonline('http://example.neverexists')
.then((res) => {
assert.equal(res, false);
done();
});
});
lab.test('returns true for online site', (done) => {
api
.isnodeonline(common.NODE)
.then((res) => {
assert.equal(res, true);
done();
});
});
});