|
34 | 34 | get_cluster,
|
35 | 35 | _app_wrapper_status,
|
36 | 36 | _ray_cluster_status,
|
| 37 | + list_clusters_all_namespaces, |
37 | 38 | )
|
38 | 39 | from codeflare_sdk.cluster.auth import (
|
39 | 40 | TokenAuthentication,
|
@@ -206,6 +207,33 @@ def test_cluster_deletion_cli(mocker):
|
206 | 207 |
|
207 | 208 | assert result.exit_code == 0
|
208 | 209 | assert "Cluster deleted successfully" in result.output
|
| 210 | +def test_list_clusters_all_namespaces(mocker, capsys): |
| 211 | + mocker.patch( |
| 212 | + "kubernetes.client.CustomObjectsApi.list_cluster_custom_object", |
| 213 | + side_effect=get_ray_obj_no_namespace, |
| 214 | + ) |
| 215 | + list_clusters_all_namespaces() |
| 216 | + captured = capsys.readouterr() |
| 217 | + assert captured.out == ( |
| 218 | + " 🚀 CodeFlare Cluster Details 🚀 \n" |
| 219 | + " \n" |
| 220 | + " ╭──────────────────────────────────────────────────────────────╮ \n" |
| 221 | + " │ Name │ \n" |
| 222 | + " │ quicktest Active ✅ │ \n" |
| 223 | + " │ │ \n" |
| 224 | + " │ URI: ray://quicktest-head-svc.ns.svc:10001 │ \n" |
| 225 | + " │ │ \n" |
| 226 | + " │ Dashboard🔗 │ \n" |
| 227 | + " │ │ \n" |
| 228 | + " │ Cluster Resources │ \n" |
| 229 | + " │ ╭─ Workers ──╮ ╭───────── Worker specs(each) ─────────╮ │ \n" |
| 230 | + " │ │ Min Max │ │ Memory CPU GPU │ │ \n" |
| 231 | + " │ │ │ │ │ │ \n" |
| 232 | + " │ │ 1 1 │ │ 2G~2G 1 0 │ │ \n" |
| 233 | + " │ │ │ │ │ │ \n" |
| 234 | + " │ ╰────────────╯ ╰──────────────────────────────────────╯ │ \n" |
| 235 | + " ╰──────────────────────────────────────────────────────────────╯ \n" |
| 236 | + ) |
209 | 237 |
|
210 | 238 |
|
211 | 239 | # For mocking openshift client results
|
@@ -992,6 +1020,10 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
|
992 | 1020 | return api_obj
|
993 | 1021 |
|
994 | 1022 |
|
| 1023 | +def get_ray_obj_no_namespace(group, version, plural, cls=None): |
| 1024 | + return get_ray_obj(group, version, "ns", plural, cls) |
| 1025 | + |
| 1026 | + |
995 | 1027 | def get_aw_obj(group, version, namespace, plural):
|
996 | 1028 | api_obj1 = {
|
997 | 1029 | "items": [
|
@@ -2360,4 +2392,3 @@ def test_cleanup():
|
2360 | 2392 | os.remove("tls-cluster-namespace/tls.key")
|
2361 | 2393 | os.rmdir("tls-cluster-namespace")
|
2362 | 2394 | os.remove("cli-test-cluster.yaml")
|
2363 |
| - os.removedirs(os.path.expanduser("~/.codeflare")) |
|
0 commit comments