From 60fc17bcca05efc8d92bcb117ed0b11abdc0f6bb Mon Sep 17 00:00:00 2001 From: "Mitch Harding (the weird one)" Date: Thu, 10 Oct 2024 11:31:07 -0400 Subject: [PATCH] CASMCMS-9161: Changed BootSetStatus from Enum to IntEnum; restored inequality comparison of same in sessions controller --- CHANGELOG.md | 6 ++++++ src/bos/server/controllers/v2/boot_set/defs.py | 5 +++-- src/bos/server/controllers/v2/sessions.py | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62ae8a82..8e253fb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [2.30.3] - 2024-10-10 +### Changed +- Changed `BootSetStatus` type from Enum to IntEnum, to allow inequality comparisons +- Reverted change in `2.30.1` now that inequalities work as expected + ### Fixed - Fixed type hint for `validate_boot_sets` function diff --git a/src/bos/server/controllers/v2/boot_set/defs.py b/src/bos/server/controllers/v2/boot_set/defs.py index a9478016..5a21a33a 100644 --- a/src/bos/server/controllers/v2/boot_set/defs.py +++ b/src/bos/server/controllers/v2/boot_set/defs.py @@ -22,12 +22,13 @@ # OTHER DEALINGS IN THE SOFTWARE. # -from enum import Enum +from enum import IntEnum import logging LOGGER = logging.getLogger('bos.server.controllers.v2.boot_set') -class BootSetStatus(Enum): +# Use IntEnum to allow for inequalities +class BootSetStatus(IntEnum): """ In ascending order of error severity """ diff --git a/src/bos/server/controllers/v2/sessions.py b/src/bos/server/controllers/v2/sessions.py index ed97468f..9a5aaa0e 100644 --- a/src/bos/server/controllers/v2/sessions.py +++ b/src/bos/server/controllers/v2/sessions.py @@ -105,7 +105,7 @@ def post_v2_session(): # noqa: E501 # Validate health/validity of the sessiontemplate before creating a session error_code, msg = validate_boot_sets(session_template, session_create.operation, template_name, options_data=options_data) - if error_code == BootSetStatus.ERROR: + if error_code >= BootSetStatus.ERROR: LOGGER.error("Session template fails check: %s", msg) return msg, 400