)]}'
{"manila/db/migrations/alembic/versions/d5db24264f5c_add_consistent_snapshot_support_attr_to_share_group_model.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"f6723c8c0a171f3e88469efae7855db5eb099bb8","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def upgrade():"},{"line_number":36,"context_line":"    # Workaround for following alemic bug:"},{"line_number":37,"context_line":"    # https://bitbucket.org/zzzeek/alembic/issue/89"},{"line_number":38,"context_line":"    context \u003d op.get_context()"},{"line_number":39,"context_line":"    if context.bind.dialect.name \u003d\u003d \u0027postgresql\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_8addb516","line":36,"range":{"start_line":36,"start_character":31,"end_line":36,"end_character":37},"updated":"2017-02-04 03:18:47.000000000","message":"alembic","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b3f66f654d230d2d04b94bdbdfac4994290d989c","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def upgrade():"},{"line_number":36,"context_line":"    # Workaround for following alemic bug:"},{"line_number":37,"context_line":"    # https://bitbucket.org/zzzeek/alembic/issue/89"},{"line_number":38,"context_line":"    context \u003d op.get_context()"},{"line_number":39,"context_line":"    if context.bind.dialect.name \u003d\u003d \u0027postgresql\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_a70d1e92","line":36,"range":{"start_line":36,"start_character":31,"end_line":36,"end_character":37},"in_reply_to":"1a430d35_8addb516","updated":"2017-02-06 14:30:24.000000000","message":"Done","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"}],"manila/tests/db/migrations/alembic/migrations_data_checks.py":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"f6723c8c0a171f3e88469efae7855db5eb099bb8","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"        for sg in db_result:"},{"line_number":2146,"context_line":"            self.test_case.assertTrue(hasattr(sg, self.new_attr_name))"},{"line_number":2147,"context_line":""},{"line_number":2148,"context_line":"            # Check that we can write proper enum data to the new field"},{"line_number":2149,"context_line":"            for value in (None, \u0027pool\u0027, \u0027host\u0027):"},{"line_number":2150,"context_line":"                engine.execute(sg_table.update().where("},{"line_number":2151,"context_line":"                    sg_table.c.id \u003d\u003d self.share_group_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_2a3da12b","line":2148,"updated":"2017-02-04 03:18:47.000000000","message":"wouldn\u0027t it also be good to test a string that fails with an enum","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b672afc95eb31b542c12efb9891b36c256efba18","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"        for sg in db_result:"},{"line_number":2146,"context_line":"            self.test_case.assertTrue(hasattr(sg, self.new_attr_name))"},{"line_number":2147,"context_line":""},{"line_number":2148,"context_line":"            # Check that we can write proper enum data to the new field"},{"line_number":2149,"context_line":"            for value in (None, \u0027pool\u0027, \u0027host\u0027):"},{"line_number":2150,"context_line":"                engine.execute(sg_table.update().where("},{"line_number":2151,"context_line":"                    sg_table.c.id \u003d\u003d self.share_group_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_cad17dcf","line":2148,"in_reply_to":"1a430d35_2a3da12b","updated":"2017-02-04 03:24:20.000000000","message":"+1","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b3f66f654d230d2d04b94bdbdfac4994290d989c","unresolved":false,"context_lines":[{"line_number":2145,"context_line":"        for sg in db_result:"},{"line_number":2146,"context_line":"            self.test_case.assertTrue(hasattr(sg, self.new_attr_name))"},{"line_number":2147,"context_line":""},{"line_number":2148,"context_line":"            # Check that we can write proper enum data to the new field"},{"line_number":2149,"context_line":"            for value in (None, \u0027pool\u0027, \u0027host\u0027):"},{"line_number":2150,"context_line":"                engine.execute(sg_table.update().where("},{"line_number":2151,"context_line":"                    sg_table.c.id \u003d\u003d self.share_group_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_ca106fab","line":2148,"in_reply_to":"1a430d35_cad17dcf","updated":"2017-02-06 14:30:24.000000000","message":"Done","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b672afc95eb31b542c12efb9891b36c256efba18","unresolved":false,"context_lines":[{"line_number":2155,"context_line":"        sg_table \u003d utils.load_table(self.table_name, engine)"},{"line_number":2156,"context_line":"        db_result \u003d engine.execute(sg_table.select().where("},{"line_number":2157,"context_line":"            sg_table.c.id \u003d\u003d self.share_group_id))"},{"line_number":2158,"context_line":"        self.test_case.assertGreater(db_result.rowcount, 0)"},{"line_number":2159,"context_line":"        for sg in db_result:"},{"line_number":2160,"context_line":"            self.test_case.assertFalse(hasattr(sg, self.new_attr_name))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_0adc65e3","line":2158,"range":{"start_line":2158,"start_character":0,"end_line":2158,"end_character":59},"updated":"2017-02-04 03:24:20.000000000","message":"same comment as in the other change. You only inserted one row, and you\u0027re grabbing only the one row in 2157. so, assertEqual(1, db_result.rowcount)","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b3f66f654d230d2d04b94bdbdfac4994290d989c","unresolved":false,"context_lines":[{"line_number":2155,"context_line":"        sg_table \u003d utils.load_table(self.table_name, engine)"},{"line_number":2156,"context_line":"        db_result \u003d engine.execute(sg_table.select().where("},{"line_number":2157,"context_line":"            sg_table.c.id \u003d\u003d self.share_group_id))"},{"line_number":2158,"context_line":"        self.test_case.assertGreater(db_result.rowcount, 0)"},{"line_number":2159,"context_line":"        for sg in db_result:"},{"line_number":2160,"context_line":"            self.test_case.assertFalse(hasattr(sg, self.new_attr_name))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a430d35_6796d6f1","line":2158,"range":{"start_line":2158,"start_character":0,"end_line":2158,"end_character":59},"in_reply_to":"1a430d35_0adc65e3","updated":"2017-02-06 14:30:24.000000000","message":"Done","commit_id":"212b988591cb23025c3e9633b83b3cdb13371ad7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0908980274d28ce00a4bdf541210f3a14656f5ef","unresolved":false,"context_lines":[{"line_number":2153,"context_line":"                ).values({self.new_attr_name: value}))"},{"line_number":2154,"context_line":""},{"line_number":2155,"context_line":"            # Check that we cannot write values that are not allowed by enum."},{"line_number":2156,"context_line":"            for value in (True, False, 1, 0, \u00271\u0027, \u00270\u0027,"},{"line_number":2157,"context_line":"                          \u0027\u0027, \u0027fake\u0027, \u0027pool1\u0027, \u0027host1\u0027, \u00271pool\u0027, \u00271host\u0027):"},{"line_number":2158,"context_line":"                self.test_case.assertRaises("},{"line_number":2159,"context_line":"                    oslo_db_exc.DBError,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a430d35_3a1774ee","line":2156,"range":{"start_line":2156,"start_character":26,"end_line":2156,"end_character":53},"updated":"2017-02-06 18:16:23.000000000","message":"Is this a bug, then? Strange that these values are allowed in a non boolean field.","commit_id":"4269dfe681acb708a59f929b41d9fed81ebbf2a9"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"3bc15e44ba7495808d58143d4c463bdc9f3980c5","unresolved":false,"context_lines":[{"line_number":2153,"context_line":"                ).values({self.new_attr_name: value}))"},{"line_number":2154,"context_line":""},{"line_number":2155,"context_line":"            # Check that we cannot write values that are not allowed by enum."},{"line_number":2156,"context_line":"            for value in (\u0027\u0027, \u0027fake\u0027, \u0027pool1\u0027, \u0027host1\u0027, \u00271pool\u0027, \u00271host\u0027):"},{"line_number":2157,"context_line":"                self.test_case.assertRaises("},{"line_number":2158,"context_line":"                    oslo_db_exc.DBError,"},{"line_number":2159,"context_line":"                    engine.execute,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_d5272310","line":2156,"updated":"2017-02-06 18:52:53.000000000","message":"So I guess it is allowing integers as enum indexes???","commit_id":"039b0c5425cde77e31ab77f7d2099ec836d8ebcd"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"2953288aae0db22a240852558f7dbf73e26702e2","unresolved":false,"context_lines":[{"line_number":2153,"context_line":"                ).values({self.new_attr_name: value}))"},{"line_number":2154,"context_line":""},{"line_number":2155,"context_line":"            # Check that we cannot write values that are not allowed by enum."},{"line_number":2156,"context_line":"            for value in (\u0027\u0027, \u0027fake\u0027, \u0027pool1\u0027, \u0027host1\u0027, \u00271pool\u0027, \u00271host\u0027):"},{"line_number":2157,"context_line":"                self.test_case.assertRaises("},{"line_number":2158,"context_line":"                    oslo_db_exc.DBError,"},{"line_number":2159,"context_line":"                    engine.execute,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a430d35_9313ee0c","line":2156,"in_reply_to":"1a430d35_d5272310","updated":"2017-02-07 11:22:45.000000000","message":"There is some issues in MySQL version. PostgreSQL works just fine.","commit_id":"039b0c5425cde77e31ab77f7d2099ec836d8ebcd"}]}
