)]}'
{"tests/test_contrib_s3_core.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"57f4f3d2fbc1308f55cae70270e4f397d8167b0a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import unittest2 as unittest"},{"line_number":18,"context_line":"from keystone.contrib.s3.core import S3Controller"},{"line_number":19,"context_line":"from keystone import exception"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2F2H0%3D","line":17,"updated":"2012-12-12 21:41:42.000000000","message":"line break","commit_id":"e187743fff8ee061822a1fdd27c1fc4e2c3a7d53"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"57f4f3d2fbc1308f55cae70270e4f397d8167b0a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                       \u0027saWNhdGlvbi9vY3RldC1zdHJlYW0KVHVlLCAxMSBEZWMgMjAxM\u0027"},{"line_number":45,"context_line":"                       \u0027iAyMTo0MTo0MSBHTVQKL2NvbnRfczMvdXBsb2FkZWRfZnJ\u0027"},{"line_number":46,"context_line":"                       \u0027vbV9zMy50eHQ\u003d\u0027,"},{"line_number":47,"context_line":"                       \u0027signature\u0027: \u0027BADBOYBOBA\u0027}"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        self.assertRaises(exception.Unauthorized,"},{"line_number":50,"context_line":"                          self.controller.check_signature,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2F2IM%3D","line":47,"updated":"2012-12-12 21:41:42.000000000","message":"it\u0027s may be kind of obvious here, but can you use uuid.uuid4().hex to illustrate that \u0027signature\u0027 is getting an arbitrary value?","commit_id":"e187743fff8ee061822a1fdd27c1fc4e2c3a7d53"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"365034f7a14a2a1cb082ca93b02ba959aa281a7a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                       \u0027vbV9zMy50eHQ\u003d\u0027,"},{"line_number":37,"context_line":"                       \u0027signature\u0027: \u0027IL4QLcLVaYgylF9iHj6Wb8BGZsw\u003d\u0027}"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        self.assertTrue(self.controller.check_signature(creds_ref, credentials)"},{"line_number":40,"context_line":"                        is None)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_bad_signature(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1aA%3D","line":39,"updated":"2012-12-13 12:45:11.000000000","message":"unittest2 provides assertIsNone, as well","commit_id":"365e2b78bf78b7e5ab916b060db8df44fd8da6e6"}]}
