// Copyright (C) The Arvados Authors. All rights reserved.
//
// SPDX-License-Identifier: AGPL-3.0

package main

import (
	"encoding/json"
)

// We don't have isolated unit tests for /status.json yet, but we do
// check (e.g., in pull_worker_test.go) that /status.json reports
// specific statistics correctly at the appropriate times.

// getStatusItem("foo","bar","baz") retrieves /status.json, decodes
// the response body into resp, and returns resp["foo"]["bar"]["baz"].
func getStatusItem(h *handler, keys ...string) interface{} {
	resp := IssueRequest(h, &RequestTester{"/status.json", "", "GET", nil})
	var s interface{}
	json.NewDecoder(resp.Body).Decode(&s)
	for _, k := range keys {
		s = s.(map[string]interface{})[k]
	}
	return s
}