Jyxo\Beholder\TestCase\XmlRpc::run PHP Method

run() public method

Performs the test.
public run ( ) : Result
return Jyxo\Beholder\Result
    public function run() : \Jyxo\Beholder\Result
    {
        // The xmlrpc extension is required
        if (!extension_loaded('xmlrpc')) {
            return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::NOT_APPLICABLE, 'Extension xmlrpc missing');
        }
        // The curl extension is required
        if (!extension_loaded('curl')) {
            return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::NOT_APPLICABLE, 'Extension curl missing');
        }
        // The \Jyxo\Rpc\Xml\Client class is required
        if (!class_exists(\Jyxo\Rpc\Xml\Client::class)) {
            return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::NOT_APPLICABLE, sprintf('Class %s missing', \Jyxo\Rpc\Xml\Client::class));
        }
        // Create the RPC client
        $rpc = new \Jyxo\Rpc\Xml\Client();
        foreach ($this->options as $name => $value) {
            $rpc->setOption($name, $value);
        }
        $rpc->setUrl($this->url)->setTimeout($this->timeout);
        // Send the request
        try {
            $rpc->send($this->method, $this->params);
        } catch (\Exception $e) {
            return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::FAILURE, $this->url);
        }
        // OK
        return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::SUCCESS, $this->url);
    }