)]}'
{"keystone/common/openssl.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                               \u0027cert_subject\u0027: conf_obj.cert_subject}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            # OpenSSL 1.0 and newer support default_md \u003d default, older do not"},{"line_number":67,"context_line":"            openssl_ver \u003d environment.subprocess.Popen("},{"line_number":68,"context_line":"                [\u0027openssl\u0027, \u0027version\u0027],"},{"line_number":69,"context_line":"                stdout\u003denvironment.subprocess.PIPE).stdout.read()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_c6ccd937","line":66,"updated":"2015-10-28 22:49:15.000000000","message":"I\u0027m not sure this is much better! Maybe say \"older versions\"","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                               \u0027cert_subject\u0027: conf_obj.cert_subject}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        try:"},{"line_number":66,"context_line":"            # OpenSSL 1.0 and newer support default_md \u003d default, older do not"},{"line_number":67,"context_line":"            openssl_ver \u003d environment.subprocess.Popen("},{"line_number":68,"context_line":"                [\u0027openssl\u0027, \u0027version\u0027],"},{"line_number":69,"context_line":"                stdout\u003denvironment.subprocess.PIPE).stdout.read()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_61def86e","line":66,"in_reply_to":"1a26ad4f_c6ccd937","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/identity/core.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        - Create a new config structure, adding in the specific additional"},{"line_number":157,"context_line":"          options defined in this config file"},{"line_number":158,"context_line":"        - Initialize a new instance of the required driver with this new config"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        \"\"\""},{"line_number":161,"context_line":"        conf_dir \u003d CONF.identity.domain_config_dir"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_46d9a9f2","line":158,"updated":"2015-10-28 22:49:15.000000000","message":"are we insisting on US spelling?","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        - Create a new config structure, adding in the specific additional"},{"line_number":157,"context_line":"          options defined in this config file"},{"line_number":158,"context_line":"        - Initialize a new instance of the required driver with this new config"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        \"\"\""},{"line_number":161,"context_line":"        conf_dir \u003d CONF.identity.domain_config_dir"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_013b849d","line":158,"in_reply_to":"1a26ad4f_46d9a9f2","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/tests/unit/test_backend.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":2065,"context_line":"        self.execute_assignment_test_plan(test_plan)"},{"line_number":2066,"context_line":""},{"line_number":2067,"context_line":"    def test_delete_domain_with_user_group_project_links(self):"},{"line_number":2068,"context_line":"        # TODO(chungg):add test case once expected behavior defined"},{"line_number":2069,"context_line":"        pass"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"    def test_add_user_to_project(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_069171f0","line":2068,"updated":"2015-10-28 22:49:15.000000000","message":"same comment about US spelling","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":2065,"context_line":"        self.execute_assignment_test_plan(test_plan)"},{"line_number":2066,"context_line":""},{"line_number":2067,"context_line":"    def test_delete_domain_with_user_group_project_links(self):"},{"line_number":2068,"context_line":"        # TODO(chungg):add test case once expected behavior defined"},{"line_number":2069,"context_line":"        pass"},{"line_number":2070,"context_line":""},{"line_number":2071,"context_line":"    def test_add_user_to_project(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_e13768ae","line":2068,"in_reply_to":"1a26ad4f_069171f0","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/tests/unit/test_backend_ldap.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":2940,"context_line":"        new_config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex}}"},{"line_number":2941,"context_line":"        self.domain_config_api.create_config("},{"line_number":2942,"context_line":"            CONF.identity.default_domain_id, new_config)"},{"line_number":2943,"context_line":"        # Trigger the identity backend to initialize any domain specific"},{"line_number":2944,"context_line":"        # configurations"},{"line_number":2945,"context_line":"        self.identity_api.list_users()"},{"line_number":2946,"context_line":"        # Check that the new config has not been passed to the driver for"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_26b10d90","line":2943,"updated":"2015-10-28 22:49:15.000000000","message":"us vs uk spelling","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":2940,"context_line":"        new_config \u003d {\u0027ldap\u0027: {\u0027url\u0027: uuid.uuid4().hex}}"},{"line_number":2941,"context_line":"        self.domain_config_api.create_config("},{"line_number":2942,"context_line":"            CONF.identity.default_domain_id, new_config)"},{"line_number":2943,"context_line":"        # Trigger the identity backend to initialize any domain specific"},{"line_number":2944,"context_line":"        # configurations"},{"line_number":2945,"context_line":"        self.identity_api.list_users()"},{"line_number":2946,"context_line":"        # Check that the new config has not been passed to the driver for"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_81c0f47d","line":2943,"in_reply_to":"1a26ad4f_26b10d90","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/tests/unit/test_cert_setup.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        with open(CONF.signing.ca_certs) as f:"},{"line_number":129,"context_line":"            self.assertEqual(f.read(), cacert_resp.text)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # NOTE(jamielennox): This is weird behavior that we need to enforce."},{"line_number":132,"context_line":"        # It doesn\u0027t matter what you ask for it\u0027s always going to give text"},{"line_number":133,"context_line":"        # with a text/html content_type."},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_867261e4","line":131,"updated":"2015-10-28 22:49:15.000000000","message":"us vs uk/aus spelling?","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        with open(CONF.signing.ca_certs) as f:"},{"line_number":129,"context_line":"            self.assertEqual(f.read(), cacert_resp.text)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # NOTE(jamielennox): This is weird behavior that we need to enforce."},{"line_number":132,"context_line":"        # It doesn\u0027t matter what you ask for it\u0027s always going to give text"},{"line_number":133,"context_line":"        # with a text/html content_type."},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_36fda43a","line":131,"in_reply_to":"1a26ad4f_867261e4","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"        Try scoping the token issued by an IdP which is disabled now. Expect"},{"line_number":1679,"context_line":"        server to refuse scoping operation."},{"line_number":1680,"context_line":""},{"line_number":1681,"context_line":"        This test confirms correct behavior when IdP was enabled and unscoped"},{"line_number":1682,"context_line":"        token was issued, but disabled before user tries to scope the token."},{"line_number":1683,"context_line":"        Here we assume the unscoped token was already issued and start from"},{"line_number":1684,"context_line":"        the moment where IdP is being disabled and unscoped token is being"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_c64ff990","line":1681,"updated":"2015-10-28 22:49:15.000000000","message":"us vs uk/aus spelling?","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"        Try scoping the token issued by an IdP which is disabled now. Expect"},{"line_number":1679,"context_line":"        server to refuse scoping operation."},{"line_number":1680,"context_line":""},{"line_number":1681,"context_line":"        This test confirms correct behavior when IdP was enabled and unscoped"},{"line_number":1682,"context_line":"        token was issued, but disabled before user tries to scope the token."},{"line_number":1683,"context_line":"        Here we assume the unscoped token was already issued and start from"},{"line_number":1684,"context_line":"        the moment where IdP is being disabled and unscoped token is being"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_561ce0c0","line":1681,"in_reply_to":"1a26ad4f_c64ff990","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":3447,"context_line":"        self._validate_service_providers(token, ref)"},{"line_number":3448,"context_line":""},{"line_number":3449,"context_line":"    def test_service_provides_in_token_disabled_sp(self):"},{"line_number":3450,"context_line":"        \"\"\"Test behavior with disabled service providers."},{"line_number":3451,"context_line":""},{"line_number":3452,"context_line":"        Disabled service providers should not be listed in the service"},{"line_number":3453,"context_line":"        catalog."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_067f31ab","line":3450,"updated":"2015-10-28 22:49:15.000000000","message":"us vs uk/aus spelling?","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":3447,"context_line":"        self._validate_service_providers(token, ref)"},{"line_number":3448,"context_line":""},{"line_number":3449,"context_line":"    def test_service_provides_in_token_disabled_sp(self):"},{"line_number":3450,"context_line":"        \"\"\"Test behavior with disabled service providers."},{"line_number":3451,"context_line":""},{"line_number":3452,"context_line":"        Disabled service providers should not be listed in the service"},{"line_number":3453,"context_line":"        catalog."}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_f6796cfd","line":3450,"in_reply_to":"1a26ad4f_067f31ab","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}],"keystone/token/providers/fernet/token_formatters.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        \"\"\""},{"line_number":305,"context_line":"        # TODO(lbragstad): Wrap this in an exception. Not sure what the case"},{"line_number":306,"context_line":"        # would be where we couldn\u0027t handle what we\u0027ve been given but encase"},{"line_number":307,"context_line":"        # the integrity of the token has been compromised."},{"line_number":308,"context_line":"        uuid_obj \u003d uuid.UUID(uuid_string)"},{"line_number":309,"context_line":"        return uuid_obj.bytes"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_465c494b","line":306,"updated":"2015-10-28 22:49:15.000000000","message":"is encase the right word here? I think the author meant \"in case\"","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        \"\"\""},{"line_number":305,"context_line":"        # TODO(lbragstad): Wrap this in an exception. Not sure what the case"},{"line_number":306,"context_line":"        # would be where we couldn\u0027t handle what we\u0027ve been given but encase"},{"line_number":307,"context_line":"        # the integrity of the token has been compromised."},{"line_number":308,"context_line":"        uuid_obj \u003d uuid.UUID(uuid_string)"},{"line_number":309,"context_line":"        return uuid_obj.bytes"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_d638f03f","line":306,"in_reply_to":"1a26ad4f_465c494b","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2d0eef69c09c3417fb517d7d7553d04cbe3df44b","unresolved":false,"context_lines":[{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        \"\"\""},{"line_number":319,"context_line":"        # TODO(lbragstad): Wrap this in an exception. Not sure what the case"},{"line_number":320,"context_line":"        # would be where we couldn\u0027t handle what we\u0027ve been given but encase"},{"line_number":321,"context_line":"        # the integrity of the token has been compromised."},{"line_number":322,"context_line":"        uuid_obj \u003d uuid.UUID(bytes\u003duuid_byte_string)"},{"line_number":323,"context_line":"        return uuid_obj.hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_e658f558","line":320,"updated":"2015-10-28 22:49:15.000000000","message":"ditto","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"21758f5f931fc8cbf17a163982d60f2075ba5133","unresolved":false,"context_lines":[{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        \"\"\""},{"line_number":319,"context_line":"        # TODO(lbragstad): Wrap this in an exception. Not sure what the case"},{"line_number":320,"context_line":"        # would be where we couldn\u0027t handle what we\u0027ve been given but encase"},{"line_number":321,"context_line":"        # the integrity of the token has been compromised."},{"line_number":322,"context_line":"        uuid_obj \u003d uuid.UUID(bytes\u003duuid_byte_string)"},{"line_number":323,"context_line":"        return uuid_obj.hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_162f48f7","line":320,"in_reply_to":"1a26ad4f_e658f558","updated":"2015-10-29 14:47:46.000000000","message":"Done","commit_id":"8251511e66c47b3896aa2c069284b1c68f1ab85c"}]}
