def list_objects_side_effect(namespace, bucket, prefix, start, end, fields): response = Response(200, {}, ListObjects(), {}) if start == "start_object": objects = [ ObjectSummary(name="first_object", size=10, md5="abc123", time_created=datetime.datetime.now(), etag="tag1") ] response.data.next_start_with = "second_object" elif start == "start_empty_object": objects = [ ObjectSummary(name="first_object", size=10, md5="abc123", time_created=datetime.datetime.now(), etag="tag1") ] response.data.next_start_with = "second_empty_object" elif start == "second_empty_object": objects = [] else: objects = [ ObjectSummary(name="second_object", size=20, md5="def456", time_created=datetime.datetime.now(), etag="tag2") ] response.data.objects = objects return response
def setUp(self): self.test_specific_set = {} # When empty, all tests are run. # self.test_specific_set = {"appliance":["request"]} self.specific_arg_values = {"profile": "DEFAULT", "device-type": "APPLIANCE", "if-match": "True", "all": None, "wait": None, "rw": "True", "world": "True", "lifecycle-state": "CREATING", "test_defined_tag": '{"string1": "string", "string2": "string"}', "force": None, "debug": None, "setup-notifications": "True", "skip-upload-user-check": None} self.complex_data_defs = { "customer-shipping-address": { "required_params": ["addressee", "care-of", "address1", "city-or-locality", "state-or-region", "country", "zipcode", "phone-number", "email"], "optional_params": ["address2", "address3", "address4"] }, "freeform-tags": { "required_params": ["string1"], "optional_params": [] }, "defined-tags": { "required_params": ["test_defined_tag"], "optional_params": [] }, } self.job_subcommands = [ {"sub_command": "create", "required_params": ["compartment-id", "bucket", "display-name", "device-type"], "optional_params": ["defined-tags", "freeform-tags", "profile", "skip-upload-user-check"]}, {"sub_command": "show", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "update", "required_params": ["job-id"], "optional_params": ["defined-tags", "freeform-tags", "display-name"]}, {"sub_command": "delete", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "close", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "verify-upload-user-credentials", "required_params": ["bucket"], "optional_params": []}, {"sub_command": "change-compartment", "required_params": ["job-id", "compartment-id"], "optional_params": []}, {"sub_command": "setup-notifications", "required_params": ["job-id"], "optional_params": []} ] self.appliance_subcommands = [ {"sub_command": "request", "required_params": ["job-id", "addressee", "care-of", "address1", "city-or-locality", "state-province-region", "country", "zip-postal-code", "phone-number", "email"], "optional_params": ["address2", "address3", "address4"]}, {"sub_command": "show", "required_params": ["job-id", "appliance-label"], "optional_params": []}, {"sub_command": "list", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "get-passphrase", "required_params": ["job-id", "appliance-label"], "optional_params": []}, {"sub_command": "never-receive", "required_params": ["job-id", "appliance-label"], "optional_params": []}, {"sub_command": "cancel", "required_params": ["job-id", "appliance-label"], "optional_params": []}, {"sub_command": "delete", "required_params": ["job-id", "appliance-label"], "optional_params": []}, {"sub_command": "update-shipping-address", "required_params": ["job-id", "appliance-label", "addressee"], "optional_params": ["address2", "address3", "address4", "care-of", "address1", "city-or-locality", "state-province-region", "country", "zip-postal-code", "phone-number", "email"]}, {"sub_command": "setup-notifications", "required_params": ["appliance-label"], "optional_params": []} ] self.pa_subcommands = [ {"sub_command": "list", "required_params": [], "optional_params": []}, {"sub_command": "configure-encryption", "required_params": ["job-id", "appliance-label"], "optional_params": ["appliance-profile"]}, {"sub_command": "show", "required_params": [], "optional_params": ["appliance-profile"]}, {"sub_command": "unlock", "required_params": ["job-id", "appliance-label"], "optional_params": ["appliance-profile"]}, # {"sub_command": "finalize", # "required_params": ["job-id", "appliance-label"], # "optional_params": ["appliance-profile", "profile"], # "methods_to_side_effect": {}}, ] nfs_datasets = [{'name': '123', 'state': NfsDatasetInfo.STATE_ACTIVE, 'dataset_type': NfsDatasetInfo.DATASET_TYPE_NFS, 'nfs_export_details': None}] self.nfs_ds_subcommands = [ {"sub_command": "create", "required_params": ["name"], "optional_params": ["rw", "world", "ip", "subnet-mask-length", "appliance-profile"]}, {"sub_command": "set-export", "required_params": ["name", "rw", "world"], "optional_params": ["ip", "subnet-mask-length", "appliance-profile"]}, {"sub_command": "show", "required_params": ["name"], "optional_params": ["appliance-profile"]}, {"sub_command": "list", "required_params": [], "optional_params": ["appliance-profile"]}, {"sub_command": "delete", "required_params": ["name"], "optional_params": ["appliance-profile"]}, # {"sub_command": "activate", # "required_params": ["name"], # "optional_params": ["rw", "world", "ip", "subnet-mask-length", "appliance-profile"], # "methods_to_side_effect": {"mock_nfs_dataset_client": {"list_nfs_datasets": (200, {}, nfs_datasets)}}}, {"sub_command": "deactivate", "required_params": ["name"], "optional_params": ["appliance-profile"]}, # {"sub_command": "seal", # "required_params": [], # "optional_params": ["name", "appliance-profile"], # "methods_to_side_effect": {"mock_nfs_dataset_client": {"list_nfs_datasets": (200, {}, nfs_datasets)}}}, {"sub_command": "reopen", "required_params": ["name"], "optional_params": ["appliance-profile"]}, {"sub_command": "seal-status", "required_params": ["name"], "optional_params": ["appliance-profile"]}, {"sub_command": "get-seal-manifest", "required_params": ["name", "output-file"], "optional_params": ["appliance-profile"]}, ] list_objects = ListObjects() list_objects.objects = [ ObjectSummary(name="first_object", size=20, md5="def456", time_created=datetime.datetime.now(), etag="tag1")] headers = {'etag': 'etag', 'opc-multipart-md5': 'md5', 'opc-content-md5': 'md5'} self.export_job_subcommands = [ {"sub_command": "create", "required_params": ["compartment-id", "bucket-name", "display-name", "addressee", "care-of", "address1", "city-or-locality", "state-province-region", "country", "zip-postal-code", "phone-number", "email"], "optional_params": ["freeform-tags", "defined-tags", "address2", "address3", "address4", "setup-notifications"], "methods_to_side_effect": { "mock_prompt_for_emails": "'*****@*****.**'"}}, {"sub_command": "change-compartment", "required_params": ["compartment-id", "job-id"], "optional_params": ["if-match"]}, {"sub_command": "delete", "required_params": ["job-id"], "optional_params": ["if-match", "force"]}, {"sub_command": "show", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "get-passphrase", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "list", "required_params": ["compartment-id"], "optional_params": ["lifecycle-state", "display-name", "page", "page-size"]}, {"sub_command": "update", "required_params": ["job-id"], "optional_params": ["display-name", "manifest-file", "freeform-tags", "defined-tags", "if-match", "force", "care-of", "address1", "address2", "address3", "address4", "city-or-locality", "state-province-region", "country", "zip-postal-code", "phone-number", "email", "addressee"]}, # {"sub_command": "generate-manifest", # "required_params": ["job-id", "compartment-id", "bucket"], # "optional_params": ["prefix", "start", "end"], # "methods_to_side_effect": { # "mock_os_client": { # "list_objects": (200, headers, list_objects), # "put_object": (200, headers, list_objects), # "upload_part": (200, headers, list_objects), # "commit_multipart_upload": (200, headers, list_objects)}}}, {"sub_command": "request-appliance", "required_params": ["job-id"], "optional_params": []}, {"sub_command": "create-policy", "required_params": ["job-id"], "optional_params": []}, ] entitlement = TransferApplianceEntitlementSummary() entitlement.id = '123' entitlements = [entitlement] self.entitlement_subcommands = [ {"sub_command": "request-entitlement", "required_params": ["compartment-id", "name", "email"], "optional_params": []}, {"sub_command": "show-entitlement", "required_params": ["compartment-id"], "optional_params": [], "methods_to_side_effect": { "mock_client": {"list_transfer_appliance_entitlement": (200, {}, entitlements)}}}, ] self.command_defs = [ {"command": "job", "sub_commands": self.job_subcommands}, {"command": "appliance", "sub_commands": self.appliance_subcommands}, {"command": "physical-appliance", "sub_commands": self.pa_subcommands}, {"command": "nfs-dataset", "sub_commands": self.nfs_ds_subcommands}, {"command": "appliance", "sub_commands": self.entitlement_subcommands}, {"command": "export", "sub_commands": self.export_job_subcommands}, ] self.success_count = 0 self.failed_count = 0 self.skipped_count = 0 self.failure_msg_list = []