Как получить uuid (динамическое значение) в методе FeatureContext

Мой код имеет доступ только к жестко закодированному идентификатору (/ api / user / {id}). Но я хочу, чтобы он работал с динамическим значением (например: uuid).

/**
* @When I send a :http request to :url
*
* @param $http
* @param $url
*/
public function iSendARequestTo($http, $url)
{
$url = $this->attachQueries($url);

if ($this->isUrlContainsRuntimeParameters($url)) {
$url = $this->mergeRuntimeParametersValues($url);
}

$this->client->request(
$http,
$url,
$this->parameters,
[],
$this->headers,
$this->rawData
);

$this->response = $this->client->getResponse();
}

Дополнительные функции:

 private function attachQueries($url)
{
foreach ($this->queries as $key => $value) {
if(strpos($url,'?') !== false) {
$url .= '&' .$key. '=' .$value;
} else {
$url .= '?' .$key. '=' .$value;
}
}

return $url;
}

private function isUrlContainsRuntimeParameters($url)
{
preg_match(self::RUNTIME_PARAMETER_PATTERN, $url, $matches);

return !empty($matches);
}

private function mergeRuntimeParametersValues($parameter)
{
preg_match(self::RUNTIME_PARAMETER_PATTERN, $parameter, $matches);

return empty($matches)
? $parameter
: preg_replace(self::RUNTIME_PARAMETER_PATTERN, $this->runtimeParameters[$matches[1]], $parameter);
}

Я хочу перестроить метод «iSendARequestTo ()», чтобы он работал с динамическими значениями доктрины (например, uuid)

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector