mirror of
https://github.com/moodle/moodle.git
synced 2025-03-20 07:30:01 +01:00
Merge branch 'MDL-77040-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE
This commit is contained in:
commit
cd0935a33e
@ -26,39 +26,49 @@ namespace core;
|
||||
*/
|
||||
class geoplugin_test extends \advanced_testcase {
|
||||
|
||||
public function setUp(): void {
|
||||
/**
|
||||
* Load required test libraries
|
||||
*/
|
||||
public static function setUpBeforeClass(): void {
|
||||
global $CFG;
|
||||
require_once("$CFG->libdir/filelib.php");
|
||||
require_once("$CFG->dirroot/iplookup/lib.php");
|
||||
require_once("{$CFG->dirroot}/iplookup/lib.php");
|
||||
}
|
||||
|
||||
/**
|
||||
* In order to execute this test PHPUNIT_LONGTEST should be defined as true in phpunit.xml or directly in config.php
|
||||
*/
|
||||
public function setUp(): void {
|
||||
if (!PHPUNIT_LONGTEST) {
|
||||
// we do not want to DDOS their server, right?
|
||||
$this->markTestSkipped('PHPUNIT_LONGTEST is not defined');
|
||||
}
|
||||
|
||||
$this->resetAfterTest();
|
||||
|
||||
$CFG->geoipfile = '';
|
||||
}
|
||||
|
||||
public function test_ipv4() {
|
||||
/**
|
||||
* Test IPv4 address
|
||||
*
|
||||
* @covers ::iplookup_find_location
|
||||
*/
|
||||
public function test_ipv4(): void {
|
||||
$result = iplookup_find_location('50.0.184.0');
|
||||
|
||||
$this->assertEquals('array', gettype($result));
|
||||
$this->assertEquals('Santa Rosa', $result['city']);
|
||||
$this->assertEqualsWithDelta(-122.7128, $result['longitude'], 0.1, 'Coordinates are out of accepted tolerance');
|
||||
$this->assertEqualsWithDelta(38.4354, $result['latitude'], 0.1, 'Coordinates are out of accepted tolerance');
|
||||
$this->assertIsArray($result);
|
||||
$this->assertIsFloat($result['latitude']);
|
||||
$this->assertIsFloat($result['longitude']);
|
||||
$this->assertIsString($result['city']);
|
||||
$this->assertIsString($result['country']);
|
||||
$this->assertIsArray($result['title']);
|
||||
$this->assertIsString($result['title'][0]);
|
||||
$this->assertIsString($result['title'][1]);
|
||||
$this->assertNull($result['error']);
|
||||
$this->assertEquals('array', gettype($result['title']));
|
||||
$this->assertEquals('Santa Rosa', $result['title'][0]);
|
||||
$this->assertEquals('United States', $result['title'][1]);
|
||||
}
|
||||
|
||||
public function test_geoip_ipv6() {
|
||||
/**
|
||||
* Test IPv6 address (unsupported by Geoplugin)
|
||||
*
|
||||
* @covers ::iplookup_find_location
|
||||
*/
|
||||
public function test_ipv6(): void {
|
||||
$result = iplookup_find_location('2a01:8900:2:3:8c6c:c0db:3d33:9ce6');
|
||||
|
||||
$this->assertNotNull($result['error']);
|
||||
$this->assertEquals($result['error'], get_string('invalidipformat', 'error'));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user