def mock_get_transfer_appliance_helper(ctx, from_json, id, appliance_lbl): if appliance_lbl == 'XA-test-1': return Response(200, {}, TransferAppliance(transfer_job_id='test-job-id', label='XA-test-1', serial_number='test-serial-no-1', lifecycle_state='PREPARING', upload_status_log_uri='fakepath/upload_summary1.txt'), Request("mock.method", "mock.url")) else: return Response(200, {}, TransferAppliance(transfer_job_id='test-job-id', label='XA-test-2', serial_number='test-serial-no-2', lifecycle_state='PREPARING', upload_status_log_uri='fakepath/upload_summary2.txt'), Request("mock.method", "mock.url"))
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 mock_get_bucket(namespace_name, bucket_name): return Response( 200, {}, Bucket(namespace="test-namespace", compartment_id="test-compartment-id", name="test-bucket-name", storage_tier=OBJECT_STORAGE_BUCKET_TYPE_ARCHIVE), Request("mock.method", "mock.url"))
def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None, body=None, response_type=None, enforce_content_headers=True): """ Makes the HTTP request and return the deserialized data. :param resource_path: Path to the resource (e.g. /instance) :param method: HTTP method :param path_params: (optional) Path parameters in the url. :param query_params: (optional) Query parameters in the url. :param header_params: (optional) Request header params. :param body: (optional) Request body. :param response_type: (optional) Response data type. :param enforce_content_headers: (optional) Whether content headers should be added for PUT and POST requests when not present. Defaults to True. :return: A Response object, or throw in the case of an error. """ if path_params is not None: for k, v in path_params.items(): replacement = six.moves.urllib.parse.quote(v) resource_path = resource_path.\ replace('{' + k + '}', replacement) response = self.pool_manager.request( method, '{}{}{}'.format(self._endpoint, self._base_path, resource_path), body=json.dumps(body), headers=header_params) request = Request(method=method, url=self._endpoint + self._base_path + resource_path, query_params=query_params, header_params=header_params, body=body, response_type=response_type, enforce_content_headers=enforce_content_headers) if not 200 <= response.status <= 299: raise exceptions.ServiceError(response.status, None, response.headers, str(response.data), original_request=request) data = response.data try: data = json.loads(response.data.decode("utf-8")) except Exception as e: pass return Response(response.status, dict(response.getheaders()), data, request)
def mock_get_transfer_job_helper(ctx, from_json, id): return Response( 200, {}, TransferJob(id='test-job-id', compartment_id='test-compartment-id', label='test-transfer-job', device_type='APPLIANCE', lifecycle_state='PREPARING', attached_transfer_appliance_labels=[ 'XA-test-1', 'XA_test-2' ], upload_bucket_name='test-bucket'), Request("mock.method", "mock.url"))
def get_transfer_appliance_entitlement_extended(ctx, **kwargs): list_kwargs = { 'opc_request_id': cli_util.use_or_generate_request_id(ctx.obj['request_id']) } client = cli_util.build_client('transfer_appliance_entitlement', ctx) compartment_id = kwargs['compartment_id'] entitlements_list = client.list_transfer_appliance_entitlement(compartment_id=compartment_id, **list_kwargs) if len(entitlements_list.data) < 1: raise exceptions.RequestException( "Unable to find Transfer Appliance Entitlement in compartment {}".format(compartment_id)) # The entitlement ID can be None when the entitlement was created in let's say PHX but accessed from IAD if entitlements_list.data[0].id is None: custom_response = Response(200, {}, entitlements_list.data[0], None) cli_util.render_response(custom_response, ctx) else: kwargs['id'] = entitlements_list.data[0].id del kwargs['compartment_id'] ctx.invoke(transferapplianceentitlement_cli.get_transfer_appliance_entitlement, **kwargs)
def method_side_effect(**kwargs): return Response(v[0], v[1], v[2], Request("mock.method", "mock.url"))
def mock_get_namespace(): return Response(200, {}, "test-namespace", Request("mock.method", "mock.url"))