コード例 #1
0
ファイル: webservice.py プロジェクト: MustWin/congress
    def create(cls, error):
        """Generate a DataModelException from an existing CongressException.

        :param error has a 'name' field corresponding to an error_codes
        error-name.  It may also have a 'data' field.
        Returns a DataModelException properly populated.
        """
        name = getattr(error, "name", None)
        if name:
            error_code = error_codes.get_num(name)
            description = error_codes.get_desc(name)
            http_status_code = error_codes.get_http(name)
        else:
            # Check if it's default http error or else return 'Unknown error'
            error_code = error.code or httplib.BAD_REQUEST
            if error_code not in httplib.responses:
                error_code = httplib.BAD_REQUEST
            description = httplib.responses.get(error_code, "Unknown error")
            http_status_code = error_code

        if str(error):
            description += "::" + str(error)
        return cls(error_code=error_code,
                   description=description,
                   data=getattr(error, 'data', None),
                   http_status_code=http_status_code)
コード例 #2
0
    def create(cls, error):
        """Generate a DataModelException from an existing CongressException.

        :param error has a 'name' field corresponding to an error_codes
        error-name.  It may also have a 'data' field.
        Returns a DataModelException properly populated.
        """
        name = getattr(error, "name", None)
        if name:
            error_code = error_codes.get_num(name)
            description = error_codes.get_desc(name)
            http_status_code = error_codes.get_http(name)
        else:
            # Check if it's default http error or else return 'Unknown error'
            error_code = error.code or httplib.BAD_REQUEST
            if error_code not in httplib.responses:
                error_code = httplib.BAD_REQUEST
            description = httplib.responses.get(error_code, "Unknown error")
            http_status_code = error_code

        if str(error):
            description += "::" + original_msg(error)
        return cls(error_code=error_code,
                   description=description,
                   data=getattr(error, 'data', None),
                   http_status_code=http_status_code)
コード例 #3
0
ファイル: webservice.py プロジェクト: venkatamahesh/congress
    def create(cls, error):
        """Generate a DataModelException from an existing CongressException.

        :param error has a 'name' field corresponding to an error_codes
        error-name.  It may also have a 'data' field.
        Returns a DataModelException properly populated.
        """
        name = getattr(error, "name", error_codes.UNKNOWN)
        description = error_codes.get_desc(name)
        if str(error):
            description += "::" + str(error)
        return cls(error_code=error_codes.get_num(name),
                   description=description,
                   data=getattr(error, 'data', None),
                   http_status_code=error_codes.get_http(name))
コード例 #4
0
ファイル: test_policy_model.py プロジェクト: MustWin/congress
 def test_add_item_with_long_abbreviation(self):
     test = {
         "name": "test",
         "description": "test description",
         "kind": "nonrecursive",
         "abbreviation": "123456"
     }
     try:
         self.policy_model.add_item(test, {})
         self.fail("DataModelException should been raised.")
     except webservice.DataModelException as e:
         error_key = 'policy_abbreviation_error'
         self.assertEqual(error_codes.get_num(error_key), e.error_code)
         self.assertEqual(error_codes.get_desc(error_key), e.description)
         self.assertEqual(error_codes.get_http(error_key),
                          e.http_status_code)
コード例 #5
0
ファイル: test_policy_model.py プロジェクト: yo-iura/congress
 def test_add_item_with_long_abbreviation(self):
     test = {
         "name": "test",
         "description": "test description",
         "kind": "nonrecursive",
         "abbreviation": "123456"
     }
     try:
         self.policy_model.add_item(test, {})
         self.fail("DataModelException should been raised.")
     except webservice.DataModelException as e:
         error_key = 'policy_abbreviation_error'
         self.assertEqual(error_codes.get_num(error_key), e.error_code)
         self.assertEqual(error_codes.get_desc(error_key), e.description)
         self.assertEqual(error_codes.get_http(error_key),
                          e.http_status_code)
コード例 #6
0
    def test_get_error_code(self):
        name = 'fake-error'
        error_codes.errors = {
            "fake-error": (0000, 'This is a fake error code.', 400)
        }
        expected_num = 0000
        expected_desc = 'This is a fake error code.'
        expected_http = 400
        expected_ret = (expected_num, expected_desc)

        ret = error_codes.get(name)
        self.assertEqual(expected_ret, ret)

        num = error_codes.get_num(name)
        self.assertEqual(expected_num, num)

        desc = error_codes.get_desc(name)
        self.assertEqual(expected_desc, desc)

        http = error_codes.get_http(name)
        self.assertEqual(expected_http, http)
コード例 #7
0
    def test_get_error_code(self):
        name = 'fake-error'
        error_codes.errors = {
            "fake-error": (0000, 'This is a fake error code.', 400)
        }
        expected_num = 0000
        expected_desc = 'This is a fake error code.'
        expected_http = 400
        expected_ret = (expected_num, expected_desc)

        ret = error_codes.get(name)
        self.assertEqual(expected_ret, ret)

        num = error_codes.get_num(name)
        self.assertEqual(expected_num, num)

        desc = error_codes.get_desc(name)
        self.assertEqual(expected_desc, desc)

        http = error_codes.get_http(name)
        self.assertEqual(expected_http, http)
コード例 #8
0
    def test_get_unknown__error_code(self):
        name = 'fake_error_code'
        error_codes.errors = {
            error_codes.UNKNOWN: (0000, 'Unknown error', 400),
            'fake-error': (1000, 'Fake error', 404)
        }
        expected_num = 0000
        expected_desc = 'Unknown error'
        expected_http = 400
        expected_ret = (expected_num, expected_desc)

        ret = error_codes.get(name)
        self.assertEqual(expected_ret, ret)

        num = error_codes.get_num(name)
        self.assertEqual(expected_num, num)

        desc = error_codes.get_desc(name)
        self.assertEqual(expected_desc, desc)

        http = error_codes.get_http(name)
        self.assertEqual(expected_http, http)
コード例 #9
0
    def test_get_unknown__error_code(self):
        name = 'fake_error_code'
        error_codes.errors = {
            error_codes.UNKNOWN: (0000, 'Unknown error', 400),
            'fake-error': (1000, 'Fake error', 404)
        }
        expected_num = 0000
        expected_desc = 'Unknown error'
        expected_http = 400
        expected_ret = (expected_num, expected_desc)

        ret = error_codes.get(name)
        self.assertEqual(expected_ret, ret)

        num = error_codes.get_num(name)
        self.assertEqual(expected_num, num)

        desc = error_codes.get_desc(name)
        self.assertEqual(expected_desc, desc)

        http = error_codes.get_http(name)
        self.assertEqual(expected_http, http)