def create(values, **kwargs): """ .. function:: XML-RPC TestCase.create(values) Create a new TestCase object and store it in the database. :param values: Field values for :class:`tcms.testcases.models.TestCase` :type values: dict :return: Serialized :class:`tcms.testcases.models.TestCase` object :rtype: dict :raises: PermissionDenied if missing *testcases.add_testcase* permission Minimal test case parameters:: >>> values = { 'category': 135, 'product': 61, 'summary': 'Testing XML-RPC', 'priority': 1, } >>> TestCase.create(values) """ request = kwargs.get(REQUEST_KEY) if not (values.get('author') or values.get('author_id')): values['author'] = request.user.pk form = NewForm(values) if form.is_valid(): test_case = form.save() else: raise ValueError(form_errors_to_list(form)) return test_case.serialize()
def create(values, **kwargs): """ .. function:: RPC TestCase.create(values) Create a new TestCase object and store it in the database. :param values: Field values for :class:`tcms.testcases.models.TestCase` :type values: dict :param kwargs: Dict providing access to the current request, protocol entry point name and handler instance from the rpc method :return: Serialized :class:`tcms.testcases.models.TestCase` object :rtype: dict :raises ValueError: if form is not valid :raises PermissionDenied: if missing *testcases.add_testcase* permission Minimal test case parameters:: >>> values = { 'category': 135, 'product': 61, 'summary': 'Testing XML-RPC', 'priority': 1, } >>> TestCase.create(values) """ request = kwargs.get(REQUEST_KEY) if not (values.get("author") or values.get("author_id")): values["author"] = request.user.pk form = NewForm(values) if form.is_valid(): test_case = form.save() result = model_to_dict(test_case, exclude=["component", "plan", "tag"]) # b/c date is added in the DB layer and model_to_dict() doesn't return it result["create_date"] = test_case.create_date result["setup_duration"] = str(result["setup_duration"]) result["testing_duration"] = str(result["testing_duration"]) return result raise ValueError(form_errors_to_list(form))
def create(values, **kwargs): """ .. function:: RPC TestCase.create(values) Create a new TestCase object and store it in the database. :param values: Field values for :class:`tcms.testcases.models.TestCase` :type values: dict :param kwargs: Dict providing access to the current request, protocol entry point name and handler instance from the rpc method :return: Serialized :class:`tcms.testcases.models.TestCase` object :rtype: dict :raises ValueError: if form is not valid :raises PermissionDenied: if missing *testcases.add_testcase* permission Minimal test case parameters:: >>> values = { 'category': 135, 'product': 61, 'summary': 'Testing XML-RPC', 'priority': 1, } >>> TestCase.create(values) """ request = kwargs.get(REQUEST_KEY) if not (values.get("author") or values.get("author_id")): values["author"] = request.user.pk form = NewForm(values) if form.is_valid(): test_case = form.save() else: raise ValueError(form_errors_to_list(form)) return test_case.serialize()