diff --git a/test/php/library/X509/JobTest.php b/test/php/library/X509/JobTest.php new file mode 100644 index 00000000..6dbe069c --- /dev/null +++ b/test/php/library/X509/JobTest.php @@ -0,0 +1,53 @@ +assertSame('0000000000000000000000000ad33720', bin2hex(Job::binary('10.211.55.32'))); + $this->assertSame( + '2a0104a00004210208a951031cba4915', + bin2hex(Job::binary('2a01:4a0:4:2102:8a9:5103:1cba:4915')) + ); + } + + public function testIsIPV6() + { + $this->assertTrue(Job::isIPV6('::1'), 'Job::isIPV6() could not determine valid IP as an IPV6'); + $this->assertFalse(Job::isIPV6('10.211.54.35'), 'Job::isIPV6() could determines IPV4 as an IPV6'); + } + + public function testAddrToNumberUndViceVersa() + { + $this->assertEquals('10.211.55.32', Job::numberToAddr(Job::addrToNumber('10.211.55.32'), false)); + + $this->assertEquals('::1', Job::numberToAddr(Job::addrToNumber('::1'))); + $this->assertEquals( + '2a01:4a0:4:2102:8a9:5103:1cba:4915', + Job::numberToAddr(Job::addrToNumber('2a01:4a0:4:2102:8a9:5103:1cba:4915')) + ); + } + + public function testIsAddrInsideCidr() + { + $this->assertTrue(Job::isAddrInside(gmp_import(Job::binary('10.211.55.31')), '10.211.55.30', 24)); + $this->assertFalse(Job::isAddrInside(Job::addrToNumber('10.211.54.35'), '10.211.55.30', 24)); + + $this->assertTrue( + Job::isAddrInside(Job::addrToNumber('2001:db8:abcd:0012::1'), '2001:db8:abcd:0012::', 64) + ); + $this->assertTrue( + Job::isAddrInside(Job::addrToNumber('2001:db8:abcd:0012:ffff::1'), '2001:db8:abcd:0012::', 64) + ); + + $this->assertFalse(Job::isAddrInside(Job::addrToNumber('2001:db8:abcd::1'), '2001:db8:abcd:0012::', 64)); + $this->assertFalse( + Job::isAddrInside(Job::addrToNumber('2001:db8:abcd:0011::'), '2001:db8:abcd:0012::', 64) + ); + } +}