UNPKG

@spalger/kibana

Version:

Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic

79 lines (61 loc) 2.13 kB
var CidrMask = require('ui/utils/CidrMask'); var expect = require('expect.js'); describe('CidrMask', function () { it('should throw errors with invalid CIDR masks', function () { expect(function () { new CidrMask(); }).to.throwError(); expect(function () { new CidrMask(''); }).to.throwError(); expect(function () { new CidrMask('hello, world'); }).to.throwError(); expect(function () { new CidrMask('0.0.0.0'); }).to.throwError(); expect(function () { new CidrMask('0.0.0.0/0'); }).to.throwError(); expect(function () { new CidrMask('0.0.0.0/33'); }).to.throwError(); expect(function () { new CidrMask('256.0.0.0/32'); }).to.throwError(); expect(function () { new CidrMask('0.0.0.0/32/32'); }).to.throwError(); expect(function () { new CidrMask('1.2.3/1'); }).to.throwError(); }); it('should correctly grab IP address and prefix length', function () { var mask = new CidrMask('0.0.0.0/1'); expect(mask.initialAddress.toString()).to.be('0.0.0.0'); expect(mask.prefixLength).to.be(1); mask = new CidrMask('128.0.0.1/31'); expect(mask.initialAddress.toString()).to.be('128.0.0.1'); expect(mask.prefixLength).to.be(31); }); it('should calculate a range of IP addresses', function () { var mask = new CidrMask('0.0.0.0/1'); var range = mask.getRange(); expect(range.from.toString()).to.be('0.0.0.0'); expect(range.to.toString()).to.be('127.255.255.255'); mask = new CidrMask('1.2.3.4/2'); range = mask.getRange(); expect(range.from.toString()).to.be('0.0.0.0'); expect(range.to.toString()).to.be('63.255.255.255'); mask = new CidrMask('67.129.65.201/27'); range = mask.getRange(); expect(range.from.toString()).to.be('67.129.65.192'); expect(range.to.toString()).to.be('67.129.65.223'); }); it('toString()', function () { var mask = new CidrMask('.../1'); expect(mask.toString()).to.be('0.0.0.0/1'); mask = new CidrMask('128.0.0.1/31'); expect(mask.toString()).to.be('128.0.0.1/31'); }); });