Chef Inspec Test выводит JSON из HTTP API - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь создать элемент управления inspec, в котором мне нужно проверить статус в файле json, который загружается при обращении к URL-адресу http.Когда я нажимаю http://localhost:5000/aaa/bbb/ccc/v1/healthCheck url, файл загружается (healthCheck.json).Я пытаюсь выполнить приведенный ниже код

control "file_check" do
  http_request = http('http://localhost:5000/aaa/bbb/ccc/v1/healthCheck')
  describe json(content: http_request.body) do
    its('status') { should eq 'success' }
  end
end

Я получаю ошибку

"results": [
            {
              "status": "failed",
              "code_desc": "Control Source Code Error a00972-http/controls/http.rb:5 ",
              "run_time": 0.0006573,
              "start_time": "2019-06-13T09:56:57+10:00",
              "message": "undefined method `body' for nil:NilClass",
              "exception": "RuntimeError",

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 13 июня 2019

в соответствии с ресурсом json , вы неправильно обращаетесь к пути json.

изменение:

its('status') { should eq 'success' }

до:

its(['results', 0, 'status']) { should eq 'success' }

обратите внимание, что значение results[0].success равно failed

...