CI: drop unused tests (#15280)

This commit is contained in:
Jirka Borovec 2022-10-24 22:57:00 +02:00 committed by GitHub
parent 46639c693f
commit e4f0f92b3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 0 additions and 458 deletions

View File

@ -1,53 +0,0 @@
import os
import uuid
import pytest
from src.lightning_app.testing.testing import run_cli
@pytest.mark.cloud
@pytest.mark.skipif(
os.environ.get("LIGHTNING_BYOC_ROLE_ARN") is None, reason="missing LIGHTNING_BYOC_ROLE_ARN environment variable"
)
@pytest.mark.skipif(
os.environ.get("LIGHTNING_BYOC_EXTERNAL_ID") is None,
reason="missing LIGHTNING_BYOC_EXTERNAL_ID environment variable",
)
def test_cluster_lifecycle() -> None:
role_arn = os.environ.get("LIGHTNING_BYOC_ROLE_ARN", None)
external_id = os.environ.get("LIGHTNING_BYOC_EXTERNAL_ID", None)
region = "us-west-2"
instance_types = "t2.small,t3.small"
cluster_name = "byoc-%s" % (uuid.uuid4())
with run_cli(
[
"create",
"cluster",
cluster_name,
"--provider",
"aws",
"--role-arn",
role_arn,
"--external-id",
external_id,
"--region",
region,
"--instance-types",
instance_types,
"--wait",
]
) as (stdout, stderr):
assert "success" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
with run_cli(["list", "clusters"]) as (stdout, stderr):
assert cluster_name in stdout, f"stdout: {stdout}\nstderr: {stderr}"
with run_cli(["delete", "cluster", "--force", cluster_name]) as (stdout, stderr):
assert "success" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
@pytest.mark.cloud
def test_cluster_list() -> None:
with run_cli(["list", "clusters"]) as (stdout, stderr):
assert "lightning-cloud" in stdout, f"stdout: {stdout}\nstderr: {stderr}"

View File

@ -1,405 +0,0 @@
import os
import random
import string
from datetime import datetime
from itertools import repeat
from unittest import mock
import pytest
from dateutil.tz import tzutc
from lightning_app.utilities.cluster_logs import (
_cluster_logs_reader,
_ClusterLogEvent,
_ClusterLogEventLabels,
_parse_log_event,
)
from lightning_app.utilities.exceptions import LogLinesLimitExceeded
from src.lightning_app.testing.testing import run_cli
@pytest.mark.cloud
@pytest.mark.skipif(
os.environ.get("LIGHTNING_BYOC_CLUSTER_NAME") is None,
reason="missing LIGHTNING_BYOC_CLUSTER_NAME environment variable",
)
def test_byoc_cluster_logs() -> None:
# Check a typical retrieving case
cluster_name = os.environ.get("LIGHTNING_BYOC_CLUSTER_NAME")
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
]
) as (stdout, stderr):
assert "info" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
# Check a retrieving case with a small number of lines limit
cluster_name = os.environ.get("LIGHTNING_BYOC_CLUSTER_NAME")
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
"--limit",
10,
]
) as (stdout, stderr):
assert "info" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
# Time expanding doesn't break retrieving
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
"--limit",
10,
"--from",
"48 hours ago",
]
) as (stdout, stderr):
assert "info" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
# Time expanding doesn't break retrieving
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
"--limit",
10,
"--from",
"48 hours ago",
]
) as (stdout, stderr):
assert "info" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
# Try non-existing cluster
letters = string.ascii_letters
cluster_name = "".join(random.choice(letters) for i in range(10))
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
]
) as (stdout, stderr):
assert "does not exist" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
@pytest.mark.cloud
@pytest.mark.skipif(
os.environ.get("LIGHTNING_CLOUD_CLUSTER_NAME") is None,
reason="missing LIGHTNING_CLOUD_CLUSTER_NAME environment variable",
)
def test_lighting_cloud_logs() -> None:
# Check a retrieving case from lightning-cloud
# We shouldn't show lighting-cloud logs, therefore we expect to see an error here
cluster_name = os.environ.get("LIGHTNING_CLOUD_CLUSTER_NAME" "" "")
with run_cli(
[
"show",
"cluster",
"logs",
cluster_name,
]
) as (stdout, stderr):
assert "Error while reading logs" in stdout, f"stdout: {stdout}\nstderr: {stderr}"
def test_cluster_logs_reader():
logs_api_client = mock.Mock()
log_socket = mock.Mock()
def create_cluster_logs_socket(
cluster_id: str,
start: float, # unix timestamp
end: float, # unix timestamp
limit: int,
on_message_callback,
on_error_callback,
):
assert start == 0
assert end == 10
assert limit == 10
def run_forever():
on_message_callback(
None,
r"""
{
"message": "getting file lock",
"timestamp": "2022-08-30T00:57:59.370356800Z",
"labels": {
"cluster_id": "cluster_id",
"grid_url": "https://lightning.ai",
"hostname": "ec2-001",
"level": "info",
"logger": "test.logger",
"path": "/tmp/grid.terraform"
}
}
""",
)
log_socket.run_forever = run_forever
return log_socket
logs_api_client.create_cluster_logs_socket = mock.MagicMock(
side_effect=create_cluster_logs_socket,
)
logs = list(
_cluster_logs_reader(
logs_api_client=logs_api_client,
cluster_id="cluster_id",
start=0,
end=10,
limit=10,
follow=False,
)
)
logs_api_client.create_cluster_logs_socket.assert_called_once()
assert logs == [
_ClusterLogEvent(
message="getting file lock",
timestamp=datetime(2022, 8, 30, 0, 57, 59, 370356, tzinfo=tzutc()),
labels=_ClusterLogEventLabels(
cluster_id="cluster_id",
grid_url="https://lightning.ai",
hostname="ec2-001",
level="info",
logger="test.logger",
path="/tmp/grid.terraform",
),
),
]
def test_cluster_logs_reader_pagination():
logs_api_client = mock.Mock()
log_socket = mock.Mock()
messages = iter(
[
r"""
{
"message": "v2",
"timestamp": "2022-08-30T00:57:59.370356800Z",
"labels": {
"cluster_id": "cluster_id",
"grid_url": "https://lightning.ai",
"hostname": "ec2-001",
"level": "info",
"logger": "test.logger",
"path": "/tmp/grid.terraform"
}
}
""",
r"""
{
"message": "v3",
"timestamp": "2022-08-30T00:58:59.370356800Z",
"labels": {
"cluster_id": "cluster_id",
"grid_url": "https://lightning.ai",
"hostname": "ec2-001",
"level": "info",
"logger": "test.logger",
"path": "/tmp/grid.terraform"
}
}
""",
]
)
def create_cluster_logs_socket(
cluster_id: str,
start: int, # unix timestamp
end: int, # unix timestamp
limit: int,
on_message_callback,
on_error_callback,
):
def run_forever():
on_message_callback(None, next(messages))
log_socket.run_forever = run_forever
return log_socket
logs_api_client.create_cluster_logs_socket = mock.Mock(
side_effect=create_cluster_logs_socket,
)
logs = list(
_cluster_logs_reader(
logs_api_client=logs_api_client,
cluster_id="cluster_id",
start=0,
end=10,
limit=5,
follow=False,
batch_size=1,
)
)
assert logs_api_client.create_cluster_logs_socket.call_args_list[0].kwargs["start"] == 0
assert logs_api_client.create_cluster_logs_socket.call_args_list[0].kwargs["limit"] == 1
assert logs_api_client.create_cluster_logs_socket.call_args_list[0].kwargs["end"] == 10
assert logs_api_client.create_cluster_logs_socket.call_args_list[1].kwargs["start"] == 1661821079.370357
assert logs_api_client.create_cluster_logs_socket.call_args_list[1].kwargs["limit"] == 1
assert logs_api_client.create_cluster_logs_socket.call_args_list[1].kwargs["end"] == 10
assert len(logs_api_client.create_cluster_logs_socket.call_args_list) == 3
assert logs == [
_ClusterLogEvent(
message="v2",
timestamp=datetime(2022, 8, 30, 0, 57, 59, 370356, tzinfo=tzutc()),
labels=_ClusterLogEventLabels(
cluster_id="cluster_id",
grid_url="https://lightning.ai",
hostname="ec2-001",
level="info",
logger="test.logger",
path="/tmp/grid.terraform",
),
),
_ClusterLogEvent(
message="v3",
timestamp=datetime(2022, 8, 30, 0, 58, 59, 370356, tzinfo=tzutc()),
labels=_ClusterLogEventLabels(
cluster_id="cluster_id",
grid_url="https://lightning.ai",
hostname="ec2-001",
level="info",
logger="test.logger",
path="/tmp/grid.terraform",
),
),
]
def test_cluster_logs_limit_exceeded():
logs_api_client = mock.Mock()
log_socket = mock.Mock()
log_message = r"""
{
"message": "v2",
"timestamp": "2022-08-30T00:57:59.370356800Z",
"labels": {
"cluster_id": "cluster_id",
"grid_url": "https://lightning.ai",
"hostname": "ec2-001",
"level": "info",
"logger": "test.logger",
"path": "/tmp/grid.terraform"
}
}
"""
messages = None
def create_cluster_logs_socket(
cluster_id: str,
start: int, # unix timestamp
end: int, # unix timestamp
limit: int,
on_message_callback,
on_error_callback,
):
def run_forever():
on_message_callback(None, next(messages))
log_socket.run_forever = run_forever
return log_socket
logs_api_client.create_cluster_logs_socket = mock.Mock(
side_effect=create_cluster_logs_socket,
)
messages = repeat(log_message, 2)
_ = list(
_cluster_logs_reader(
logs_api_client=logs_api_client,
cluster_id="cluster_id",
start=0,
end=10,
limit=3,
follow=False,
batch_size=1,
)
)
messages = repeat(log_message, 2)
with pytest.raises(LogLinesLimitExceeded):
_ = list(
_cluster_logs_reader(
logs_api_client=logs_api_client,
cluster_id="cluster_id",
start=0,
end=10,
limit=2,
follow=False,
batch_size=1,
)
)
messages = repeat(log_message, 2)
with pytest.raises(LogLinesLimitExceeded):
_ = list(
_cluster_logs_reader(
logs_api_client=logs_api_client,
cluster_id="cluster_id",
start=0,
end=10,
limit=1,
follow=False,
batch_size=1,
)
)
def test_parse_log_event():
assert (
_parse_log_event(
r"""
{
"message": "getting file lock",
"timestamp": "2022-08-30T00:57:59.370356800Z",
"labels": {
"cluster_id": "cluster_id",
"grid_url": "https://lightning.ai",
"hostname": "ec2-001",
"level": "info",
"logger": "test.logger",
"path": "/tmp/grid.terraform"
}
}
"""
)
== [
_ClusterLogEvent(
message="getting file lock",
timestamp=datetime(2022, 8, 30, 0, 57, 59, 370356, tzinfo=tzutc()),
labels=_ClusterLogEventLabels(
cluster_id="cluster_id",
grid_url="https://lightning.ai",
hostname="ec2-001",
level="info",
logger="test.logger",
path="/tmp/grid.terraform",
),
),
]
)