Files
scylladb/test/nodetool/test_getendpoints.py
Botond Dénes 8f3b1db37f test/nodetool: nodetool(): return res object instead of just stdout
So callers have access to stderr, return code and more.
This causes some churn in the test, but the changes are mechanical.
2024-03-27 04:18:19 -04:00

26 lines
779 B
Python

#
# Copyright 2024-present ScyllaDB
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
import pytest
from rest_api_mock import expected_request
@pytest.mark.parametrize("num_endpoints", [1, 2])
def test_getendpoints(nodetool, num_endpoints):
keyspace = 'ks'
table = 'cf0'
key = '42'
endpoints = [f"127.0.0.{i}" for i in range(num_endpoints)]
res = nodetool("getendpoints", keyspace, table, key, expected_requests=[
expected_request("GET", f"/storage_service/natural_endpoints/{keyspace}",
params={"cf": table, "key": key},
response=endpoints),
])
actual_output = res.stdout
expected_output = ''.join(f"{endpoint}\n" for endpoint in endpoints)
assert actual_output == expected_output