From a6e5314f4c0df2778b2f4ac1e7fbd657e6f87fff Mon Sep 17 00:00:00 2001 From: Paul Hewlett Date: Thu, 7 Jul 2022 17:14:49 +0100 Subject: [PATCH] BEHAVIOURS constant in wrong place. Problem: BEHAVIOURS is defined in assets.py. Solution: Move BEHAVIOURS to constants.py as ASSET_BEHAVIOURS Signed-off-by: Paul Hewlett --- archivist/assets.py | 10 ++------ archivist/constants.py | 7 ++++++ examples/access_policy_create.py | 3 ++- examples/sbom_release.py | 5 ++-- examples/scan_test.py | 4 ++-- functests/execaccess_policies.py | 3 ++- functests/execassets.py | 4 ++-- functests/execpublicassets.py | 4 ++-- unittests/testaccess_policies.py | 3 ++- unittests/testassetsconstants.py | 40 ++++++++++++++++---------------- unittests/testrunner.py | 5 ++-- unittests/testrunnerassets.py | 9 +++---- 12 files changed, 51 insertions(+), 46 deletions(-) diff --git a/archivist/assets.py b/archivist/assets.py index 4d21b68b..ef144ca1 100644 --- a/archivist/assets.py +++ b/archivist/assets.py @@ -30,6 +30,7 @@ from .asset import Asset from .constants import ( + ASSET_BEHAVIOURS, ASSETS_SUBPATH, ASSETS_LABEL, CONFIRMATION_STATUS, @@ -39,13 +40,6 @@ from .errors import ArchivistBadFieldError, ArchivistNotFoundError from .utils import selector_signature -# These are now hardcoded and not user-selectable. Eventually they will be removed from -# the backend API and removed from this package. -BEHAVIOURS = [ - "Attachments", - "RecordEvidence", -] - LOGGER = getLogger(__name__) @@ -140,7 +134,7 @@ def create( LOGGER.debug("Create Asset %s", attrs) # default behaviours are added first - any set in user-specified fixtures or # in the method args will overide... - newprops = _deepmerge({"behaviours": BEHAVIOURS}, props) + newprops = _deepmerge({"behaviours": ASSET_BEHAVIOURS}, props) data = self.__params(newprops, attrs) return self.create_from_data(data, confirm=confirm) diff --git a/archivist/constants.py b/archivist/constants.py index 98826b61..036761b7 100644 --- a/archivist/constants.py +++ b/archivist/constants.py @@ -7,6 +7,13 @@ SEP = "/" VERBSEP = ":" +# These are now hardcoded and not user-selectable. Eventually they will be removed from +# the backend API and removed from this package. +ASSET_BEHAVIOURS = [ + "Attachments", + "RecordEvidence", +] + # define in MIME canonical form HEADERS_REQUEST_TOTAL_COUNT = "X-Request-Total-Count" HEADERS_TOTAL_COUNT = "X-Total-Count" diff --git a/examples/access_policy_create.py b/examples/access_policy_create.py index afee3d82..8bb7f27d 100644 --- a/examples/access_policy_create.py +++ b/examples/access_policy_create.py @@ -10,6 +10,7 @@ from os import getenv from archivist.archivist import Archivist +from archivist.constants import ASSET_BEHAVIOURS def main(): @@ -64,7 +65,7 @@ def main(): { "asset_attributes_read": ["toner_colour", "toner_type"], "asset_attributes_write": ["toner_colour"], - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "event_arc_display_type_read": ["toner_type", "toner_colour"], "event_arc_display_type_write": ["toner_replacement"], "include_attributes": [ diff --git a/examples/sbom_release.py b/examples/sbom_release.py index 269fc4e3..62b0b32a 100644 --- a/examples/sbom_release.py +++ b/examples/sbom_release.py @@ -11,8 +11,7 @@ from warnings import filterwarnings from archivist.archivist import Archivist -from archivist.assets import BEHAVIOURS -from archivist.constants import SBOM_PACKAGE, SBOM_RELEASE +from archivist.constants import ASSET_BEHAVIOURS, SBOM_PACKAGE, SBOM_RELEASE from archivist.proof_mechanism import ProofMechanism from archivist.utils import get_auth @@ -43,7 +42,7 @@ def sbom_release(arch, release, sbom_filename): ], }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, diff --git a/examples/scan_test.py b/examples/scan_test.py index 7cd57556..d46d3464 100644 --- a/examples/scan_test.py +++ b/examples/scan_test.py @@ -9,7 +9,7 @@ from warnings import filterwarnings from archivist.archivist import Archivist -from archivist.assets import BEHAVIOURS +from archivist.constants import ASSET_BEHAVIOURS from archivist.proof_mechanism import ProofMechanism from archivist.utils import get_auth @@ -49,7 +49,7 @@ def scan_test(arch, datestring, scanned_expected=False): ], }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": asset_name, diff --git a/functests/execaccess_policies.py b/functests/execaccess_policies.py index 617939ab..c3f94b8a 100644 --- a/functests/execaccess_policies.py +++ b/functests/execaccess_policies.py @@ -8,6 +8,7 @@ from uuid import uuid4 from archivist.archivist import Archivist +from archivist.constants import ASSET_BEHAVIOURS from archivist.utils import get_auth # pylint: disable=fixme @@ -44,7 +45,7 @@ ACCESS_PERMISSIONS = [ { "subjects": [], - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "include_attributes": [ "arc_display_name", "arc_display_type", diff --git a/functests/execassets.py b/functests/execassets.py index db75d0c5..40a07ae8 100644 --- a/functests/execassets.py +++ b/functests/execassets.py @@ -9,7 +9,7 @@ from uuid import uuid4 from archivist.archivist import Archivist -from archivist.assets import BEHAVIOURS +from archivist.constants import ASSET_BEHAVIOURS from archivist.logger import set_logger from archivist.proof_mechanism import ProofMechanism from archivist.utils import get_auth @@ -39,7 +39,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, diff --git a/functests/execpublicassets.py b/functests/execpublicassets.py index 0bdf2ea9..c2f19e70 100644 --- a/functests/execpublicassets.py +++ b/functests/execpublicassets.py @@ -9,7 +9,7 @@ from unittest import TestCase from archivist.archivist import Archivist -from archivist.assets import BEHAVIOURS +from archivist.constants import ASSET_BEHAVIOURS from archivist.logger import set_logger from archivist.proof_mechanism import ProofMechanism from archivist.timestamp import now_timestamp @@ -40,7 +40,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, diff --git a/unittests/testaccess_policies.py b/unittests/testaccess_policies.py index 6b481dea..ddde1ed5 100644 --- a/unittests/testaccess_policies.py +++ b/unittests/testaccess_policies.py @@ -6,6 +6,7 @@ from archivist.archivist import Archivist from archivist.constants import ( + ASSET_BEHAVIOURS, ROOT, HEADERS_REQUEST_TOTAL_COUNT, HEADERS_TOTAL_COUNT, @@ -54,7 +55,7 @@ "subjects/6a951b62-0a26-4c22-a886-1082297b063b", "subjects/a24306e5-dc06-41ba-a7d6-2b6b3e1df48d", ], - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "include_attributes": [ "arc_display_name", "arc_display_type", diff --git a/unittests/testassetsconstants.py b/unittests/testassetsconstants.py index 6717c4f0..655f5174 100644 --- a/unittests/testassetsconstants.py +++ b/unittests/testassetsconstants.py @@ -5,8 +5,8 @@ from unittest import TestCase from archivist.archivist import Archivist -from archivist.assets import BEHAVIOURS from archivist.constants import ( + ASSET_BEHAVIOURS, ASSETS_LABEL, ASSETS_SUBPATH, ATTACHMENTS_LABEL, @@ -91,7 +91,7 @@ ], } REQUEST = { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_firmware_version": "1.0", @@ -109,7 +109,7 @@ } REQUEST_KWARGS = { "json": { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_firmware_version": "1.0", @@ -132,7 +132,7 @@ } RESPONSE = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_firmware_version": "1.0", "arc_serial_number": "vtl-x4-07", @@ -159,7 +159,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -173,7 +173,7 @@ } REQUEST_EXISTS_KWARGS = { "json": { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -192,7 +192,7 @@ } RESPONSE_EXISTS = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_display_name": ASSET_NAME, "arc_namespace": "namespace", @@ -216,7 +216,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -236,7 +236,7 @@ } REQUEST_EXISTS_KWARGS_ATTACHMENTS = { "json": { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -272,7 +272,7 @@ } RESPONSE_EXISTS_ATTACHMENTS = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_namespace": "namespace", "arc_firmware_version": "1.0", @@ -307,7 +307,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -342,7 +342,7 @@ } REQUEST_EXISTS_KWARGS_LOCATION = { "json": { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -362,7 +362,7 @@ } RESPONSE_EXISTS_LOCATION = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_display_name": ASSET_NAME, "arc_namespace": "namespace", @@ -400,7 +400,7 @@ ] }, ], - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": { "arc_display_name": ASSET_NAME, @@ -419,7 +419,7 @@ # --------------- REQUEST_FIXTURES = { - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "proof_mechanism": ProofMechanism.SIMPLE_HASH.name, "attributes": ATTRS_FIXTURES, } @@ -433,30 +433,30 @@ RESPONSE_FIXTURES = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": ATTRS_FIXTURES, "confirmation_status": "CONFIRMED", } RESPONSE_NO_ATTACHMENTS = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": ATTRS_NO_ATTACHMENTS, "confirmation_status": "CONFIRMED", } RESPONSE_NO_CONFIRMATION = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": ATTRS, } RESPONSE_PENDING = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": ATTRS, "confirmation_status": "PENDING", } RESPONSE_FAILED = { "identity": IDENTITY, - "behaviours": BEHAVIOURS, + "behaviours": ASSET_BEHAVIOURS, "attributes": ATTRS, "confirmation_status": "FAILED", } diff --git a/unittests/testrunner.py b/unittests/testrunner.py index d9fa16da..0de2a0c0 100644 --- a/unittests/testrunner.py +++ b/unittests/testrunner.py @@ -13,6 +13,7 @@ from archivist.archivist import Archivist from archivist.assets import Asset +from archivist.constants import ASSET_BEHAVIOURS from archivist.logger import set_logger from archivist.runner import tree @@ -30,7 +31,7 @@ "radiation_level": 0, "weight": 0, }, - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "confirmation_status": "CONFIRMED", "identity": ASSET_ID, } @@ -41,7 +42,7 @@ "radiation_level": 0, "weight": 0, }, - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "confirmation_status": "CONFIRMED", "identity": ASSET_ID, } diff --git a/unittests/testrunnerassets.py b/unittests/testrunnerassets.py index ca712596..c8574bf4 100644 --- a/unittests/testrunnerassets.py +++ b/unittests/testrunnerassets.py @@ -13,6 +13,7 @@ from archivist.archivist import Archivist from archivist.assets import Asset +from archivist.constants import ASSET_BEHAVIOURS from archivist.errors import ArchivistInvalidOperationError from archivist.events import Event from archivist.logger import set_logger @@ -25,7 +26,7 @@ ASSET_ID = "assets/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ASSET_NAME = "radiation bag 1" ASSETS_CREATE_ARGS = { - "behaviours": ["RecordEvidence", "Attachments"], + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_display_name": ASSET_NAME, "radioactive": True, @@ -43,7 +44,7 @@ "selector": { "attributes.arc_display_name", }, - "behaviours": ["RecordEvidence", "Attachments"], + "behaviours": ASSET_BEHAVIOURS, "attributes": { "arc_display_name": ASSET_NAME, "radioactive": True, @@ -59,7 +60,7 @@ "radiation_level": 0, "weight": 0, }, - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "confirmation_status": "CONFIRMED", "identity": ASSET_ID, } @@ -70,7 +71,7 @@ "radiation_level": 0, "weight": 0, }, - "behaviours": ["Attachments", "RecordEvidence"], + "behaviours": ASSET_BEHAVIOURS, "confirmation_status": "CONFIRMED", "identity": ASSET_ID, }