def test_advance_bucket_in_task_from_json(self, mock_conn): json_bucket = { "bucketName": "name", "filtering": { "prefixFiltering": { "prefix": "prefix1" } }, "resourcesTransformation": { "stripPrefix": { "prefix": "prefix2" } }, "cacheTTLSec": 1000 } json_task = { "name": "taskName", "shortname": "taskShortname", "profile": "profile", "instanceCount": 1, "runningCoreCount": None, "runningInstanceCount": None, "advancedResourceBuckets": [json_bucket], "creationDate": "2019-11-08T10:54:11Z", "uuid": "000", "state": "Submitted", } task = Task.from_json(mock_conn, json_task) task._auto_update = False assert "name" == task.resources[0].uuid assert "prefix1" == task.resources[0]._filtering._filters["prefixFiltering"].prefix assert "prefix2" == task.resources[0]._resources_transformation._resource_transformers["stripPrefix"].prefix assert 1000 == task.resources[0]._cache_ttl_sec
def tasks(self): """Get the list of tasks stored on this cluster for this user. :rtype: List of :class:`~qarnot.task.Task`. :returns: Tasks stored on the cluster owned by the user. :raises qarnot.exceptions.UnauthorizedException: invalid credentials :raises qarnot.exceptions.QarnotGenericException: API general error, see message for details """ response = self._get(get_url('tasks')) raise_on_error(response) return [Task.from_json(self, task) for task in response.json()]
def retrieve_task(self, uuid): """Retrieve a :class:`qarnot.task.Task` from its uuid :param str uuid: Desired task uuid :rtype: :class:`~qarnot.task.Task` :returns: Existing task defined by the given uuid :raises qarnot.exceptions.MissingTaskException: task does not exist :raises qarnot.exceptions.UnauthorizedException: invalid credentials :raises qarnot.exceptions.QarnotGenericException: API general error, see message for details """ response = self._get(get_url('task update', uuid=uuid)) if response.status_code == 404: raise MissingTaskException(response.json()['message']) raise_on_error(response) return Task.from_json(self, response.json())
def test_bucket_in_task_from_json(self, mock_conn): json_bucket = "bucket-name" json_task = { "name": "taskName", "shortname": "taskShortname", "profile": "profile", "instanceCount": 1, "runningCoreCount": None, "runningInstanceCount": None, "resourceBuckets": [json_bucket], "creationDate": "2019-11-08T10:54:11Z", "uuid": "000", "state": "Submitted", } task = Task.from_json(mock_conn, json_task) task._auto_update = False assert "bucket-name" == task.resources[0].uuid