def test_query_using_display_name(mq_create_three_specific_hosts, api_get):
    created_hosts = mq_create_three_specific_hosts
    expected_host_list = build_expected_host_list([created_hosts[0]])

    url = build_hosts_url(query=f"?display_name={created_hosts[0].display_name}")
    response_status, response_data = api_get(url)

    assert response_status == 200
    assert len(response_data["results"]) == 1
    assert expected_host_list == response_data["results"]
def test_query_using_fqdn_one_result(mq_create_three_specific_hosts, api_get):
    created_hosts = mq_create_three_specific_hosts
    expected_host_list = build_expected_host_list([created_hosts[2]])

    url = build_hosts_url(query=f"?fqdn={created_hosts[2].fqdn}")
    response_status, response_data = api_get(url)

    assert response_status == 200
    assert len(response_data["results"]) == 1
    assert expected_host_list == response_data["results"]
def test_query_all(mq_create_three_specific_hosts, api_get, subtests):
    created_hosts = mq_create_three_specific_hosts
    expected_host_list = build_expected_host_list(created_hosts)

    response_status, response_data = api_get(HOST_URL)

    assert response_status == 200
    assert expected_host_list == response_data["results"]

    api_base_pagination_test(api_get, subtests, HOST_URL, expected_total=len(created_hosts))
def test_query_using_display_name_substring(mq_create_three_specific_hosts, api_get, subtests):
    created_hosts = mq_create_three_specific_hosts
    expected_host_list = build_expected_host_list(created_hosts)

    host_name_substr = created_hosts[0].display_name[:4]

    url = build_hosts_url(query=f"?display_name={host_name_substr}")
    response_status, response_data = api_get(url)

    assert response_status == 200
    assert expected_host_list == response_data["results"]

    api_pagination_test(api_get, subtests, url, expected_total=len(created_hosts))