)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2a88da4c32d160dd744f509d049ec7618fcd745c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"NOTE: This patch just removes the test of createserverext extension"},{"line_number":14,"context_line":"      which is not documented and not tested with Tempest."},{"line_number":15,"context_line":"      The extension is not implemented and seems unnecessary legacy."},{"line_number":16,"context_line":"      Let\u0027s remove the test."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Partially implements blueprint remove-legacy-v2-api-code"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"bab6814e_c4eb2911","line":16,"updated":"2016-05-25 08:53:55.000000000","message":"This worries me, does this mean we missed something from v2.0 when creating v2.1?","commit_id":"4a1e636aa28288bd17b266e22f83077d08aac442"}],"nova/tests/unit/api/openstack/compute/legacy_v2/test_auth.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0fceea30e7ecf1aa0b0f64ca12103e949b80bfc2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from nova.tests.unit.api.openstack import fakes"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestNoAuthMiddleware(test.NoDBTestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(TestNoAuthMiddleware, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_77d66df2","side":"PARENT","line":23,"updated":"2016-05-25 09:20:02.000000000","message":"Ok, I see thats replaced here:\nhttps://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_auth.py#L30","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"}],"nova/tests/unit/api/openstack/compute/legacy_v2/test_servers.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0fceea30e7ecf1aa0b0f64ca12103e949b80bfc2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import base64"},{"line_number":19,"context_line":"import collections"},{"line_number":20,"context_line":"import datetime"},{"line_number":21,"context_line":"import urllib"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_17828100","side":"PARENT","line":18,"updated":"2016-05-25 09:20:02.000000000","message":"OK, so I think I see all of this in here:\nhttps://github.com/openstack/nova/blob/master/nova/tests/unit/api/openstack/compute/test_serversV21.py","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"}],"nova/tests/unit/api/openstack/compute/test_createserverext.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0fceea30e7ecf1aa0b0f64ca12103e949b80bfc2","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        return {\u0027server\u0027: server}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _get_create_request_json(self, body_dict):"},{"line_number":134,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/fake/os-create-server-ext\u0027)"},{"line_number":135,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":136,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":137,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body_dict)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_175a8183","side":"PARENT","line":134,"updated":"2016-05-25 09:20:02.000000000","message":"Honestly, it feels like we should ensure this is still working in v2.1.\n\nI am assuming this was intented to just hightlight the additions, but actually creates a route:\nhttps://github.com/openstack/nova/blob/bc5035343d366a18cae587f92ecb4e871aba974a/nova/api/openstack/compute/legacy_v2/contrib/createserverext.py","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"}],"nova/tests/unit/api/openstack/compute/test_urlmap.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"5085103106d0499fd0dfae045814c2bd779a111c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        body \u003d jsonutils.loads(res.body)"},{"line_number":42,"context_line":"        self.assertEqual(\u0027v2.0\u0027, body[\u0027version\u0027][\u0027id\u0027])"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_content_type_version_v2(self):"},{"line_number":45,"context_line":"        # Test Content-Type specifying v2 returns v2 content."},{"line_number":46,"context_line":"        req \u003d webob.Request.blank(\u0027/\u0027)"},{"line_number":47,"context_line":"        req.content_type \u003d \"application/json;version\u003d2\""}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_45228e01","side":"PARENT","line":44,"updated":"2016-05-09 13:53:56.000000000","message":"do we really have an equivalent test as this anywhere?","commit_id":"c844dc2d063510835f11832573917cfa38789a4b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"2f2cfb5414dfb4e1f32d16f8ae15b90a2676dba6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        body \u003d jsonutils.loads(res.body)"},{"line_number":42,"context_line":"        self.assertEqual(\u0027v2.0\u0027, body[\u0027version\u0027][\u0027id\u0027])"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_content_type_version_v2(self):"},{"line_number":45,"context_line":"        # Test Content-Type specifying v2 returns v2 content."},{"line_number":46,"context_line":"        req \u003d webob.Request.blank(\u0027/\u0027)"},{"line_number":47,"context_line":"        req.content_type \u003d \"application/json;version\u003d2\""}],"source_content_type":"text/x-python","patch_set":7,"id":"dab17558_28fd3bb1","side":"PARENT","line":44,"in_reply_to":"dab17558_45228e01","updated":"2016-05-17 05:35:36.000000000","message":"Nice point, there is not any equivalent tests now.\nSo we need to re-use these tests for v2.1 API.","commit_id":"c844dc2d063510835f11832573917cfa38789a4b"}],"nova/tests/unit/api/openstack/compute/test_versions.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3b0b27b4dd9cde55d1d963280ed42b9546904b58","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        self.assertTrue(href.startswith(\u0027https://\u0027))"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"class VersionsTestV21WithV2CompatibleWrapper(VersionsTestV20):"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @property"},{"line_number":545,"context_line":"    def wsgi_app(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_11adffe8","side":"PARENT","line":542,"updated":"2016-05-17 08:55:52.000000000","message":"don\u0027t we still need this test?","commit_id":"52a831e78e3bfbbaa1e129ed931a2d2b0dc48071"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"05d95f30bd2a44fd67ca6c211c70881e9787fa18","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        self.assertTrue(href.startswith(\u0027https://\u0027))"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"class VersionsTestV21WithV2CompatibleWrapper(VersionsTestV20):"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @property"},{"line_number":545,"context_line":"    def wsgi_app(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"dab17558_514307af","side":"PARENT","line":542,"in_reply_to":"dab17558_11adffe8","updated":"2016-05-17 09:02:01.000000000","message":"Oops, nice catch.\nand we need to put the v21 test class name as the original.","commit_id":"52a831e78e3bfbbaa1e129ed931a2d2b0dc48071"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"bd3b155fb4a1d74d29077573ec7945260a3c4984","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        self.assertEqual(expected, version)"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"class VersionBehindSslTestCase(test.NoDBTestCase):"},{"line_number":513,"context_line":"    def setUp(self):"},{"line_number":514,"context_line":"        super(VersionBehindSslTestCase, self).setUp()"},{"line_number":515,"context_line":"        self.flags(secure_proxy_ssl_header\u003d\u0027HTTP_X_FORWARDED_PROTO\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_e8c9f026","side":"PARENT","line":512,"updated":"2016-05-25 02:20:47.000000000","message":"why we want to remove this test?","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e51293a1149112fc542e5b666f713f50e6596061","unresolved":false,"context_lines":[{"line_number":509,"context_line":"        self.assertEqual(expected, version)"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"class VersionBehindSslTestCase(test.NoDBTestCase):"},{"line_number":513,"context_line":"    def setUp(self):"},{"line_number":514,"context_line":"        super(VersionBehindSslTestCase, self).setUp()"},{"line_number":515,"context_line":"        self.flags(secure_proxy_ssl_header\u003d\u0027HTTP_X_FORWARDED_PROTO\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_79f310a0","side":"PARENT","line":512,"in_reply_to":"bab6814e_e8c9f026","updated":"2016-05-25 03:36:00.000000000","message":"because this test is not implemented for v2.1 API as current test. but it is fine to keep/change this for v2.1 API at this time.","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"bd3b155fb4a1d74d29077573ec7945260a3c4984","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        self.assertTrue(href.startswith(\u0027https://\u0027))"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"class VersionsTestV21WithV2CompatibleWrapper(VersionsTestV20):"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @property"},{"line_number":545,"context_line":"    def wsgi_app(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_28ebf879","side":"PARENT","line":542,"updated":"2016-05-25 02:20:47.000000000","message":"This test ensure the v2.1 compat mode return fake v2.0 API info. So I think we should keept it.","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"e51293a1149112fc542e5b666f713f50e6596061","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        self.assertTrue(href.startswith(\u0027https://\u0027))"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"class VersionsTestV21WithV2CompatibleWrapper(VersionsTestV20):"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @property"},{"line_number":545,"context_line":"    def wsgi_app(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_d9c4bc41","side":"PARENT","line":542,"in_reply_to":"bab6814e_28ebf879","updated":"2016-05-25 03:36:00.000000000","message":"This test class is moved to line 103.","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4a05442d830568789598dc26b9718972e879b02f","unresolved":false,"context_lines":[{"line_number":539,"context_line":"        self.assertTrue(href.startswith(\u0027https://\u0027))"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"class VersionsTestV21WithV2CompatibleWrapper(VersionsTestV20):"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @property"},{"line_number":545,"context_line":"    def wsgi_app(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_bd2a81e5","side":"PARENT","line":542,"in_reply_to":"bab6814e_d9c4bc41","updated":"2016-05-25 05:26:15.000000000","message":"oops, sorry for missing that.","commit_id":"14d6a424ff6f71c7bdd263436a3aff11d654252c"}]}
