1
0
Fork 0
mirror of synced 2024-07-09 08:27:01 +12:00
appwrite/tests/unit/Network/Validators/IPTest.php

88 lines
3.2 KiB
PHP
Raw Normal View History

2021-03-24 06:27:51 +13:00
<?php
2022-05-24 02:54:50 +12:00
2021-03-24 06:27:51 +13:00
/**
* Utopia PHP Framework
*
* @package Framework
* @subpackage Tests
*
* @link https://github.com/utopia-php/framework
* @author Appwrite Team <team@appwrite.io>
* @version 1.0 RC4
* @license The MIT License (MIT) <http://www.opensource.org/licenses/mit-license.php>
*/
2022-08-01 22:22:04 +12:00
namespace Tests\Unit\Network\Validators;
2021-03-24 06:27:51 +13:00
2022-08-01 22:22:04 +12:00
use Appwrite\Network\Validator\IP;
2021-03-24 06:27:51 +13:00
use PHPUnit\Framework\TestCase;
class IPTest extends TestCase
{
2022-08-01 22:22:04 +12:00
protected ?IP $validator;
public function setUp(): void
{
$this->validator = new IP();
}
2022-05-24 02:54:50 +12:00
public function tearDown(): void
2021-03-24 06:27:51 +13:00
{
$this->validator = null;
}
2022-08-01 22:22:04 +12:00
public function testIsValidIP(): void
2021-03-24 06:27:51 +13:00
{
2022-08-01 22:22:04 +12:00
$this->assertEquals($this->validator->isValid('2001:0db8:85a3:08d3:1319:8a2e:0370:7334'), true);
$this->assertEquals($this->validator->isValid('109.67.204.101'), true);
$this->assertEquals($this->validator->isValid(23.5), false);
$this->assertEquals($this->validator->isValid('23.5'), false);
$this->assertEquals($this->validator->isValid(null), false);
$this->assertEquals($this->validator->isValid(true), false);
$this->assertEquals($this->validator->isValid(false), false);
$this->assertEquals($this->validator->getType(), 'string');
2021-03-24 06:27:51 +13:00
}
2022-08-01 22:22:04 +12:00
public function testIsValidIPALL(): void
2021-03-24 06:27:51 +13:00
{
2022-08-01 22:22:04 +12:00
$this->validator = new IP(IP::ALL);
2021-03-24 06:27:51 +13:00
// Assertions
2022-08-01 22:22:04 +12:00
$this->assertEquals($this->validator->isValid('2001:0db8:85a3:08d3:1319:8a2e:0370:7334'), true);
$this->assertEquals($this->validator->isValid('109.67.204.101'), true);
$this->assertEquals($this->validator->isValid(23.5), false);
$this->assertEquals($this->validator->isValid('23.5'), false);
$this->assertEquals($this->validator->isValid(null), false);
$this->assertEquals($this->validator->isValid(true), false);
$this->assertEquals($this->validator->isValid(false), false);
2021-03-24 06:27:51 +13:00
}
2022-08-01 22:22:04 +12:00
public function testIsValidIPV4(): void
2021-03-24 06:27:51 +13:00
{
2022-08-01 22:22:04 +12:00
$this->validator = new IP(IP::V4);
2021-03-24 06:27:51 +13:00
// Assertions
2022-08-01 22:22:04 +12:00
$this->assertEquals($this->validator->isValid('2001:0db8:85a3:08d3:1319:8a2e:0370:7334'), false);
$this->assertEquals($this->validator->isValid('109.67.204.101'), true);
$this->assertEquals($this->validator->isValid(23.5), false);
$this->assertEquals($this->validator->isValid('23.5'), false);
$this->assertEquals($this->validator->isValid(null), false);
$this->assertEquals($this->validator->isValid(true), false);
$this->assertEquals($this->validator->isValid(false), false);
2021-03-24 06:27:51 +13:00
}
2022-08-01 22:22:04 +12:00
public function testIsValidIPV6(): void
2021-03-24 06:27:51 +13:00
{
2022-08-01 22:22:04 +12:00
$this->validator = new IP(IP::V6);
2021-03-24 06:27:51 +13:00
// Assertions
2022-08-01 22:22:04 +12:00
$this->assertEquals($this->validator->isValid('2001:0db8:85a3:08d3:1319:8a2e:0370:7334'), true);
$this->assertEquals($this->validator->isValid('109.67.204.101'), false);
$this->assertEquals($this->validator->isValid(23.5), false);
$this->assertEquals($this->validator->isValid('23.5'), false);
$this->assertEquals($this->validator->isValid(null), false);
$this->assertEquals($this->validator->isValid(true), false);
$this->assertEquals($this->validator->isValid(false), false);
2021-03-24 06:27:51 +13:00
}
}