From 20698e780be7f575b34591461c2c28dccefdd38c Mon Sep 17 00:00:00 2001 From: vshanthe Date: Wed, 20 Dec 2023 10:52:34 +0530 Subject: [PATCH 1/4] added test for linode_type and account_transfer --- .../account/test_account_transfer.py | 24 +++++++++++++++++ tests/integration/linodes/test_types.py | 27 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 tests/integration/account/test_account_transfer.py create mode 100644 tests/integration/linodes/test_types.py diff --git a/tests/integration/account/test_account_transfer.py b/tests/integration/account/test_account_transfer.py new file mode 100644 index 00000000..7afc1fe8 --- /dev/null +++ b/tests/integration/account/test_account_transfer.py @@ -0,0 +1,24 @@ +import os +import subprocess +from typing import List + +env = os.environ.copy() +env["COLUMNS"] = "200" + + +def exec_test_command(args: List[str]): + process = subprocess.run( + args, + stdout=subprocess.PIPE, + env=env, + ) + return process + + +def test_account_transfer(): + process = exec_test_command(["linode-cli", "account", "transfer"]) + output = process.stdout.decode() + print(output) + assert "billable" in output + assert "quota" in output + assert "used" in output diff --git a/tests/integration/linodes/test_types.py b/tests/integration/linodes/test_types.py new file mode 100644 index 00000000..32d0ecf1 --- /dev/null +++ b/tests/integration/linodes/test_types.py @@ -0,0 +1,27 @@ +import os +import subprocess +from typing import List + +env = os.environ.copy() +env["COLUMNS"] = "200" + + +def exec_test_command(args: List[str]): + process = subprocess.run( + args, + stdout=subprocess.PIPE, + env=env, + ) + return process + + +# verifying the DC pricing changes along with types +def test_linode_type(): + process = exec_test_command(["linode-cli", "linodes", "types"]) + output = process.stdout.decode() + print(output) + assert " price.hourly " in output + assert " price.monthly " in output + assert " region_prices " in output + assert " hourly " in output + assert " monthly " in output From 5063f19cd4e01b627b5a8a983c40f219a1a6e652 Mon Sep 17 00:00:00 2001 From: vshanthe Date: Wed, 3 Jan 2024 10:46:58 +0530 Subject: [PATCH 2/4] remove print statment --- tests/integration/account/test_account_transfer.py | 1 - tests/integration/linodes/test_types.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/integration/account/test_account_transfer.py b/tests/integration/account/test_account_transfer.py index 7afc1fe8..10b610ca 100644 --- a/tests/integration/account/test_account_transfer.py +++ b/tests/integration/account/test_account_transfer.py @@ -18,7 +18,6 @@ def exec_test_command(args: List[str]): def test_account_transfer(): process = exec_test_command(["linode-cli", "account", "transfer"]) output = process.stdout.decode() - print(output) assert "billable" in output assert "quota" in output assert "used" in output diff --git a/tests/integration/linodes/test_types.py b/tests/integration/linodes/test_types.py index 32d0ecf1..79f11773 100644 --- a/tests/integration/linodes/test_types.py +++ b/tests/integration/linodes/test_types.py @@ -19,7 +19,6 @@ def exec_test_command(args: List[str]): def test_linode_type(): process = exec_test_command(["linode-cli", "linodes", "types"]) output = process.stdout.decode() - print(output) assert " price.hourly " in output assert " price.monthly " in output assert " region_prices " in output From 4e583836df5c3a7c43c9c3e6f819e4439926444b Mon Sep 17 00:00:00 2001 From: vshanthe Date: Wed, 21 Aug 2024 19:18:44 +0530 Subject: [PATCH 3/4] integration test placementgroup --- tests/integration/conftest.py | 2 +- .../integration/placements/test_placements.py | 114 ++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 tests/integration/placements/test_placements.py diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 280bd3b9..2a4f211f 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -553,7 +553,7 @@ def support_test_linode_id(linode_cloud_firewall): "--type", "g6-nanode-1", "--region", - "us-ord", + "us-mia", "--image", DEFAULT_TEST_IMAGE, "--label", diff --git a/tests/integration/placements/test_placements.py b/tests/integration/placements/test_placements.py new file mode 100644 index 00000000..be64f6fb --- /dev/null +++ b/tests/integration/placements/test_placements.py @@ -0,0 +1,114 @@ +import time +import pytest + +from tests.integration.helpers import ( + assert_headers_in_lines, + delete_target_id, + exec_test_command, +) + +BASE_CMD = ["linode-cli", "placement"] + + +@pytest.fixture +def create_placement_group(): + new_label = str(time.time_ns()) + "label" + placement_group_id = ( + exec_test_command( + BASE_CMD + + [ + "group-create", + "--label", + new_label, + "--region", + "us-mia", + "--placement_group_type", + "anti_affinity:local", + "--placement_group_policy", + "strict", + "--text", + "--no-headers", + "--format=id", + ] + ) + .stdout.decode() + .rstrip() + ) + yield placement_group_id + delete_target_id(target="placement", subcommand="group-delete", id=placement_group_id) + + +def test_placement_group_list(): + res = ( + exec_test_command( + BASE_CMD + ["groups-list", "--text", "--delimiter=,"] + ) + .stdout.decode() + .rstrip() + ) + lines = res.splitlines() + headers = ["placement_group_type", "region", "label"] + assert_headers_in_lines(headers, lines) + + +def test_placement_group_view(create_placement_group): + placement_group_id = create_placement_group + res = ( + exec_test_command( + BASE_CMD + ["group-view", placement_group_id, "--text", "--delimiter=,"] + ) + .stdout.decode() + .rstrip() + ) + lines = res.splitlines() + + headers = ["placement_group_type", "region", "label"] + assert_headers_in_lines(headers, lines) + + +@pytest.mark.skip(reason="BUG TPT-3109") +def test_assign_placement_group(support_test_linode_id, create_placement_group): + linode_id = support_test_linode_id + placement_group_id = create_placement_group + res = ( + exec_test_command(BASE_CMD + ["assign-linode", placement_group_id, "--linodes", linode_id, "--text", + "--delimiter=,"]) + .stdout.decode() + .rstrip() + ) + assert placement_group_id in res + + +@pytest.mark.skip(reason="BUG TPT-3109") +def test_unassign_placement_group(support_test_linode_id, create_placement_group): + linode_id = support_test_linode_id + placement_group_id = create_placement_group + res = ( + exec_test_command(BASE_CMD + ["unassign-linode", placement_group_id, "--linode", linode_id, "--text", + "--delimiter=,"]) + .stdout.decode() + .rstrip() + ) + assert placement_group_id not in res + + +def test_update_placement_group(create_placement_group): + placement_group_id = create_placement_group + new_label = str(time.time_ns()) + "label" + updated_label = ( + exec_test_command( + BASE_CMD + + [ + "group-update", + placement_group_id, + "--label", + new_label, + "--text", + "--no-headers", + "--format=label", + ] + ) + .stdout.decode() + .rstrip() + ) + assert new_label == updated_label From 5cde0b8df4908b048e8ae37dc2bea3aa79477b05 Mon Sep 17 00:00:00 2001 From: vshanthe Date: Thu, 22 Aug 2024 13:41:08 +0530 Subject: [PATCH 4/4] fix lint --- .../integration/placements/test_placements.py | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/tests/integration/placements/test_placements.py b/tests/integration/placements/test_placements.py index be64f6fb..7fa2309d 100644 --- a/tests/integration/placements/test_placements.py +++ b/tests/integration/placements/test_placements.py @@ -1,4 +1,5 @@ import time + import pytest from tests.integration.helpers import ( @@ -35,14 +36,14 @@ def create_placement_group(): .rstrip() ) yield placement_group_id - delete_target_id(target="placement", subcommand="group-delete", id=placement_group_id) + delete_target_id( + target="placement", subcommand="group-delete", id=placement_group_id + ) def test_placement_group_list(): res = ( - exec_test_command( - BASE_CMD + ["groups-list", "--text", "--delimiter=,"] - ) + exec_test_command(BASE_CMD + ["groups-list", "--text", "--delimiter=,"]) .stdout.decode() .rstrip() ) @@ -55,7 +56,8 @@ def test_placement_group_view(create_placement_group): placement_group_id = create_placement_group res = ( exec_test_command( - BASE_CMD + ["group-view", placement_group_id, "--text", "--delimiter=,"] + BASE_CMD + + ["group-view", placement_group_id, "--text", "--delimiter=,"] ) .stdout.decode() .rstrip() @@ -71,8 +73,17 @@ def test_assign_placement_group(support_test_linode_id, create_placement_group): linode_id = support_test_linode_id placement_group_id = create_placement_group res = ( - exec_test_command(BASE_CMD + ["assign-linode", placement_group_id, "--linodes", linode_id, "--text", - "--delimiter=,"]) + exec_test_command( + BASE_CMD + + [ + "assign-linode", + placement_group_id, + "--linodes", + linode_id, + "--text", + "--delimiter=,", + ] + ) .stdout.decode() .rstrip() ) @@ -80,12 +91,23 @@ def test_assign_placement_group(support_test_linode_id, create_placement_group): @pytest.mark.skip(reason="BUG TPT-3109") -def test_unassign_placement_group(support_test_linode_id, create_placement_group): +def test_unassign_placement_group( + support_test_linode_id, create_placement_group +): linode_id = support_test_linode_id placement_group_id = create_placement_group res = ( - exec_test_command(BASE_CMD + ["unassign-linode", placement_group_id, "--linode", linode_id, "--text", - "--delimiter=,"]) + exec_test_command( + BASE_CMD + + [ + "unassign-linode", + placement_group_id, + "--linode", + linode_id, + "--text", + "--delimiter=,", + ] + ) .stdout.decode() .rstrip() )