From c16ec018e708b6d95f9d426e6f3fa8ac1072752a Mon Sep 17 00:00:00 2001 From: Ankit R Gadiya Date: Tue, 22 Oct 2024 11:50:43 +0530 Subject: [PATCH] fix(apply): handle dry-run without login --- riocli/apply/parse.py | 47 ++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/riocli/apply/parse.py b/riocli/apply/parse.py index ee594be1..da4879d3 100644 --- a/riocli/apply/parse.py +++ b/riocli/apply/parse.py @@ -29,8 +29,13 @@ print_resolved_objects, ) from riocli.config import Configuration -from riocli.constants import ApplyResult, Colors, Symbols -from riocli.exceptions import ResourceNotFound +from riocli.constants import Colors, Symbols, ApplyResult +from riocli.exceptions import ( + NoProjectSelected, + NoOrganizationSelected, + ResourceNotFound, + LoggedOut, +) from riocli.utils import dump_all_yaml, print_centered_text, run_bash from riocli.utils.graph import Graphviz from riocli.utils.spinner import with_spinner @@ -475,18 +480,32 @@ def _get_object_key(obj: dict) -> str: def _inject_rio_namespace(self, values: typing.Optional[dict] = None) -> dict: values = values or {} - rio = { - "project": { - "name": self.config.data.get("project_name"), - "guid": self.config.project_guid, - }, - "organization": { - "name": self.config.data.get("organization_name"), - "guid": self.config.organization_guid, - "short_id": self.config.organization_short_id, - }, - "email_id": self.config.data.get("email_id"), - } + try: + rio = { + "project": { + "name": self.config.data.get("project_name"), + "guid": self.config.project_guid, + }, + "organization": { + "name": self.config.data.get("organization_name"), + "guid": self.config.organization_guid, + "short_id": self.config.organization_short_id, + }, + "email_id": self.config.data.get("email_id"), + } + except (LoggedOut, NoProjectSelected, NoOrganizationSelected): + rio = { + "project": { + "name": "project-name", + "guid": "project-guid", + }, + "organization": { + "name": "org-name", + "guid": "org-guid", + "short_id": "org-short", + }, + "email_id": "user@rapyuta.io", + } if "rio" in values: benedict(values["rio"]).merge(rio)