def create_object(self, obj_type, payload, return_fields=None): """Create an Infoblox object of type 'obj_type' Args: obj_type (str): Infoblox object type, e.g. 'network', 'range', etc. payload (dict): Payload with data to send return_fields (list): List of fields to be returned Returns: The object reference of the newly create object Raises: InfobloxException """ self._validate_obj_type_or_die(obj_type) query_params = self._build_query_params(return_fields=return_fields) url = self._construct_url(obj_type, query_params) opts = self._get_request_options(data=payload) r = self.session.post(url, **opts) self._validate_authorized(r) if r.status_code != requests.codes.CREATED: raise ib_ex.InfobloxCannotCreateObject( response=jsonutils.loads(r.content), obj_type=obj_type, content=r.content, args=payload, code=r.status_code) return jsonutils.loads(r.content)
def side_effect(*args, **kwargs): raise exceptions.InfobloxCannotCreateObject( response={'Error': 'Message'}, obj_type='object_type', content='hoge', args={}, code=400)
def create_object_mock(obj_type, payload, return_fields=None): if payload['name'] in allowed_eas: return payload else: raise exceptions.InfobloxCannotCreateObject( response='', obj_type='extensibleattributedef', content='', args={}, code=500)