private function catch()

in util/ActionTest.php [205:238]


    private function catch(string $action, array &$vars)
    {
        switch ($action) {
            case 'bad_request':
            case 'unauthorized':
            case 'forbidden':
            case 'missing':
            case 'request_timeout':
            case 'conflict':
                $expectedException = ClientResponseException::class;
                break;
            case 'request':
                $expectedException = ElasticsearchException::class;
                break;
            case 'unavailable':
                $expectedException = ElasticsearchException::class;
                $scriptException = YamlTests::render(self::TEMPLATE_CATCH_UNAVAILABLE);
                break;
            case 'param':
                $expectedException = ElasticsearchException::class;
                $scriptException = 'var_dump($response);';
                break;
            default:
                $expectedException = ElasticsearchException::class;
                $scriptException = YamlTests::render(
                    ($this->phpUnitVersion > 8) ? (self::TEMPLATE_PHPUNIT9_CATCH_REGEX) : (self::TEMPLATE_CATCH_REGEX),
                    [ ':regex' => sprintf("'%s'", addslashes($action)) ]
                );
        }
        $vars[':catch'] = YamlTests::render(self::TEMPLATE_CATCH, [
            ':exception' => $expectedException
        ]);
        $vars[':response-check'] .= $scriptException ?? '';
    }