2023-05-28 23:13:24 +02:00
|
|
|
import { describe, expect, it } from 'vitest';
|
2023-04-19 20:30:45 +02:00
|
|
|
import { calculateCidr } from './ipv4-range-expander.service';
|
|
|
|
|
|
|
|
describe('ipv4RangeExpander', () => {
|
|
|
|
describe('when there are two valid ipv4 addresses given', () => {
|
|
|
|
it('should calculate valid cidr for given addresses', () => {
|
|
|
|
const result = calculateCidr({ startIp: '192.168.1.1', endIp: '192.168.7.255' });
|
|
|
|
|
|
|
|
expect(result).toBeDefined();
|
|
|
|
expect(result?.oldSize).toEqual(1791);
|
|
|
|
expect(result?.newSize).toEqual(2048);
|
|
|
|
expect(result?.newStart).toEqual('192.168.0.0');
|
|
|
|
expect(result?.newEnd).toEqual('192.168.7.255');
|
|
|
|
expect(result?.newCidr).toEqual('192.168.0.0/21');
|
|
|
|
});
|
|
|
|
|
2023-05-15 10:23:16 +02:00
|
|
|
it('should calculate valid cidr for given addresses, where first octet is lower than 128', () => {
|
|
|
|
const result = calculateCidr({ startIp: '10.0.0.1', endIp: '10.0.0.17' });
|
|
|
|
|
|
|
|
expect(result).toBeDefined();
|
|
|
|
expect(result?.oldSize).toEqual(17);
|
|
|
|
expect(result?.newSize).toEqual(32);
|
|
|
|
expect(result?.newStart).toEqual('10.0.0.0');
|
|
|
|
expect(result?.newEnd).toEqual('10.0.0.31');
|
|
|
|
expect(result?.newCidr).toEqual('10.0.0.0/27');
|
|
|
|
});
|
|
|
|
|
2023-04-19 20:30:45 +02:00
|
|
|
it('should return empty result for invalid input', () => {
|
|
|
|
expect(calculateCidr({ startIp: '192.168.7.1', endIp: '192.168.6.255' })).not.toBeDefined();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|