)]}'
{"keystone/resource/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"61874c522cdc66dfd89f4ce628e1db57854833cb","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    @controller.protected()"},{"line_number":149,"context_line":"    def create_domain_config("},{"line_number":150,"context_line":"            self, context, domain_id, group, option, config):"},{"line_number":151,"context_line":"        ref \u003d self.domain_config_api.create_config("},{"line_number":152,"context_line":"            domain_id, config, group, option)"},{"line_number":153,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba7be1f8_3f850907","line":150,"updated":"2015-03-03 07:56:26.000000000","message":"place config before group and option, this way it\u0027s consistent with the manager","commit_id":"e7b1e47994c734d1fc20cb7f85c5fdec0d9bcdcc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"010cb2de250ec6f19ea30ac3b4c2889a22059fdf","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    @controller.protected()"},{"line_number":149,"context_line":"    def create_domain_config("},{"line_number":150,"context_line":"            self, context, domain_id, group, option, config):"},{"line_number":151,"context_line":"        ref \u003d self.domain_config_api.create_config("},{"line_number":152,"context_line":"            domain_id, config, group, option)"},{"line_number":153,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba7be1f8_2005d379","line":150,"in_reply_to":"ba7be1f8_3f850907","updated":"2015-03-03 16:02:24.000000000","message":"Done","commit_id":"e7b1e47994c734d1fc20cb7f85c5fdec0d9bcdcc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"61874c522cdc66dfd89f4ce628e1db57854833cb","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @controller.protected()"},{"line_number":173,"context_line":"    def update_domain_config("},{"line_number":174,"context_line":"            self, context, domain_id, group, option, config):"},{"line_number":175,"context_line":"        ref \u003d self.domain_config_api.update_config("},{"line_number":176,"context_line":"            domain_id, config, group, option)"},{"line_number":177,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba7be1f8_bf701941","line":174,"updated":"2015-03-03 07:56:26.000000000","message":"place config before group and option","commit_id":"e7b1e47994c734d1fc20cb7f85c5fdec0d9bcdcc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"010cb2de250ec6f19ea30ac3b4c2889a22059fdf","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    @controller.protected()"},{"line_number":173,"context_line":"    def update_domain_config("},{"line_number":174,"context_line":"            self, context, domain_id, group, option, config):"},{"line_number":175,"context_line":"        ref \u003d self.domain_config_api.update_config("},{"line_number":176,"context_line":"            domain_id, config, group, option)"},{"line_number":177,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"}],"source_content_type":"text/x-python","patch_set":15,"id":"ba7be1f8_805cbf7e","line":174,"in_reply_to":"ba7be1f8_bf701941","updated":"2015-03-03 16:02:24.000000000","message":"Done","commit_id":"e7b1e47994c734d1fc20cb7f85c5fdec0d9bcdcc"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    def create_domain_config(self, context, domain_id, config):"},{"line_number":154,"context_line":"        ref \u003d self.domain_config_api.create_config(domain_id, config)"},{"line_number":155,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":156,"context_line":"                                    status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @controller.protected()"},{"line_number":159,"context_line":"    def get_domain_config(self, context, domain_id, group\u003dNone, option\u003dNone):"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_af521811","line":156,"updated":"2015-03-04 22:36:02.000000000","message":"a 201 Created response should have a Location header, see http://tools.ietf.org/html/rfc2616#section-10.2.2","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    def create_domain_config(self, context, domain_id, config):"},{"line_number":154,"context_line":"        ref \u003d self.domain_config_api.create_config(domain_id, config)"},{"line_number":155,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":156,"context_line":"                                    status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @controller.protected()"},{"line_number":159,"context_line":"    def get_domain_config(self, context, domain_id, group\u003dNone, option\u003dNone):"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_dbfe2a6b","line":156,"in_reply_to":"9a80dd14_af521811","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        ref \u003d self.domain_config_api.update_config("},{"line_number":167,"context_line":"            domain_id, config, group, option)"},{"line_number":168,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":169,"context_line":"                                    status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":172,"context_line":"        option \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_cc359a47","line":169,"updated":"2015-03-04 22:36:02.000000000","message":"update should return 200 OK.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        ref \u003d self.domain_config_api.update_config("},{"line_number":167,"context_line":"            domain_id, config, group, option)"},{"line_number":168,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":169,"context_line":"                                    status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":172,"context_line":"        option \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_20cab74f","line":169,"in_reply_to":"9a80dd14_cc359a47","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":172,"context_line":"        option \u003d None"},{"line_number":173,"context_line":"        return self.update_domain_config("},{"line_number":174,"context_line":"            context, domain_id, config, group, option)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def update_domain_config_only(self, context, domain_id, config):"},{"line_number":177,"context_line":"        option \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_ac094697","line":174,"updated":"2015-03-04 22:36:02.000000000","message":"suggest use option\u003dNone instead.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":172,"context_line":"        option \u003d None"},{"line_number":173,"context_line":"        return self.update_domain_config("},{"line_number":174,"context_line":"            context, domain_id, config, group, option)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def update_domain_config_only(self, context, domain_id, config):"},{"line_number":177,"context_line":"        option \u003d None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_dbd1cace","line":174,"in_reply_to":"9a80dd14_ac094697","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        option \u003d None"},{"line_number":178,"context_line":"        group \u003d None"},{"line_number":179,"context_line":"        return self.update_domain_config("},{"line_number":180,"context_line":"            context, domain_id, config, group, option)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    @controller.protected()"},{"line_number":183,"context_line":"    def delete_domain_config("}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_ccfe7a6b","line":180,"updated":"2015-03-04 22:36:02.000000000","message":"suggest use group\u003dNone, option\u003dNone instead.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        option \u003d None"},{"line_number":178,"context_line":"        group \u003d None"},{"line_number":179,"context_line":"        return self.update_domain_config("},{"line_number":180,"context_line":"            context, domain_id, config, group, option)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    @controller.protected()"},{"line_number":183,"context_line":"    def delete_domain_config("}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_1bdb62ee","line":180,"in_reply_to":"9a80dd14_ccfe7a6b","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @controller.protected()"},{"line_number":183,"context_line":"    def delete_domain_config("},{"line_number":184,"context_line":"            self, context, domain_id, group\u003dNone, option\u003dNone):"},{"line_number":185,"context_line":"        return self.domain_config_api.delete_config(domain_id, group, option)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"@dependency.requires(\u0027resource_api\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_8f12b4b2","line":185,"updated":"2015-03-04 22:36:02.000000000","message":"why does this return something?","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    @controller.protected()"},{"line_number":183,"context_line":"    def delete_domain_config("},{"line_number":184,"context_line":"            self, context, domain_id, group\u003dNone, option\u003dNone):"},{"line_number":185,"context_line":"        return self.domain_config_api.delete_config(domain_id, group, option)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"@dependency.requires(\u0027resource_api\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_00b693d9","line":185,"in_reply_to":"9a80dd14_8f12b4b2","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            # Return status code 200, since config already existed"},{"line_number":159,"context_line":"            return wsgi.render_response(body\u003d{self.member_name: ref})"},{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            ref[\u0027links\u0027] \u003d {\u0027self\u0027: \u0027/domains/%s/config\u0027 % domain_id}"},{"line_number":162,"context_line":"            return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":163,"context_line":"                                        status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_8e84ed5e","line":161,"updated":"2015-03-08 09:21:53.000000000","message":"...actually I don\u0027t think we should be adding the link (config is not an entity).... if people think we should, then we need to change the spec!","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4c630d50cb6cd9daf637c059a1c0a3fa2e788402","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            ref[\u0027links\u0027] \u003d {\u0027self\u0027: \u0027/domains/%s/config\u0027 % domain_id}"},{"line_number":162,"context_line":"            return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":163,"context_line":"                                        status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @controller.protected()"},{"line_number":166,"context_line":"    def get_domain_config(self, context, domain_id, group\u003dNone, option\u003dNone):"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_6869b6bd","line":163,"updated":"2015-03-06 20:39:32.000000000","message":"a 201 Created response should have a Location header, see http://tools.ietf.org/html/rfc2616#section-10.2.2","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            ref[\u0027links\u0027] \u003d {\u0027self\u0027: \u0027/domains/%s/config\u0027 % domain_id}"},{"line_number":162,"context_line":"            return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":163,"context_line":"                                        status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @controller.protected()"},{"line_number":166,"context_line":"    def get_domain_config(self, context, domain_id, group\u003dNone, option\u003dNone):"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_6eb41935","line":163,"in_reply_to":"9a80dd14_6869b6bd","updated":"2015-03-08 09:21:53.000000000","message":"I agree that\u0027s what the spec days......but do we actually do that for any of the entities we create? I couldn\u0027t see that we do.","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"9012cfef1b688b7ffa2264f14627b2de36d7c872","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        else:"},{"line_number":161,"context_line":"            ref[\u0027links\u0027] \u003d {\u0027self\u0027: \u0027/domains/%s/config\u0027 % domain_id}"},{"line_number":162,"context_line":"            return wsgi.render_response(body\u003d{self.member_name: ref},"},{"line_number":163,"context_line":"                                        status\u003d(\u0027201\u0027, \u0027Created\u0027))"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    @controller.protected()"},{"line_number":166,"context_line":"    def get_domain_config(self, context, domain_id, group\u003dNone, option\u003dNone):"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_1fc3c589","line":163,"in_reply_to":"9a80dd14_6eb41935","updated":"2015-03-09 14:37:22.000000000","message":"Since none of our APIs do this right now, I\u0027ll work on this a separate item","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"7d47be1cad83799f6df1b869f2ea914391be199d","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            domain_id, config, group, option)"},{"line_number":175,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref})"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":178,"context_line":"        return self.update_domain_config("},{"line_number":179,"context_line":"            context, domain_id, config, group, option\u003dNone)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_14567506","line":177,"updated":"2015-03-06 14:27:05.000000000","message":"more a question to understand the design: why this call and the following one not controller.protected? this wouldn\u0027t cause anyone to be able to perform these actions?","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":8533,"name":"Marcos Fermín Lobo","email":"lobo@lukos.org","username":"mlobo"},"change_message_id":"1d2ce8b91de4d8ba177eeb3a141206f837880774","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            domain_id, config, group, option)"},{"line_number":175,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref})"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":178,"context_line":"        return self.update_domain_config("},{"line_number":179,"context_line":"            context, domain_id, config, group, option\u003dNone)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_6a250a08","line":177,"in_reply_to":"9a80dd14_14567506","updated":"2015-03-06 15:07:42.000000000","message":"I have the same question","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"a36a994a2a07c67e9957cc496828a5bb685d258a","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            domain_id, config, group, option)"},{"line_number":175,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref})"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":178,"context_line":"        return self.update_domain_config("},{"line_number":179,"context_line":"            context, domain_id, config, group, option\u003dNone)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_78a8528d","line":177,"in_reply_to":"9a80dd14_152e5343","updated":"2015-03-09 07:15:02.000000000","message":"hmm didn\u0027t know the protection would pass, thanks for the clarification","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            domain_id, config, group, option)"},{"line_number":175,"context_line":"        return wsgi.render_response(body\u003d{self.member_name: ref})"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def update_domain_config_group(self, context, domain_id, group, config):"},{"line_number":178,"context_line":"        return self.update_domain_config("},{"line_number":179,"context_line":"            context, domain_id, config, group, option\u003dNone)"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_152e5343","line":177,"in_reply_to":"9a80dd14_6a250a08","updated":"2015-03-08 09:21:53.000000000","message":"so we do want update to be be protected - and since this calls update_domain_config (which IS protected), then this is achieved. I\u0027m not sure there is much an advantage in separately protection the group (and option) versions directly.","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"}],"keystone/resource/routers.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":64,"context_line":"            patch_action\u003d\u0027update_domain_config_group\u0027,"},{"line_number":65,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":66,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_group\u0027),"},{"line_number":67,"context_line":"            path_vars\u003d{"},{"line_number":68,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":69,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_4fbefc00","line":66,"updated":"2015-03-04 22:36:02.000000000","message":"this relationship isn\u0027t mentioned in the spec.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":64,"context_line":"            patch_action\u003d\u0027update_domain_config_group\u0027,"},{"line_number":65,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":66,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_group\u0027),"},{"line_number":67,"context_line":"            path_vars\u003d{"},{"line_number":68,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":69,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_92f482f3","line":66,"in_reply_to":"9a80dd14_4fbefc00","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":76,"context_line":"            patch_action\u003d\u0027update_domain_config\u0027,"},{"line_number":77,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":78,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_option\u0027),"},{"line_number":79,"context_line":"            path_vars\u003d{"},{"line_number":80,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":81,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027),"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_cf410c0d","line":78,"updated":"2015-03-04 22:36:02.000000000","message":"this relationship isn\u0027t mentioned in the spec.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":76,"context_line":"            patch_action\u003d\u0027update_domain_config\u0027,"},{"line_number":77,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":78,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_option\u0027),"},{"line_number":79,"context_line":"            path_vars\u003d{"},{"line_number":80,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":81,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027),"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_52ea0a10","line":78,"in_reply_to":"9a80dd14_cf410c0d","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_option\u0027),"},{"line_number":79,"context_line":"            path_vars\u003d{"},{"line_number":80,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":81,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027),"},{"line_number":82,"context_line":"                \u0027option\u0027: json_home.build_v3_parameter_relation("},{"line_number":83,"context_line":"                    \u0027config_option\u0027)"},{"line_number":84,"context_line":"            })"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_cfdd8c44","line":81,"updated":"2015-03-04 22:36:02.000000000","message":"a variable should be created so it can be shared with the other use of config_group at line 69.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config_option\u0027),"},{"line_number":79,"context_line":"            path_vars\u003d{"},{"line_number":80,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":81,"context_line":"                \u0027group\u0027: json_home.build_v3_parameter_relation(\u0027config_group\u0027),"},{"line_number":82,"context_line":"                \u0027option\u0027: json_home.build_v3_parameter_relation("},{"line_number":83,"context_line":"                    \u0027config_option\u0027)"},{"line_number":84,"context_line":"            })"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_325116d9","line":81,"in_reply_to":"9a80dd14_cfdd8c44","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4c630d50cb6cd9daf637c059a1c0a3fa2e788402","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":66,"context_line":"            patch_action\u003d\u0027update_domain_config_group\u0027,"},{"line_number":67,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":68,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":69,"context_line":"            path_vars\u003d{"},{"line_number":70,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":71,"context_line":"                \u0027group\u0027: confg_group_param"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_48aa32d5","line":68,"updated":"2015-03-06 20:39:32.000000000","message":"I don\u0027t think it\u0027s going to work to have the same relationship for different paths? It\u0027s actually better to have a different relationships for different paths (i.e., it was right before, just need to update the spec).","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":66,"context_line":"            patch_action\u003d\u0027update_domain_config_group\u0027,"},{"line_number":67,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":68,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":69,"context_line":"            path_vars\u003d{"},{"line_number":70,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":71,"context_line":"                \u0027group\u0027: confg_group_param"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_6e8b3968","line":68,"in_reply_to":"9a80dd14_48aa32d5","updated":"2015-03-08 09:21:53.000000000","message":"Done","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4c630d50cb6cd9daf637c059a1c0a3fa2e788402","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":78,"context_line":"            patch_action\u003d\u0027update_domain_config\u0027,"},{"line_number":79,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":80,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":81,"context_line":"            path_vars\u003d{"},{"line_number":82,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":83,"context_line":"                \u0027group\u0027: confg_group_param,"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_88ab4ad5","line":80,"updated":"2015-03-06 20:39:32.000000000","message":"same comment here.","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            get_head_action\u003d\u0027get_domain_config\u0027,"},{"line_number":78,"context_line":"            patch_action\u003d\u0027update_domain_config\u0027,"},{"line_number":79,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":80,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":81,"context_line":"            path_vars\u003d{"},{"line_number":82,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID,"},{"line_number":83,"context_line":"                \u0027group\u0027: confg_group_param,"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_8eeb0d12","line":80,"in_reply_to":"9a80dd14_88ab4ad5","updated":"2015-03-08 09:21:53.000000000","message":"Done","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e5d591139c2f51acc25d6fced18989e507891b1e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID"},{"line_number":58,"context_line":"            })"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        confg_group_param \u003d ("},{"line_number":61,"context_line":"            json_home.build_v3_parameter_relation(\u0027config_group\u0027))"},{"line_number":62,"context_line":"        self._add_resource("},{"line_number":63,"context_line":"            mapper, config_controller,"}],"source_content_type":"text/x-python","patch_set":28,"id":"9a80dd14_3a741735","line":60,"updated":"2015-03-08 22:46:55.000000000","message":"change \"confg\" to \"config\"","commit_id":"92c676df7dfa39edfccf934682d7ac70e5959d44"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"e398467ff6245216dc5810d41b5bcd02b92cea62","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID"},{"line_number":58,"context_line":"            })"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        confg_group_param \u003d ("},{"line_number":61,"context_line":"            json_home.build_v3_parameter_relation(\u0027config_group\u0027))"},{"line_number":62,"context_line":"        self._add_resource("},{"line_number":63,"context_line":"            mapper, config_controller,"}],"source_content_type":"text/x-python","patch_set":28,"id":"9a80dd14_bccf1055","line":60,"in_reply_to":"9a80dd14_3a741735","updated":"2015-03-09 14:38:06.000000000","message":"I\u0027ll come back in and fix this at a later date, if that\u0027s ok","commit_id":"92c676df7dfa39edfccf934682d7ac70e5959d44"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0f05b75082cdc86aec5f9d42907cc4d7183cb8f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID"},{"line_number":58,"context_line":"            })"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        confg_group_param \u003d ("},{"line_number":61,"context_line":"            json_home.build_v3_parameter_relation(\u0027config_group\u0027))"},{"line_number":62,"context_line":"        self._add_resource("},{"line_number":63,"context_line":"            mapper, config_controller,"}],"source_content_type":"text/x-python","patch_set":28,"id":"9a80dd14_3c1960d7","line":60,"in_reply_to":"9a80dd14_bccf1055","updated":"2015-03-09 14:40:47.000000000","message":"that\u0027s ok with me.","commit_id":"92c676df7dfa39edfccf934682d7ac70e5959d44"}],"keystone/tests/unit/test_v3_domain_config.py":[{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"7d34bac65c6a6ee10caa6a0350f6789d505645c9","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self.config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":34,"context_line":"                                \u0027user_tree_dn\u0027: uuid.uuid4().hex},"},{"line_number":35,"context_line":"                       \u0027identity\u0027: {\u0027driver\u0027: uuid.uuid4().hex}}"},{"line_number":36,"context_line":"        self.config_sensitive \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":37,"context_line":"                                          \u0027user_tree_dn\u0027: uuid.uuid4().hex,"},{"line_number":38,"context_line":"                                          \u0027password\u0027: uuid.uuid4().hex},"},{"line_number":39,"context_line":"                                 \u0027identity\u0027: {\u0027driver\u0027: uuid.uuid4().hex}}"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba7be1f8_e95ac7f0","line":36,"updated":"2015-03-03 16:29:12.000000000","message":"Remove this, since it is not used.","commit_id":"c8ff86de0a648b9ea8f12553c76fee202b54f7bc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"c110c56416cb9f7aec3a2e9e2d10738845d9c1e2","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        self.config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":34,"context_line":"                                \u0027user_tree_dn\u0027: uuid.uuid4().hex},"},{"line_number":35,"context_line":"                       \u0027identity\u0027: {\u0027driver\u0027: uuid.uuid4().hex}}"},{"line_number":36,"context_line":"        self.config_sensitive \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":37,"context_line":"                                          \u0027user_tree_dn\u0027: uuid.uuid4().hex,"},{"line_number":38,"context_line":"                                          \u0027password\u0027: uuid.uuid4().hex},"},{"line_number":39,"context_line":"                                 \u0027identity\u0027: {\u0027driver\u0027: uuid.uuid4().hex}}"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba7be1f8_6c17c545","line":36,"in_reply_to":"ba7be1f8_e95ac7f0","updated":"2015-03-03 16:47:30.000000000","message":"Done","commit_id":"c8ff86de0a648b9ea8f12553c76fee202b54f7bc"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class DomainConfigTestCase(test_v3.RestfulTestCase):"},{"line_number":26,"context_line":"    \"\"\"Test database domain config support.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(DomainConfigTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_8fdd5417","line":26,"updated":"2015-03-04 22:36:02.000000000","message":"remove \"database\"... these tests shouldn\u0027t care which backend is used.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class DomainConfigTestCase(test_v3.RestfulTestCase):"},{"line_number":26,"context_line":"    \"\"\"Test database domain config support.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(DomainConfigTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_60f2ef9b","line":26,"in_reply_to":"9a80dd14_8fdd5417","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.put(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":54,"context_line":"            \u0027domain_id\u0027: self.domain[\u0027id\u0027]},"},{"line_number":55,"context_line":"            body\u003d{\u0027config\u0027: self.config},"},{"line_number":56,"context_line":"            expected_status\u003d201)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def test_delete_config(self):"},{"line_number":59,"context_line":"        \"\"\"Call ``DELETE /domains{domain_id}/config``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_4ff27c9b","line":56,"updated":"2015-03-04 22:36:02.000000000","message":"This should have returned 200 since the resource already existed.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.put(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":54,"context_line":"            \u0027domain_id\u0027: self.domain[\u0027id\u0027]},"},{"line_number":55,"context_line":"            body\u003d{\u0027config\u0027: self.config},"},{"line_number":56,"context_line":"            expected_status\u003d201)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def test_delete_config(self):"},{"line_number":59,"context_line":"        \"\"\"Call ``DELETE /domains{domain_id}/config``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_9259e200","line":56,"in_reply_to":"9a80dd14_4ff27c9b","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.assertNotIn(\u0027ldap\u0027, res)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def test_get_config(self):"},{"line_number":76,"context_line":"        \"\"\"Call ``GET /domains{domain_id}/config``.\"\"\""},{"line_number":77,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":78,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":79,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_af369801","line":76,"updated":"2015-03-04 22:36:02.000000000","message":"there should also be tests for HEAD","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.assertNotIn(\u0027ldap\u0027, res)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def test_get_config(self):"},{"line_number":76,"context_line":"        \"\"\"Call ``GET /domains{domain_id}/config``.\"\"\""},{"line_number":77,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":78,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":79,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_32a67654","line":76,"in_reply_to":"9a80dd14_af369801","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":85,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config/ldap\u0027 % {"},{"line_number":86,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"},{"line_number":87,"context_line":"        self.assertEqual({\u0027ldap\u0027: self.config[\u0027ldap\u0027]}, r.result[\u0027config\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_get_config_by_option(self):"},{"line_number":90,"context_line":"        \"\"\"Call ``GET /domains{domain_id}/config/group/option``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_efa41059","line":87,"updated":"2015-03-04 22:36:02.000000000","message":"there should be a test for a group that doesn\u0027t exist.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":85,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config/ldap\u0027 % {"},{"line_number":86,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"},{"line_number":87,"context_line":"        self.assertEqual({\u0027ldap\u0027: self.config[\u0027ldap\u0027]}, r.result[\u0027config\u0027])"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_get_config_by_option(self):"},{"line_number":90,"context_line":"        \"\"\"Call ``GET /domains{domain_id}/config/group/option``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_95ac6ca2","line":87,"in_reply_to":"9a80dd14_efa41059","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config/ldap/url\u0027 % {"},{"line_number":93,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"},{"line_number":94,"context_line":"        self.assertEqual({\u0027url\u0027: self.config[\u0027ldap\u0027][\u0027url\u0027]},"},{"line_number":95,"context_line":"                         r.result[\u0027config\u0027])"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def test_update_config(self):"},{"line_number":98,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_cfb66c8a","line":95,"updated":"2015-03-04 22:36:02.000000000","message":"there should be a test for an option that doesn\u0027t exist.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        r \u003d self.get(\u0027/domains/%(domain_id)s/config/ldap/url\u0027 % {"},{"line_number":93,"context_line":"                     \u0027domain_id\u0027: self.domain[\u0027id\u0027]})"},{"line_number":94,"context_line":"        self.assertEqual({\u0027url\u0027: self.config[\u0027ldap\u0027][\u0027url\u0027]},"},{"line_number":95,"context_line":"                         r.result[\u0027config\u0027])"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def test_update_config(self):"},{"line_number":98,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config``.\"\"\""}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_55a2f4ae","line":95,"in_reply_to":"9a80dd14_cfb66c8a","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        r \u003d self.patch(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":103,"context_line":"            \u0027domain_id\u0027: self.domain[\u0027id\u0027]},"},{"line_number":104,"context_line":"            body\u003d{\u0027config\u0027: new_config},"},{"line_number":105,"context_line":"            expected_status\u003d201)"},{"line_number":106,"context_line":"        res \u003d self.domain_config_api.get_config(self.domain[\u0027id\u0027])"},{"line_number":107,"context_line":"        expected_config \u003d copy.deepcopy(self.config)"},{"line_number":108,"context_line":"        expected_config[\u0027ldap\u0027][\u0027url\u0027] \u003d new_config[\u0027ldap\u0027][\u0027url\u0027]"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_cf44ac76","line":105,"updated":"2015-03-04 22:36:02.000000000","message":"why 201 and not 200? what was created?","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        r \u003d self.patch(\u0027/domains/%(domain_id)s/config\u0027 % {"},{"line_number":103,"context_line":"            \u0027domain_id\u0027: self.domain[\u0027id\u0027]},"},{"line_number":104,"context_line":"            body\u003d{\u0027config\u0027: new_config},"},{"line_number":105,"context_line":"            expected_status\u003d201)"},{"line_number":106,"context_line":"        res \u003d self.domain_config_api.get_config(self.domain[\u0027id\u0027])"},{"line_number":107,"context_line":"        expected_config \u003d copy.deepcopy(self.config)"},{"line_number":108,"context_line":"        expected_config[\u0027ldap\u0027][\u0027url\u0027] \u003d new_config[\u0027ldap\u0027][\u0027url\u0027]"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_32683687","line":105,"in_reply_to":"9a80dd14_cf44ac76","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        self.assertEqual(expected_config, res)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_update_config_group(self):"},{"line_number":115,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config/group``.\"\"\""},{"line_number":116,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":117,"context_line":"        new_config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":118,"context_line":"                               \u0027user_filter\u0027: uuid.uuid4().hex}}"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_2f22a8b9","line":115,"updated":"2015-03-04 22:36:02.000000000","message":"change \"group\" to \"{group}\"\n\nthere should be tests for PATCH where the group doesn\u0027t exist.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        self.assertEqual(expected_config, res)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_update_config_group(self):"},{"line_number":115,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config/group``.\"\"\""},{"line_number":116,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":117,"context_line":"        new_config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex,"},{"line_number":118,"context_line":"                               \u0027user_filter\u0027: uuid.uuid4().hex}}"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_04ba020a","line":115,"in_reply_to":"9a80dd14_2f22a8b9","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"00508f0c4f8cbfe9173fab6b68ec56ffcbf2afb2","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        self.assertEqual(expected_config, res)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_update_config_option(self):"},{"line_number":132,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config/group/option``.\"\"\""},{"line_number":133,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":134,"context_line":"        new_config \u003d {\u0027url\u0027: uuid.uuid4().hex}"},{"line_number":135,"context_line":"        r \u003d self.patch(\u0027/domains/%(domain_id)s/config/ldap/url\u0027 % {"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_8f18f485","line":132,"updated":"2015-03-04 22:36:02.000000000","message":"change \"group\" to \"{group}\" and \"option\" to \"{option}\"\n\nalso, there should be a test for PATCH where the option doesn\u0027t exist.","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"fa28bfb503338d86b5b8f22166395f2e0260ca8d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        self.assertEqual(expected_config, res)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_update_config_option(self):"},{"line_number":132,"context_line":"        \"\"\"Call ``PATCH /domains/{domain_id}/config/group/option``.\"\"\""},{"line_number":133,"context_line":"        self.domain_config_api.create_config(self.domain[\u0027id\u0027], self.config)"},{"line_number":134,"context_line":"        new_config \u003d {\u0027url\u0027: uuid.uuid4().hex}"},{"line_number":135,"context_line":"        r \u003d self.patch(\u0027/domains/%(domain_id)s/config/ldap/url\u0027 % {"}],"source_content_type":"text/x-python","patch_set":24,"id":"9a80dd14_f5904850","line":132,"in_reply_to":"9a80dd14_8f18f485","updated":"2015-03-06 08:38:09.000000000","message":"Done","commit_id":"e40ca7a6f2bfe9ac3e13bb0782cf8481bb4d1786"}],"keystone/tests/unit/test_versions.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4c630d50cb6cd9daf637c059a1c0a3fa2e788402","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \u0027/domains/{domain_id}/config\u0027,"},{"line_number":496,"context_line":"        \u0027href-vars\u0027: {"},{"line_number":497,"context_line":"            \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID}},"},{"line_number":498,"context_line":"    json_home.build_v3_resource_relation(\u0027domain_config\u0027): {"},{"line_number":499,"context_line":"        \u0027href-template\u0027:"},{"line_number":500,"context_line":"        \u0027/domains/{domain_id}/config/{group}\u0027,"},{"line_number":501,"context_line":"        \u0027href-vars\u0027: {"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_083cba92","line":498,"updated":"2015-03-06 20:39:32.000000000","message":"I think this is just going to replace the one that was already there.","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"de86a339cf7a9c7cc57b0d06f5ee0b699779f50c","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \u0027/domains/{domain_id}/config\u0027,"},{"line_number":496,"context_line":"        \u0027href-vars\u0027: {"},{"line_number":497,"context_line":"            \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID}},"},{"line_number":498,"context_line":"    json_home.build_v3_resource_relation(\u0027domain_config\u0027): {"},{"line_number":499,"context_line":"        \u0027href-template\u0027:"},{"line_number":500,"context_line":"        \u0027/domains/{domain_id}/config/{group}\u0027,"},{"line_number":501,"context_line":"        \u0027href-vars\u0027: {"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a80dd14_aef0d1fe","line":498,"in_reply_to":"9a80dd14_083cba92","updated":"2015-03-08 09:21:53.000000000","message":"Done","commit_id":"15ab89e98e108732707cb81b39b4a266c660e4d9"}]}
