)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"4f490ffeeeede99b50740be72fafdcfd947adfe6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ade Lee \u003calee@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-16 15:08:31 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Initial commit for certificate-order-api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds the basic framework for validation code needed"},{"line_number":10,"context_line":"for the common cert API.  Note that there is a slight change to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a961159_d8170c53","line":7,"updated":"2014-12-17 05:48:58.000000000","message":"Sorry to nitpick on a commit msg but can we not call this \"Initial commit\" as a short message (these are super useful if someone to track down a bug to revert). Something like Add validation for certificate-order-api would be a lot more helpful.","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"}],"barbican/common/exception.py":[{"author":{"_account_id":6783,"name":"Nathan Reller","email":"nathan.s.reller@gmail.com","username":"rellerreller"},"change_message_id":"19fe9923a5a06f4e1ee03fb95e5ac9d1851001ed","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class InvalidSubjectDN(BarbicanException):"},{"line_number":68,"context_line":"    message \u003d u._(\"Invalid subject DN.\")"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class InvalidContainer(BarbicanException):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_86ede590","line":68,"updated":"2015-01-05 17:49:52.000000000","message":"Would you want to display the input DN back to the user in the error message?","commit_id":"ac3bf660796410503bd088c6981663a4f201db47"}],"barbican/common/validators.py":[{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"4f490ffeeeede99b50740be72fafdcfd947adfe6","unresolved":false,"context_lines":[{"line_number":350,"context_line":"                              u._(\"\u0027meta\u0027 attributes is required\"), \"meta\")"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        request_type \u003d certificate_meta.get(\"request_type\", \"custom\")"},{"line_number":353,"context_line":"        if request_type \u003d\u003d \"simple-cmc\":"},{"line_number":354,"context_line":"            self._validate_simple_cmc_request(certificate_meta)"},{"line_number":355,"context_line":"        elif request_type \u003d\u003d \"full-cmc\":"},{"line_number":356,"context_line":"            self._validate_full_cmc_request(certificate_meta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_9c1c9f15","line":353,"updated":"2014-12-17 05:48:58.000000000","message":"Nitpick but its actually not hard to make a jump table in python:\n\n{\"full-cmc\": self.full_cmc_request, ...}[request_type](certificate_meta)\n\nNot important, but if you wanted to get rid of a big if block ;)","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"45e2d46a6684b0e7bd0fe7d365acc7b379171b4d","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            raise exception.InvalidCertificateRequestType(request_type)"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    def _validate_simple_cmc_request(self, certificate_meta):"},{"line_number":365,"context_line":"        \"\"\"Validates simple CMC (which are PKCS10 requests).\"\"\""},{"line_number":366,"context_line":"        request_data \u003d self._get_required_metadata_value("},{"line_number":367,"context_line":"            certificate_meta, \"request_data\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_112f9189","line":364,"updated":"2014-12-18 00:57:21.000000000","message":"It might be time to create a \u0027validators\u0027 package under \u0027common\u0027, and then move validators.py into it, and put these calls into certificates.py?","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"451d2f4a8566f64b45dd7c3dbc9529251250e908","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            raise exception.InvalidCertificateRequestType(request_type)"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    def _validate_simple_cmc_request(self, certificate_meta):"},{"line_number":365,"context_line":"        \"\"\"Validates simple CMC (which are PKCS10 requests).\"\"\""},{"line_number":366,"context_line":"        request_data \u003d self._get_required_metadata_value("},{"line_number":367,"context_line":"            certificate_meta, \"request_data\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0b3e6029","line":364,"in_reply_to":"3a961159_112f9189","updated":"2015-01-05 17:22:07.000000000","message":"Lets do this in a separate CR?  Arvind had specified some other refactoring of the validators that might want to tackle there.","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"45e2d46a6684b0e7bd0fe7d365acc7b379171b4d","unresolved":false,"context_lines":[{"line_number":391,"context_line":""},{"line_number":392,"context_line":"        We cannot do any validation here because the request"},{"line_number":393,"context_line":"        parameters are custom.  Validation will be done by the"},{"line_number":394,"context_line":"        plugin."},{"line_number":395,"context_line":"        \"\"\""},{"line_number":396,"context_line":"        pass"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_91a8e1dc","line":394,"updated":"2014-12-18 00:57:21.000000000","message":"Well, I\u0027m thinking we\u0027ll eventually need to locate a supporting plugin at this point, letting the supports() method raise validation errors as needed.","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"},{"author":{"_account_id":7262,"name":"John Vrbanac","email":"john.vrbanac@linux.com","username":"john.vrbanac"},"change_message_id":"bc6fd89d1d84525b674099ee36451099bff57d58","unresolved":false,"context_lines":[{"line_number":353,"context_line":"        jump_table[\u0027simple-cmc\u0027] \u003d self._validate_simple_cmc_request"},{"line_number":354,"context_line":"        jump_table[\u0027full-cmc\u0027] \u003d self._validate_full_cmc_request"},{"line_number":355,"context_line":"        jump_table[\u0027stored-key\u0027] \u003d self._validate_stored_key_request"},{"line_number":356,"context_line":"        jump_table[\u0027custom\u0027] \u003d self._validate_custom_request"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"        request_type \u003d certificate_meta.get(\"request_type\", \"custom\")"},{"line_number":359,"context_line":"        if request_type not in jump_table:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_a6c90127","line":356,"updated":"2015-01-05 17:48:35.000000000","message":"Wouldn\u0027t it be cleaner to define the dict in literal form? \n\n    jump_table \u003d {\n        \u0027simple-cmc\u0027: self._validate_simple_cmc_request,\n        ...\n    }","commit_id":"ac3bf660796410503bd088c6981663a4f201db47"}],"barbican/tests/common/test_validators.py":[{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"45e2d46a6684b0e7bd0fe7d365acc7b379171b4d","unresolved":false,"context_lines":[{"line_number":1030,"context_line":"        self._set_order()"},{"line_number":1031,"context_line":"        self.validator \u003d validators.TypeOrderValidator()"},{"line_number":1032,"context_line":""},{"line_number":1033,"context_line":"    def _set_order(self):"},{"line_number":1034,"context_line":"        self.order_req \u003d {\u0027type\u0027: self.type,"},{"line_number":1035,"context_line":"                          \u0027meta\u0027: self.meta}"},{"line_number":1036,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_7158d5fa","line":1033,"updated":"2014-12-18 00:57:21.000000000","message":"You don\u0027t need the _set_order() function and calls to it below...just add the \u0027self.order_req \u003d ...\u0027 lines below to the setUp() method above. You can change self.meta\u0027s dict after the fact in each of the test methods, and those changes will be \u0027visible\u0027 to self.order_req.","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"45e2d46a6684b0e7bd0fe7d365acc7b379171b4d","unresolved":false,"context_lines":[{"line_number":1073,"context_line":"                          self.order_req)"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":"    @testtools.skip(\"Not yet implemented\")"},{"line_number":1076,"context_line":"    def test_should_raise_with_missing_container(self):"},{"line_number":1077,"context_line":"        self.meta[\u0027container_ref\u0027] \u003d \u0027missing_container_ref\u0027"},{"line_number":1078,"context_line":"        self._set_order()"},{"line_number":1079,"context_line":"        self.assertRaises(excep.InvalidContainer,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_ac94a644","line":1076,"updated":"2014-12-18 00:57:21.000000000","message":"Some of these could be parameterized tests...please take a look at this example: https://github.com/openstack/barbican/blob/master/barbican/tests/plugin/util/test_translations.py#L92","commit_id":"5d686986df106a8308dc7e069bddc6a23ab7491e"}]}
