Fix UnitTests
Split ResolveResult from Resolve.php Split up Device.php Signed-off-by: Diederik de Groot <ddegroot@talon.nl>
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="test">
|
<target name="test">
|
||||||
<exec command="phpunit -v --debug tests"
|
<exec command="vendor/phpunit/phpunit/phpunit -v --debug tests"
|
||||||
checkreturn="true"
|
checkreturn="true"
|
||||||
passthru="true"/>
|
passthru="true"/>
|
||||||
</target>
|
</target>
|
||||||
|
203
lib/Device.php
203
lib/Device.php
@@ -1,203 +0,0 @@
|
|||||||
<?php
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PROVISION;
|
|
||||||
//use PROVISION\Utils as Utils;
|
|
||||||
|
|
||||||
abstract class DeviceType extends \SplEnum
|
|
||||||
{
|
|
||||||
const CiscoIPCommunicator = 30016;
|
|
||||||
const CiscoIPPhone6901 = 547;
|
|
||||||
const CiscoIPPhone6911 = 548;
|
|
||||||
const CiscoIPPhone6921 = 495;
|
|
||||||
const CiscoIPPhone6941 = 496;
|
|
||||||
const CiscoIPPhone6945 = 564;
|
|
||||||
const CiscoIPPhone6961 = 497;
|
|
||||||
const CiscoIPPhone7902 = 30008;
|
|
||||||
const CiscoIPPhone7905 = 20000;
|
|
||||||
const CiscoIPPhone7906 = 369;
|
|
||||||
const CiscoIPPhone7910 = 006;
|
|
||||||
const CiscoIPPhone7911 = 307;
|
|
||||||
const CiscoIPPhone7912 = 30007;
|
|
||||||
const CiscoIPPhone7920 = 30002;
|
|
||||||
const CiscoIPPhone7921 = 365;
|
|
||||||
const CiscoIPPhone7925 = 484;
|
|
||||||
const CiscoIPPhone7926 = 577;
|
|
||||||
const CiscoIPPhone7931 = 348;
|
|
||||||
const CiscoIPPhone7935 = 9; // Conference Phone
|
|
||||||
const CiscoIPPhone7936 = 30019;
|
|
||||||
const CiscoIPPhone7937 = 431; // Conference Phone
|
|
||||||
const CiscoIPPhone7940 = 8;
|
|
||||||
const CiscoIPPhone7941 = 115;
|
|
||||||
const CiscoIPPhone7941GE = 309;
|
|
||||||
const CiscoIPPhone7942 = 434;
|
|
||||||
const CiscoIPPhone7945 = 435;
|
|
||||||
const CiscoIPPhone7960 = 7;
|
|
||||||
const CiscoIPPhone7961 = 5;
|
|
||||||
const CiscoIPPhone7961G = 30018;
|
|
||||||
const CiscoIPPhone7961GE = 308;
|
|
||||||
const CiscoIPPhone7962 = 404;
|
|
||||||
const CiscoIPPhone7965 = 436;
|
|
||||||
const CiscoIPPhone7970 = 30006;
|
|
||||||
const CiscoIPPhone7971 = 119;
|
|
||||||
const CiscoIPPhone7975 = 437;
|
|
||||||
const CiscoIPPhone7985 = 302;
|
|
||||||
const CiscoIPPhone8941 = 586;
|
|
||||||
const CiscoIPPhone8945 = 585;
|
|
||||||
|
|
||||||
const CiscoSPA303G = 80011;
|
|
||||||
const CiscoSPA502G = 80003;
|
|
||||||
const CiscoSPA504G = 80004;
|
|
||||||
const CiscoSPA509G = 80007;
|
|
||||||
const CiscoSPA512G = 80012;
|
|
||||||
const CiscoSPA514G = 80013;
|
|
||||||
const CiscoSPA521S = 80000;
|
|
||||||
const CiscoSPA521SG = 80001;
|
|
||||||
const CiscoSPA525G2 = 80009;
|
|
||||||
const CiscoSPA525G = 80005;
|
|
||||||
const NokiaESeries = 275;
|
|
||||||
const NokiaICCclient = 376;
|
|
||||||
|
|
||||||
const CiscoIPAddon7914 = 124; //14-Button Line Expansion Module
|
|
||||||
const CiscoIPAddon7915_1 = 227; //12-Button Line Expansion Module
|
|
||||||
const CiscoIPAddon7915_2 = 228; //24-Button Line Expansion Module
|
|
||||||
const CiscoIPAddon7916_1 = 229; //12-Button Line Expansion Module
|
|
||||||
const CiscoIPAddon7916_2 = 230; //24-Button Line Expansion Module
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class DeviceFamily {
|
|
||||||
const PreCisco = 0;
|
|
||||||
const Cisco = 1;
|
|
||||||
const CiscoJava = 2;
|
|
||||||
const Spa = 3;
|
|
||||||
const CiscoAddon = 4;
|
|
||||||
const SpaAddon = 5;
|
|
||||||
const ThirdParty = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class DeviceProtocol {
|
|
||||||
const SKINNY = 0;
|
|
||||||
const SIP = 1;
|
|
||||||
const BOTH = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract class DeviceFlags {
|
|
||||||
const Conference = 1<<0;
|
|
||||||
const Communicator = 1<<1;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Device {
|
|
||||||
private $name;
|
|
||||||
private $family;
|
|
||||||
private $prococol;
|
|
||||||
private $flags;
|
|
||||||
function __construct($name, $family, $protocol, $flags = null) {
|
|
||||||
$this->name = $name;
|
|
||||||
$this->family = $family;
|
|
||||||
$this->protocol = $protocol;
|
|
||||||
$this->flags = $flags;
|
|
||||||
}
|
|
||||||
function getName()
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DeviceFactory
|
|
||||||
{
|
|
||||||
private $models = Array(
|
|
||||||
DeviceType::CiscoIPCommunicator => Array('name' => "Communicator", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::SKINNY, 'flags' => DeviceFlags::Communicator),
|
|
||||||
DeviceType::CiscoIPPhone6901 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone6911 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone6921 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone6941 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone6945 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone6961 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7902 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7905 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7906 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7910 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7911 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7912 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7920 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7921 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7925 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7926 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7931 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7935 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => DeviceFlags::Conference), // Conference Phone
|
|
||||||
DeviceType::CiscoIPPhone7936 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => DeviceFlags::Conference), // Conference Phone
|
|
||||||
DeviceType::CiscoIPPhone7937 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => DeviceFlags::Conference), // Conference Phone
|
|
||||||
DeviceType::CiscoIPPhone7940 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7941 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7941GE => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7942 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7945 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7960 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7961 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7961G => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7961GE => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7962 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7965 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7970 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7971 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7975 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone7985 => Array('name' => "", 'family' => DeviceFamily::CiscoJava, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone8941 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoIPPhone8945 => Array('name' => "", 'family' => DeviceFamily::Cisco, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
|
|
||||||
DeviceType::CiscoSPA303G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA502G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA504G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA509G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA512G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA514G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA521S => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA521SG => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA525G2 => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
DeviceType::CiscoSPA525G => Array('name' => "", 'family' => DeviceFamily::Spa, 'protocol' => DeviceProtocol::BOTH, 'flags' => null),
|
|
||||||
|
|
||||||
DeviceType::NokiaESeries => Array('name' => "", 'family' => DeviceFamily::ThirdParty, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
DeviceType::NokiaICCclient => Array('name' => "", 'family' => DeviceFamily::ThirdParty, 'protocol' => DeviceProtocol::SKINNY, 'flags' => null),
|
|
||||||
|
|
||||||
DeviceType::CiscoIPAddon7914 => Array('name' => "", 'family' => DeviceFamily::CiscoAddon, 'protocol' => DeviceProtocol::BOTH, 'flags' => null), //14-Button Line Expansion Module
|
|
||||||
DeviceType::CiscoIPAddon7915_1 => Array('name' => "", 'family' => DeviceFamily::CiscoAddon, 'protocol' => DeviceProtocol::BOTH, 'flags' => null), //12-Button Line Expansion Module
|
|
||||||
DeviceType::CiscoIPAddon7915_2 => Array('name' => "", 'family' => DeviceFamily::CiscoAddon, 'protocol' => DeviceProtocol::BOTH, 'flags' => null), //24-Button Line Expansion Module
|
|
||||||
DeviceType::CiscoIPAddon7916_1 => Array('name' => "", 'family' => DeviceFamily::CiscoAddon, 'protocol' => DeviceProtocol::BOTH, 'flags' => null), //12-Button Line Expansion Module
|
|
||||||
DeviceType::CiscoIPAddon7916_2 => Array('name' => "", 'family' => DeviceFamily::CiscoAddon, 'protocol' => DeviceProtocol::BOTH, 'flags' => null), //24-Button Line Expansion Module
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent direct object creation
|
|
||||||
*/
|
|
||||||
final private function __construct() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns new or existing Singleton instance
|
|
||||||
* @return Singleton
|
|
||||||
*/
|
|
||||||
final public static function getInstance(){
|
|
||||||
if(null !== static::$_instance){
|
|
||||||
return static::$_instance;
|
|
||||||
}
|
|
||||||
static::$_instance = new static();
|
|
||||||
return static::$_instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function createFromString($name) {
|
|
||||||
foreach($this->models as $model) {
|
|
||||||
if ($model['name'] == $name) {
|
|
||||||
return new Device($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
public function createFromModelNo($modelno) {
|
|
||||||
if (array_key_exists($modelno, $this->models)) {
|
|
||||||
$model = $models[$modelno];
|
|
||||||
return new Device($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
9
lib/Device/AddonDevice.php
Normal file
9
lib/Device/AddonDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class AddonDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/CiscoDevice.php
Normal file
9
lib/Device/CiscoDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class CiscoDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
28
lib/Device/Device.php
Normal file
28
lib/Device/Device.php
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
use PROVISION\Device\Type as Type;
|
||||||
|
use PROVISION\Device\Family as Family;
|
||||||
|
use PROVISION\Device\Protocol as Protocol;
|
||||||
|
use PROVISION\Device\Flags as Flags;
|
||||||
|
|
||||||
|
abstract class Device
|
||||||
|
{
|
||||||
|
private $name;
|
||||||
|
private $family;
|
||||||
|
private $prococol;
|
||||||
|
private $flags;
|
||||||
|
function __construct($name, $family, $protocol, $flags = null) {
|
||||||
|
$this->name = $name;
|
||||||
|
$this->family = $family;
|
||||||
|
$this->protocol = $protocol;
|
||||||
|
$this->flags = $flags;
|
||||||
|
}
|
||||||
|
function getName()
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
130
lib/Device/Factory.php
Normal file
130
lib/Device/Factory.php
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
use PROVISION\Device\Type as Type;
|
||||||
|
use PROVISION\Device\Family as Family;
|
||||||
|
use PROVISION\Device\Protocol as Protocol;
|
||||||
|
use PROVISION\Device\Flags as Flags;
|
||||||
|
|
||||||
|
class DeviceFactory
|
||||||
|
{
|
||||||
|
private $models = Array(
|
||||||
|
Type::CiscoIPCommunicator => Array('name' => "Communicator", 'family' => Family::CiscoJava, 'protocol' => Protocol::SKINNY, 'flags' => Flags::Communicator),
|
||||||
|
Type::CiscoIPPhone6901 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone6911 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone6921 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone6941 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone6945 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone6961 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7902 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7905 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7906 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7910 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7911 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7912 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7920 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7921 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7925 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7926 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7931 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7935 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => Flags::Conference), // Conference Phone
|
||||||
|
Type::CiscoIPPhone7936 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => Flags::Conference), // Conference Phone
|
||||||
|
Type::CiscoIPPhone7937 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => Flags::Conference), // Conference Phone
|
||||||
|
Type::CiscoIPPhone7940 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7941 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7941GE => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7942 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7945 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7960 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7961 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7961G => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7961GE => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7962 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7965 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7970 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7971 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7975 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone7985 => Array('name' => "", 'family' => Family::CiscoJava, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone8941 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoIPPhone8945 => Array('name' => "", 'family' => Family::Cisco, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
|
||||||
|
Type::CiscoSPA303G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA502G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA504G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA509G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA512G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA514G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA521S => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA521SG => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA525G2 => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
Type::CiscoSPA525G => Array('name' => "", 'family' => Family::Spa, 'protocol' => Protocol::BOTH, 'flags' => null),
|
||||||
|
|
||||||
|
Type::NokiaESeries => Array('name' => "", 'family' => Family::ThirdParty, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
Type::NokiaICCclient => Array('name' => "", 'family' => Family::ThirdParty, 'protocol' => Protocol::SKINNY, 'flags' => null),
|
||||||
|
|
||||||
|
Type::CiscoIPAddon7914 => Array('name' => "", 'family' => Family::CiscoAddon, 'protocol' => Protocol::BOTH, 'flags' => null), //14-Button Line Expansion Module
|
||||||
|
Type::CiscoIPAddon7915_1 => Array('name' => "", 'family' => Family::CiscoAddon, 'protocol' => Protocol::BOTH, 'flags' => null), //12-Button Line Expansion Module
|
||||||
|
Type::CiscoIPAddon7915_2 => Array('name' => "", 'family' => Family::CiscoAddon, 'protocol' => Protocol::BOTH, 'flags' => null), //24-Button Line Expansion Module
|
||||||
|
Type::CiscoIPAddon7916_1 => Array('name' => "", 'family' => Family::CiscoAddon, 'protocol' => Protocol::BOTH, 'flags' => null), //12-Button Line Expansion Module
|
||||||
|
Type::CiscoIPAddon7916_2 => Array('name' => "", 'family' => Family::CiscoAddon, 'protocol' => Protocol::BOTH, 'flags' => null), //24-Button Line Expansion Module
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent direct object creation
|
||||||
|
*/
|
||||||
|
final private function __construct() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns new or existing Singleton instance
|
||||||
|
* @return Singleton
|
||||||
|
*/
|
||||||
|
final public static function getInstance(){
|
||||||
|
if(null !== static::$_instance){
|
||||||
|
return static::$_instance;
|
||||||
|
}
|
||||||
|
static::$_instance = new static();
|
||||||
|
return static::$_instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function createDeviceByModel($model) {
|
||||||
|
switch($model['family']) {
|
||||||
|
case Family::PreCisco:
|
||||||
|
return new PreCiscoDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::Cisco:
|
||||||
|
return new CiscoDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::CiscoJava:
|
||||||
|
return new JavaDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::PreCisco:
|
||||||
|
return new SpaDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::CiscoAddon:
|
||||||
|
return new AddonDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::SpaAddon:
|
||||||
|
return new SpaAddonDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
case Family::ThirdParty:
|
||||||
|
return new ThirdPartyDevice($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
default:
|
||||||
|
// return error
|
||||||
|
return new Device($model['name'], $model['family'], $model['protocol'], $model['flags']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createFromString($name) {
|
||||||
|
foreach($this->models as $model) {
|
||||||
|
if ($model['name'] == $name) {
|
||||||
|
return $this->createDeviceByModel($model);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public function createFromModelNo($modelno) {
|
||||||
|
if (array_key_exists($modelno, $this->models)) {
|
||||||
|
$model = $models[$modelno];
|
||||||
|
return $this->createDeviceByModel($model);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
15
lib/Device/Family.php
Normal file
15
lib/Device/Family.php
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
abstract class Family extends \SplEnum {
|
||||||
|
const PreCisco = 0;
|
||||||
|
const Cisco = 1;
|
||||||
|
const CiscoJava = 2;
|
||||||
|
const Spa = 3;
|
||||||
|
const CiscoAddon = 4;
|
||||||
|
const SpaAddon = 5;
|
||||||
|
const ThirdParty = 6;
|
||||||
|
}
|
||||||
|
?>
|
10
lib/Device/Flags.php
Normal file
10
lib/Device/Flags.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
abstract class Flags extends \SplEnum {
|
||||||
|
const Conference = 1<<0;
|
||||||
|
const Communicator = 1<<1;
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/JavaDevice.php
Normal file
9
lib/Device/JavaDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class JavaDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
11
lib/Device/Protocol.php
Normal file
11
lib/Device/Protocol.php
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
abstract class Protocol extends \SplEnum {
|
||||||
|
const SKINNY = 0;
|
||||||
|
const SIP = 1;
|
||||||
|
const BOTH = 2;
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/SelsiusDevice.php
Normal file
9
lib/Device/SelsiusDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class SelsiusDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/SpaAddonDevice.php
Normal file
9
lib/Device/SpaAddonDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class SpaAddonDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/SpaDevice.php
Normal file
9
lib/Device/SpaDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class SpaDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
9
lib/Device/ThirdPartyDevice.php
Normal file
9
lib/Device/ThirdPartyDevice.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
class ThirdPartyDevice extends Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
?>
|
66
lib/Device/Type.php
Normal file
66
lib/Device/Type.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION\Device;
|
||||||
|
|
||||||
|
abstract class Type extends \SplEnum
|
||||||
|
{
|
||||||
|
const CiscoIPCommunicator = 30016;
|
||||||
|
const CiscoIPPhone6901 = 547;
|
||||||
|
const CiscoIPPhone6911 = 548;
|
||||||
|
const CiscoIPPhone6921 = 495;
|
||||||
|
const CiscoIPPhone6941 = 496;
|
||||||
|
const CiscoIPPhone6945 = 564;
|
||||||
|
const CiscoIPPhone6961 = 497;
|
||||||
|
const CiscoIPPhone7902 = 30008;
|
||||||
|
const CiscoIPPhone7905 = 20000;
|
||||||
|
const CiscoIPPhone7906 = 369;
|
||||||
|
const CiscoIPPhone7910 = 006;
|
||||||
|
const CiscoIPPhone7911 = 307;
|
||||||
|
const CiscoIPPhone7912 = 30007;
|
||||||
|
const CiscoIPPhone7920 = 30002;
|
||||||
|
const CiscoIPPhone7921 = 365;
|
||||||
|
const CiscoIPPhone7925 = 484;
|
||||||
|
const CiscoIPPhone7926 = 577;
|
||||||
|
const CiscoIPPhone7931 = 348;
|
||||||
|
const CiscoIPPhone7935 = 9; // Conference Phone
|
||||||
|
const CiscoIPPhone7936 = 30019;
|
||||||
|
const CiscoIPPhone7937 = 431; // Conference Phone
|
||||||
|
const CiscoIPPhone7940 = 8;
|
||||||
|
const CiscoIPPhone7941 = 115;
|
||||||
|
const CiscoIPPhone7941GE = 309;
|
||||||
|
const CiscoIPPhone7942 = 434;
|
||||||
|
const CiscoIPPhone7945 = 435;
|
||||||
|
const CiscoIPPhone7960 = 7;
|
||||||
|
const CiscoIPPhone7961 = 5;
|
||||||
|
const CiscoIPPhone7961G = 30018;
|
||||||
|
const CiscoIPPhone7961GE = 308;
|
||||||
|
const CiscoIPPhone7962 = 404;
|
||||||
|
const CiscoIPPhone7965 = 436;
|
||||||
|
const CiscoIPPhone7970 = 30006;
|
||||||
|
const CiscoIPPhone7971 = 119;
|
||||||
|
const CiscoIPPhone7975 = 437;
|
||||||
|
const CiscoIPPhone7985 = 302;
|
||||||
|
const CiscoIPPhone8941 = 586;
|
||||||
|
const CiscoIPPhone8945 = 585;
|
||||||
|
|
||||||
|
const CiscoSPA303G = 80011;
|
||||||
|
const CiscoSPA502G = 80003;
|
||||||
|
const CiscoSPA504G = 80004;
|
||||||
|
const CiscoSPA509G = 80007;
|
||||||
|
const CiscoSPA512G = 80012;
|
||||||
|
const CiscoSPA514G = 80013;
|
||||||
|
const CiscoSPA521S = 80000;
|
||||||
|
const CiscoSPA521SG = 80001;
|
||||||
|
const CiscoSPA525G2 = 80009;
|
||||||
|
const CiscoSPA525G = 80005;
|
||||||
|
const NokiaESeries = 275;
|
||||||
|
const NokiaICCclient = 376;
|
||||||
|
|
||||||
|
const CiscoIPAddon7914 = 124; //14-Button Line Expansion Module
|
||||||
|
const CiscoIPAddon7915_1 = 227; //12-Button Line Expansion Module
|
||||||
|
const CiscoIPAddon7915_2 = 228; //24-Button Line Expansion Module
|
||||||
|
const CiscoIPAddon7916_1 = 229; //12-Button Line Expansion Module
|
||||||
|
const CiscoIPAddon7916_2 = 230; //24-Button Line Expansion Module
|
||||||
|
}
|
||||||
|
?>
|
@@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PROVISION;
|
namespace PROVISION;
|
||||||
//use PROVISION\ConfigParser;
|
use PROVISION\ResolveResult as ResolveResult;
|
||||||
use PROVISION\ResolveCache as ResolveCache;
|
use PROVISION\ResolveCache as ResolveCache;
|
||||||
use PROVISION\Utils as Utils;
|
use PROVISION\Utils as Utils;
|
||||||
|
|
||||||
@@ -19,18 +18,6 @@ use PROVISION\Utils as Utils;
|
|||||||
|
|
||||||
- Could use some more test-cases, especially error ones
|
- Could use some more test-cases, especially error ones
|
||||||
*/
|
*/
|
||||||
//class ResolveResult extends Enum {
|
|
||||||
abstract class ResolveResult {
|
|
||||||
const Ok = 0;
|
|
||||||
const EmptyRequest = 1;
|
|
||||||
const RequestNotAString = 2;
|
|
||||||
const RequestContainsInvalidChar = 3;
|
|
||||||
const RequestContainsPathWalk = 4;
|
|
||||||
const FileNotFound = 5;
|
|
||||||
const InvalidFilename = 6;
|
|
||||||
const InvalidPath = 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Resolve {
|
class Resolve {
|
||||||
private $isDirty = FALSE;
|
private $isDirty = FALSE;
|
||||||
private $cache;
|
private $cache;
|
||||||
|
16
lib/ResolveResult.php
Normal file
16
lib/ResolveResult.php
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace PROVISION;
|
||||||
|
|
||||||
|
//abstract class ResolveResult extends \SplEnum {
|
||||||
|
abstract class ResolveResult {
|
||||||
|
const Ok = 0;
|
||||||
|
const EmptyRequest = 1;
|
||||||
|
const RequestNotAString = 2;
|
||||||
|
const RequestContainsInvalidChar = 3;
|
||||||
|
const RequestContainsPathWalk = 4;
|
||||||
|
const FileNotFound = 5;
|
||||||
|
const InvalidFilename = 6;
|
||||||
|
const InvalidPath = 7;
|
||||||
|
}
|
||||||
|
?>
|
@@ -14,7 +14,7 @@ use PROVISION\TFTP;
|
|||||||
use PROVISION\ConfigParser;
|
use PROVISION\ConfigParser;
|
||||||
use PROVISION\Resolve;
|
use PROVISION\Resolve;
|
||||||
use PROVISION\Logger;
|
use PROVISION\Logger;
|
||||||
use PROVISION\Utilts;
|
use PROVISION\Utils;
|
||||||
|
|
||||||
class TFTPProvisioner extends TFTP\Server
|
class TFTPProvisioner extends TFTP\Server
|
||||||
{
|
{
|
||||||
|
@@ -1,24 +1,30 @@
|
|||||||
<?php declare(strict_types=1);
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
require(implode(DIRECTORY_SEPARATOR, array(
|
||||||
|
__DIR__,
|
||||||
|
'..',
|
||||||
|
'vendor',
|
||||||
|
'autoload.php'
|
||||||
|
)));
|
||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use PROVISION\ConfigParser as ConfigParser;
|
||||||
|
|
||||||
include_once "lib/config.php";
|
final class ConfigParserTest extends TestCase
|
||||||
use SCCP\Config as Config;
|
|
||||||
|
|
||||||
final class ConfigTest extends TestCase
|
|
||||||
{
|
{
|
||||||
public function testCanBeCreated(): void
|
public function testCanBeCreated(): void
|
||||||
{
|
{
|
||||||
global $base_path;
|
$base_path = realpath(__DIR__ . DIRECTORY_SEPARATOR . "..");
|
||||||
$configParser = new Config\ConfigParser($base_path, "config.ini");
|
$configParser = new ConfigParser($base_path, "config.ini");
|
||||||
$this->assertInstanceOf(
|
$this->assertInstanceOf(
|
||||||
Config\ConfigParser::class,
|
ConfigParser::class,
|
||||||
$configParser
|
$configParser
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
public function testCanGetConfig(): void
|
public function testCanGetConfig(): void
|
||||||
{
|
{
|
||||||
global $base_path;
|
$base_path = realpath(__DIR__ . DIRECTORY_SEPARATOR . "..");
|
||||||
$configParser = new Config\ConfigParser($base_path, "config.ini");
|
$configParser = new ConfigParser($base_path, "config.ini");
|
||||||
$config = $configParser->getConfiguration();
|
$config = $configParser->getConfiguration();
|
||||||
$this->assertNotEmpty($config);
|
$this->assertNotEmpty($config);
|
||||||
}
|
}
|
||||||
|
@@ -1,25 +1,32 @@
|
|||||||
<?php declare(strict_types=1);
|
<?php declare(strict_types=1);
|
||||||
use PHPUnit\Framework\TestCase;
|
|
||||||
|
|
||||||
include_once "lib/resolve.php";
|
require(implode(DIRECTORY_SEPARATOR, array(
|
||||||
use SCCP\Resolve as Resolve;
|
__DIR__,
|
||||||
|
'..',
|
||||||
|
'vendor',
|
||||||
|
'autoload.php'
|
||||||
|
)));
|
||||||
|
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use PROVISION\ConfigParser as ConfigParser;
|
||||||
|
use PROVISION\Resolve as Resolve;
|
||||||
|
use PROVISION\ResolveResult as ResolveResult;
|
||||||
|
|
||||||
final class ResolverTest extends TestCase
|
final class ResolverTest extends TestCase
|
||||||
{
|
{
|
||||||
private function getConfig()
|
private function getConfig()
|
||||||
{
|
{
|
||||||
global $base_path;
|
$base_path = realpath(__DIR__ . DIRECTORY_SEPARATOR . "..");
|
||||||
$configParser = new SCCP\Config\ConfigParser($base_path, "config.ini");
|
$configParser = new ConfigParser($base_path, "config.ini");
|
||||||
return $configParser->getConfiguration();
|
return $configParser->getConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCanBeCreated(): void
|
public function testCanBeCreated(): void
|
||||||
{
|
{
|
||||||
//global $config;
|
|
||||||
$config = $this->getConfig();
|
$config = $this->getConfig();
|
||||||
$resolve = new \SCCP\Resolve\Resolve($config);
|
$resolve = new Resolve($config);
|
||||||
$this->assertInstanceOf(
|
$this->assertInstanceOf(
|
||||||
\SCCP\Resolve\Resolve::class,
|
Resolve::class,
|
||||||
$resolve
|
$resolve
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -30,17 +37,16 @@ final class ResolverTest extends TestCase
|
|||||||
Array('request' => 'Spain/g3-tones.xml', 'expected' => '/data/locales/countries/Spain/g3-tones.xml'),
|
Array('request' => 'Spain/g3-tones.xml', 'expected' => '/data/locales/countries/Spain/g3-tones.xml'),
|
||||||
Array('request' => '320x196x4/Chan-SCCP-b.png', 'expected' => '/data/wallpapers/320x196x4/Chan-SCCP-b.png'),
|
Array('request' => '320x196x4/Chan-SCCP-b.png', 'expected' => '/data/wallpapers/320x196x4/Chan-SCCP-b.png'),
|
||||||
Array('request' => 'XMLDefault.cnf.xml', 'expected' => '/data/settings/XMLDefault.cnf.xml'),
|
Array('request' => 'XMLDefault.cnf.xml', 'expected' => '/data/settings/XMLDefault.cnf.xml'),
|
||||||
Array('request' => '../XMLDefault.cnf.xml', 'expected' => Resolve\ResolveResult::RequestContainsPathWalk),
|
Array('request' => '../XMLDefault.cnf.xml', 'expected' => ResolveResult::RequestContainsPathWalk),
|
||||||
Array('request' => 'XMLDefault.cnf.xml/../../text.xml', 'expected' => Resolve\ResolveResult::RequestContainsPathWalk),
|
Array('request' => 'XMLDefault.cnf.xml/../../text.xml', 'expected' => ResolveResult::RequestContainsPathWalk),
|
||||||
);
|
);
|
||||||
|
|
||||||
public function testCanResolveFiles(): void
|
public function testCanResolveFiles(): void
|
||||||
{
|
{
|
||||||
global $base_path;
|
global $base_path;
|
||||||
$config = $this->getConfig();
|
$config = $this->getConfig();
|
||||||
//global $config;
|
|
||||||
|
|
||||||
$resolve = new \SCCP\Resolve\Resolve($config);
|
$resolve = new Resolve($config);
|
||||||
foreach($this->test_cases as $test) {
|
foreach($this->test_cases as $test) {
|
||||||
try {
|
try {
|
||||||
$result = $resolve->resolve($test['request']);
|
$result = $resolve->resolve($test['request']);
|
||||||
|
Reference in New Issue
Block a user