)]}'
{"keystone/tests/unit/token/test_fernet_provider.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"class TestFernet(tests.TestCase):"},{"line_number":36,"context_line":"    def setUp(self):"},{"line_number":37,"context_line":"        super(TestFernet, self).setUp()"},{"line_number":38,"context_line":"        self.useFixture(ksfixtures.KeyRepository(self.config_fixture))"},{"line_number":39,"context_line":"        self.provider \u003d fernet.Provider()"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1cb703f6","line":38,"updated":"2015-06-17 17:59:03.000000000","message":"I don\u0027t think you want to use this base class. It creates an instance of the fixture that is never used. You actually should create an instance of the fixture in the \u0027for\u0027 loop of the test.","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"class TestFernetKeyRotation(TestFernet):"},{"line_number":342,"context_line":"    def fernet_reset(self):"},{"line_number":343,"context_line":"        directory \u003d tempfile.mkdtemp()"},{"line_number":344,"context_line":"        self.addCleanup(shutil.rmtree, directory)"},{"line_number":345,"context_line":"        self.config_fixture.config(group\u003d\u0027fernet_tokens\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_5cf02bfe","line":342,"updated":"2015-06-17 17:59:03.000000000","message":"So we are basically writing 51 directories during this test?","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"class TestFernetKeyRotation(TestFernet):"},{"line_number":342,"context_line":"    def fernet_reset(self):"},{"line_number":343,"context_line":"        directory \u003d tempfile.mkdtemp()"},{"line_number":344,"context_line":"        self.addCleanup(shutil.rmtree, directory)"},{"line_number":345,"context_line":"        self.config_fixture.config(group\u003d\u0027fernet_tokens\u0027,"},{"line_number":346,"context_line":"                                   key_repository\u003ddirectory)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_5c334bab","line":343,"updated":"2015-06-17 17:59:03.000000000","message":"Why do all of this work why you can just create the fixture each time?","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b8eb4c4a305363757bd263ac0960c70314bf17c8","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    def test_rotation(self):"},{"line_number":360,"context_line":"        # Initializing a key repository results in this many keys. We don\u0027t"},{"line_number":361,"context_line":"        # support max_active_keys being set any lower."},{"line_number":362,"context_line":"        min_active_keys \u003d 2"},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"        # Simulate every rotation strategy up to \"rotating once a week while"},{"line_number":365,"context_line":"        # maintaining a year\u0027s worth of keys.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_3fe0bc95","line":362,"updated":"2015-06-17 17:25:45.000000000","message":"+1, nice comment.","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"        # Simulate every rotation strategy up to \"rotating once a week while"},{"line_number":365,"context_line":"        # maintaining a year\u0027s worth of keys.\""},{"line_number":366,"context_line":"        for max_active_keys in xrange(min_active_keys, 52 + 1):"},{"line_number":367,"context_line":"            self.config_fixture.config(group\u003d\u0027fernet_tokens\u0027,"},{"line_number":368,"context_line":"                                       max_active_keys\u003dmax_active_keys)"},{"line_number":369,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_9aceb62b","line":366,"updated":"2015-06-17 17:59:03.000000000","message":"No xrange in Py3","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":374,"context_line":""},{"line_number":375,"context_line":"            # Rotate the keys just enough times to fully populate the key"},{"line_number":376,"context_line":"            # repository."},{"line_number":377,"context_line":"            for rotation in xrange(max_active_keys - min_active_keys):"},{"line_number":378,"context_line":"                self.fernet_rotate()"},{"line_number":379,"context_line":"            self.assertEqual(max_active_keys, self.key_repository_size)"},{"line_number":380,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_daef5e85","line":377,"updated":"2015-06-17 17:59:03.000000000","message":"Same here","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"24afc9c6309d578653d5127ba91a20817f4bc9d5","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Rotate an additional number of times to ensure that we maintain"},{"line_number":382,"context_line":"            # the desired number of active keys."},{"line_number":383,"context_line":"            for rotation in xrange(10):"},{"line_number":384,"context_line":"                self.fernet_rotate()"},{"line_number":385,"context_line":"                self.assertEqual(self.key_repository_size, max_active_keys)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_baea9a72","line":383,"updated":"2015-06-17 17:59:03.000000000","message":"and here","commit_id":"048e4167cebcd4dec648c0ebcea50bf487affffb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"fb832c334021109f572e7cc69c22b58bf3b7f1bd","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import datetime"},{"line_number":14,"context_line":"import os"},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":"import uuid"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_utils import timeutils"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_82ef28e8","line":15,"updated":"2015-06-17 18:36:17.000000000","message":"six is a third-party and not a stdlib module","commit_id":"0dfd6890a89f174fef0098fd23265fd75314c4e1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d174a7944269c4fc16ac597e3584dbf891e969bc","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import datetime"},{"line_number":14,"context_line":"import os"},{"line_number":15,"context_line":"import six"},{"line_number":16,"context_line":"import uuid"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_utils import timeutils"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_c5fbfabf","line":15,"in_reply_to":"fa32b979_82ef28e8","updated":"2015-06-17 18:51:26.000000000","message":"Done","commit_id":"0dfd6890a89f174fef0098fd23265fd75314c4e1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c39d55178d66c23564b7246d6eddfdd3bf48e1a6","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        # Simulate every rotation strategy up to \"rotating once a week while"},{"line_number":350,"context_line":"        # maintaining a year\u0027s worth of keys.\""},{"line_number":351,"context_line":"        for max_active_keys in six.moves.range(min_active_keys, 52 + 1):"},{"line_number":352,"context_line":"            self.config_fixture.config(group\u003d\u0027fernet_tokens\u0027,"},{"line_number":353,"context_line":"                                       max_active_keys\u003dmax_active_keys)"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_83db03ed","line":351,"updated":"2015-06-22 19:28:02.000000000","message":"use range(), no need to complicate this with six.","commit_id":"a422444fc4bb56e65cc4cc3fda8cf0f13cc079a5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c39d55178d66c23564b7246d6eddfdd3bf48e1a6","unresolved":false,"context_lines":[{"line_number":359,"context_line":""},{"line_number":360,"context_line":"            # Rotate the keys just enough times to fully populate the key"},{"line_number":361,"context_line":"            # repository."},{"line_number":362,"context_line":"            for rotation in six.moves.range(max_active_keys - min_active_keys):"},{"line_number":363,"context_line":"                fernet_utils.rotate_keys()"},{"line_number":364,"context_line":"            self.assertEqual(max_active_keys, self.key_repository_size)"},{"line_number":365,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_4393bbfa","line":362,"updated":"2015-06-22 19:28:02.000000000","message":"use range(), no need to complicate this with six.","commit_id":"a422444fc4bb56e65cc4cc3fda8cf0f13cc079a5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c39d55178d66c23564b7246d6eddfdd3bf48e1a6","unresolved":false,"context_lines":[{"line_number":360,"context_line":"            # Rotate the keys just enough times to fully populate the key"},{"line_number":361,"context_line":"            # repository."},{"line_number":362,"context_line":"            for rotation in six.moves.range(max_active_keys - min_active_keys):"},{"line_number":363,"context_line":"                fernet_utils.rotate_keys()"},{"line_number":364,"context_line":"            self.assertEqual(max_active_keys, self.key_repository_size)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"            # Rotate an additional number of times to ensure that we maintain"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_0363731b","line":363,"updated":"2015-06-22 19:28:02.000000000","message":"could add a check for the # keys inside the loop, too.","commit_id":"a422444fc4bb56e65cc4cc3fda8cf0f13cc079a5"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c39d55178d66c23564b7246d6eddfdd3bf48e1a6","unresolved":false,"context_lines":[{"line_number":365,"context_line":""},{"line_number":366,"context_line":"            # Rotate an additional number of times to ensure that we maintain"},{"line_number":367,"context_line":"            # the desired number of active keys."},{"line_number":368,"context_line":"            for rotation in six.moves.range(10):"},{"line_number":369,"context_line":"                fernet_utils.rotate_keys()"},{"line_number":370,"context_line":"                self.assertEqual(self.key_repository_size, max_active_keys)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_23ca371b","line":368,"updated":"2015-06-22 19:28:02.000000000","message":"use range(10), no need to complicate this with six.","commit_id":"a422444fc4bb56e65cc4cc3fda8cf0f13cc079a5"}]}
