From 5664b30db2d700ba288fb596e91ac74693fa28e2 Mon Sep 17 00:00:00 2001 From: Zhiwei Liang Date: Mon, 13 Jul 2026 11:19:50 -0400 Subject: [PATCH 1/5] Fix Object Storage bucket creation to initialize the region used by subsequent API requests --- linode_api4/groups/object_storage.py | 4 ++-- test/unit/linode_client_test.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/linode_api4/groups/object_storage.py b/linode_api4/groups/object_storage.py index d54e1cb5a..d21c03013 100644 --- a/linode_api4/groups/object_storage.py +++ b/linode_api4/groups/object_storage.py @@ -429,8 +429,8 @@ def bucket_create( json=result, ) - return ObjectStorageBucket( - self.client, result["label"], result["cluster"], result + return ObjectStorageBucket.make_instance( + result["label"], self.client, json=result ) def object_acl_config(self, cluster_or_region_id: str, bucket, name=None): diff --git a/test/unit/linode_client_test.py b/test/unit/linode_client_test.py index 41b5637dd..3b225d9e2 100644 --- a/test/unit/linode_client_test.py +++ b/test/unit/linode_client_test.py @@ -1334,6 +1334,7 @@ def test_bucket_create(self): "us-east-1", "example-bucket", ObjectStorageACL.PRIVATE, True ) self.assertIsNotNone(b) + self.assertEqual(b.region, "us-east-1") self.assertEqual(m.call_url, "/object-storage/buckets") self.assertEqual( m.call_data, From 8389b694b247605440c6a4a8849099d8525d6241 Mon Sep 17 00:00:00 2001 From: Zhiwei Liang Date: Mon, 13 Jul 2026 11:20:04 -0400 Subject: [PATCH 2/5] Remove outdated tests --- test/integration/models/lke/test_lke.py | 10 ---------- test/unit/objects/lke_test.py | 11 ----------- 2 files changed, 21 deletions(-) diff --git a/test/integration/models/lke/test_lke.py b/test/integration/models/lke/test_lke.py index 96ab1d3cc..478397e38 100644 --- a/test/integration/models/lke/test_lke.py +++ b/test/integration/models/lke/test_lke.py @@ -226,16 +226,6 @@ def test_node_pool_create_with_disk_encryption(test_linode_client, lke_cluster): pool.delete() -def test_cluster_dashboard_url_view(lke_cluster): - cluster = lke_cluster - - url = send_request_when_resource_available( - 300, cluster.cluster_dashboard_url_view - ) - - assert re.search("https://+", url) - - def test_get_and_delete_kubeconfig(lke_cluster): cluster = lke_cluster diff --git a/test/unit/objects/lke_test.py b/test/unit/objects/lke_test.py index 91f9ed3fe..6f7cfdb66 100644 --- a/test/unit/objects/lke_test.py +++ b/test/unit/objects/lke_test.py @@ -68,17 +68,6 @@ def test_get_pool(self): assert pool.taints[0].value == "bar" assert pool.taints[0].effect == "NoSchedule" - def test_cluster_dashboard_url_view(self): - """ - Tests that you can submit a correct cluster dashboard url api request. - """ - cluster = LKECluster(self.client, 18881) - - with self.mock_get("/lke/clusters/18881/dashboard") as m: - result = cluster.cluster_dashboard_url_view() - self.assertEqual(m.call_url, "/lke/clusters/18881/dashboard") - self.assertEqual(result, "https://example.dashboard.linodelke.net") - def test_kubeconfig_delete(self): """ Tests that you can submit a correct kubeconfig delete api request. From 1a682dd6029ab6985bcc0332561aa3caf5683eb4 Mon Sep 17 00:00:00 2001 From: Zhiwei Liang Date: Mon, 13 Jul 2026 11:25:39 -0400 Subject: [PATCH 3/5] make format --- test/integration/models/lke/test_lke.py | 1 - 1 file changed, 1 deletion(-) diff --git a/test/integration/models/lke/test_lke.py b/test/integration/models/lke/test_lke.py index 478397e38..d5b21089e 100644 --- a/test/integration/models/lke/test_lke.py +++ b/test/integration/models/lke/test_lke.py @@ -1,5 +1,4 @@ import base64 -import re from test.integration.conftest import get_region from test.integration.helpers import ( get_test_label, From 594361d84199ee888b21c1ba16b52c55f171c9b3 Mon Sep 17 00:00:00 2001 From: Zhiwei Liang Date: Mon, 13 Jul 2026 11:26:09 -0400 Subject: [PATCH 4/5] Fix test_get_linode_types_overrides and merge it with another test case --- test/integration/models/linode/test_linode.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/test/integration/models/linode/test_linode.py b/test/integration/models/linode/test_linode.py index 50455f158..55a5afd1b 100644 --- a/test/integration/models/linode/test_linode.py +++ b/test/integration/models/linode/test_linode.py @@ -848,21 +848,14 @@ def test_get_linode_types(test_linode_client): for linode_type in types: assert hasattr(linode_type, "accelerated_devices") - -def test_get_linode_types_overrides(test_linode_client): - types = test_linode_client.linode.types() - - target_types = [ + regional_priced_types = [ v for v in types if len(v.region_prices) > 0 and v.region_prices[0].hourly > 0 ] - assert len(target_types) > 0 - - for linode_type in target_types: - assert linode_type.region_prices[0].hourly >= 0 - assert linode_type.region_prices[0].monthly >= 0 + any(v.region_prices[0].hourly > 0 for v in regional_priced_types) + any(v.region_prices[0].monthly > 0 for v in regional_priced_types) @pytest.mark.flaky(reruns=3, reruns_delay=2) From 8555172b537e910c805fc8796e610cdfe25e8c5b Mon Sep 17 00:00:00 2001 From: Zhiwei Liang <121905282+zliang-akamai@users.noreply.github.com> Date: Mon, 13 Jul 2026 15:16:14 -0400 Subject: [PATCH 5/5] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- test/integration/models/linode/test_linode.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/models/linode/test_linode.py b/test/integration/models/linode/test_linode.py index 55a5afd1b..1ef129bf1 100644 --- a/test/integration/models/linode/test_linode.py +++ b/test/integration/models/linode/test_linode.py @@ -854,8 +854,8 @@ def test_get_linode_types(test_linode_client): if len(v.region_prices) > 0 and v.region_prices[0].hourly > 0 ] - any(v.region_prices[0].hourly > 0 for v in regional_priced_types) - any(v.region_prices[0].monthly > 0 for v in regional_priced_types) + assert any(v.region_prices[0].hourly > 0 for v in regional_priced_types) + assert any(v.region_prices[0].monthly > 0 for v in regional_priced_types) @pytest.mark.flaky(reruns=3, reruns_delay=2)