)]}'
{"id":"openstack%2Fpython-troveclient~348167","triplet_id":"openstack%2Fpython-troveclient~master~Idb30eeab13e9cad44e7c78c7903280f5e3bf66d6","project":"openstack/python-troveclient","branch":"master","topic":"replace_assertequal","hashtags":[],"change_id":"Idb30eeab13e9cad44e7c78c7903280f5e3bf66d6","subject":"Replace assertDictEqual","status":"MERGED","created":"2016-07-28 08:13:20.000000000","updated":"2016-08-08 18:46:43.000000000","submitted":"2016-08-08 18:46:43.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ba169514c18726a3b38d674782004ebcab8a2b6e","_number":348167,"virtual_id_number":348167,"owner":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},{"value":0,"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},{"value":2,"date":"2016-08-08 18:46:43.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},{"value":0,"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},{"value":0,"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"recommended":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"all":[{"value":1,"date":"2016-07-29 13:14:35.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},{"value":2,"date":"2016-08-05 19:58:56.000000000","_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},{"value":2,"date":"2016-08-08 15:03:04.000000000","_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},{"value":1,"date":"2016-08-06 11:35:34.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"all":[{"value":0,"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},{"value":0,"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},{"value":1,"date":"2016-08-08 15:03:04.000000000","_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},{"value":0,"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},{"value":0,"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},{"value":0,"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},{"value":0,"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"}],"values":{"-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-07-29 13:14:35.000000000","updated_by":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"reviewer":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"state":"REVIEWER"},{"updated":"2016-08-05 19:58:56.000000000","updated_by":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"reviewer":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"state":"REVIEWER"},{"updated":"2016-08-06 11:35:34.000000000","updated_by":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"reviewer":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"state":"REVIEWER"},{"updated":"2016-08-08 15:03:04.000000000","updated_by":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"reviewer":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"state":"REVIEWER"},{"updated":"2016-08-08 18:46:43.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"a8a767ae3737a319822b1952a590921791b10488","author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"date":"2016-07-28 08:13:20.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e14c8ee877483c4f85c48e05330a87f1151026e2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-07-28 10:06:25.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-troveclient-docs-ubuntu-xenial http://docs-draft.openstack.org/67/348167/1/check/gate-python-troveclient-docs-ubuntu-xenial/a92ddcd//doc/build/html/ : SUCCESS in 4m 58s\n- gate-python-troveclient-pep8-ubuntu-xenial http://logs.openstack.org/67/348167/1/check/gate-python-troveclient-pep8-ubuntu-xenial/1de076c/ : SUCCESS in 4m 27s\n- gate-python-troveclient-python27-ubuntu-xenial http://logs.openstack.org/67/348167/1/check/gate-python-troveclient-python27-ubuntu-xenial/a3439f7/ : SUCCESS in 2m 43s\n- gate-python-troveclient-python34 http://logs.openstack.org/67/348167/1/check/gate-python-troveclient-python34/b7f4a3d/ : SUCCESS in 4m 40s\n- gate-python-troveclient-python35-nv http://logs.openstack.org/67/348167/1/check/gate-python-troveclient-python35-nv/9a9a239/ : SUCCESS in 3m 47s (non-voting)\n- gate-python-troveclient-pypy http://logs.openstack.org/67/348167/1/check/gate-python-troveclient-pypy/62e82d1/ : FAILURE in 11m 47s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-troveclient http://logs.openstack.org/67/348167/1/check/gate-tempest-dsvm-neutron-src-python-troveclient/75a2550/ : SUCCESS in 1h 21m 37s\n- gate-trove-functional-dsvm-mysql http://logs.openstack.org/67/348167/1/check/gate-trove-functional-dsvm-mysql/fc6193f/ : SUCCESS in 1h 50m 46s","accounts_in_message":[],"_revision_number":1},{"id":"639f5f459d9c51a2084bb113e3fc895501e65628","author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"date":"2016-07-28 15:58:26.000000000","message":"Patch Set 1: Code-Review-1\n\nIt really seems like assertEqual does call assertDictEqual internally, but it is not clear from your commit message.\n\nIt would be nice to update the commit message with this link: https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.assertDictEqual","accounts_in_message":[],"_revision_number":1},{"id":"04ab2527003dd4f9308fd1e5844a7e622c282a83","author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"date":"2016-07-29 02:11:52.000000000","message":"Patch Set 1:\n\n\u003e It really seems like assertEqual does call assertDictEqual\n \u003e internally, but it is not clear from your commit message.\n \u003e \n \u003e It would be nice to update the commit message with this link:\n \u003e https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.assertDictEqual\n\nok,I will amend it","accounts_in_message":[],"_revision_number":1},{"id":"2dc142931b28998d1512346ce95aea3a5da25eae","author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"date":"2016-07-29 02:15:47.000000000","message":"Patch Set 2: Published edit on patch set 1","accounts_in_message":[],"_revision_number":2},{"id":"01084ddc2ce3a9262dfa0f6efea9f40705ec47aa","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-07-29 03:45:09.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-troveclient-docs-ubuntu-xenial http://docs-draft.openstack.org/67/348167/2/check/gate-python-troveclient-docs-ubuntu-xenial/39f3c94//doc/build/html/ : SUCCESS in 5m 46s\n- gate-python-troveclient-pep8-ubuntu-xenial http://logs.openstack.org/67/348167/2/check/gate-python-troveclient-pep8-ubuntu-xenial/269404b/ : SUCCESS in 8m 04s\n- gate-python-troveclient-python27-ubuntu-xenial http://logs.openstack.org/67/348167/2/check/gate-python-troveclient-python27-ubuntu-xenial/cef5820/ : SUCCESS in 3m 51s\n- gate-python-troveclient-python34 http://logs.openstack.org/67/348167/2/check/gate-python-troveclient-python34/b2ba1fd/ : SUCCESS in 5m 38s\n- gate-python-troveclient-python35-nv http://logs.openstack.org/67/348167/2/check/gate-python-troveclient-python35-nv/79fee2f/ : SUCCESS in 9m 25s (non-voting)\n- gate-python-troveclient-pypy http://logs.openstack.org/67/348167/2/check/gate-python-troveclient-pypy/f827fb3/ : FAILURE in 5m 26s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-troveclient http://logs.openstack.org/67/348167/2/check/gate-tempest-dsvm-neutron-src-python-troveclient/255b8c3/ : SUCCESS in 1h 20m 48s\n- gate-trove-functional-dsvm-mysql http://logs.openstack.org/67/348167/2/check/gate-trove-functional-dsvm-mysql/1c660f2/ : SUCCESS in 1h 14m 17s","accounts_in_message":[],"_revision_number":2},{"id":"4f3bda6fec0b01de70b915a4ac31ea52a812edb0","author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"date":"2016-07-29 13:14:35.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"57e1988a1afd230c29e38629e5c74d7a6976ad61","author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"date":"2016-08-05 19:58:56.000000000","message":"Patch Set 2: Code-Review+2\n\nassertDictEqual() does one other thing that assertEqual does not.\n\nIt verifies that the two arguments are in fact dictionaries.\n\nConsider this, if passed something that isn\u0027t a dictionary, it fails like this:\n\nAssertionError: First argument is not a dictionary\n\nWhile I see nothing really wrong with your change, I also see no material benefit from this change. But ...","accounts_in_message":[],"_revision_number":2},{"id":"a2256f10f69b963e20ae824d514157c9a0cb41b7","author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"date":"2016-08-06 11:03:09.000000000","message":"Patch Set 2:\n\n\u003e assertDictEqual() does one other thing that assertEqual does not.\n \u003e \n \u003e It verifies that the two arguments are in fact dictionaries.\n \u003e \n \u003e Consider this, if passed something that isn\u0027t a dictionary, it\n \u003e fails like this:\n \u003e \n \u003e AssertionError: First argument is not a dictionary\n \u003e \n \u003e While I see nothing really wrong with your change, I also see no\n \u003e material benefit from this change. But ...\nI understand your idea...I think it will be a little bit more uniform, a little bit more simple...","accounts_in_message":[],"_revision_number":2},{"id":"c254598107fa5909db27a37491261b9d337858ba","author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"date":"2016-08-06 11:35:34.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"dd325cf4fd640c25b40633523a6b765f74cd4c28","author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"date":"2016-08-08 15:03:04.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"3540fb92e34a335f2840806725390c2259821507","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-08-08 15:03:14.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"27fb3dcdd6a922a076d349120c56de6ab94857ca","date":"2016-08-08 18:46:43.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"c6324d1bda50b55e8f58cdca51048f173adce667","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-08-08 18:46:43.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-troveclient-docs-ubuntu-xenial http://docs-draft.openstack.org/67/348167/2/gate/gate-python-troveclient-docs-ubuntu-xenial/8fcd1a3//doc/build/html/ : SUCCESS in 3m 04s\n- gate-python-troveclient-pep8-ubuntu-xenial http://logs.openstack.org/67/348167/2/gate/gate-python-troveclient-pep8-ubuntu-xenial/52c9db8/ : SUCCESS in 7m 01s\n- gate-python-troveclient-python27-ubuntu-xenial http://logs.openstack.org/67/348167/2/gate/gate-python-troveclient-python27-ubuntu-xenial/c7e5f0b/ : SUCCESS in 4m 55s\n- gate-python-troveclient-python34 http://logs.openstack.org/67/348167/2/gate/gate-python-troveclient-python34/4f3adc1/ : SUCCESS in 4m 42s\n- gate-tempest-dsvm-neutron-src-python-troveclient http://logs.openstack.org/67/348167/2/gate/gate-tempest-dsvm-neutron-src-python-troveclient/1118f82/ : SUCCESS in 1h 12m 26s\n- gate-trove-functional-dsvm-mysql http://logs.openstack.org/67/348167/2/gate/gate-trove-functional-dsvm-mysql/c05d673/ : SUCCESS in 1h 54m 43s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"2093cba59ebfe7bbd7cb3bfa032da20b0c0a0d9e","revisions":{"3ecda84134d8fad0e79ca1ae58b4647d7e4979a9":{"kind":"REWORK","_number":1,"created":"2016-07-28 08:13:20.000000000","uploader":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"ref":"refs/changes/67/348167/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-troveclient","ref":"refs/changes/67/348167/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/1"}}},"commit":{"parents":[{"commit":"49c6fa13deab729cb328dbfcead0bc0ffb6018a9","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/49c6fa13deab729cb328dbfcead0bc0ffb6018a9"}]}],"author":{"name":"jiansong","email":"jian.song@easystack.cn","date":"2016-07-28 07:56:31.000000000","tz":-420},"committer":{"name":"jiansong","email":"jian.song@easystack.cn","date":"2016-07-28 07:56:31.000000000","tz":-420},"subject":"Replace assertDictEqual","message":"Replace assertDictEqual\n\nHere, I replace with assertequal assertdictequal, because I think it can\nbe used in does not affect the code makes the code more clean and tidy.\n\nChange-Id: Idb30eeab13e9cad44e7c78c7903280f5e3bf66d6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/3ecda84134d8fad0e79ca1ae58b4647d7e4979a9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/3ecda84134d8fad0e79ca1ae58b4647d7e4979a9"}]},"branch":"refs/heads/master"},"2093cba59ebfe7bbd7cb3bfa032da20b0c0a0d9e":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2016-07-29 02:15:47.000000000","uploader":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"ref":"refs/changes/67/348167/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-troveclient","ref":"refs/changes/67/348167/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-troveclient refs/changes/67/348167/2"}}},"commit":{"parents":[{"commit":"49c6fa13deab729cb328dbfcead0bc0ffb6018a9","subject":"Updated from global requirements","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/49c6fa13deab729cb328dbfcead0bc0ffb6018a9"}]}],"author":{"name":"jiansong","email":"jian.song@easystack.cn","date":"2016-07-28 07:56:31.000000000","tz":-420},"committer":{"name":"jian.song","email":"jian.song@easystack.cn","date":"2016-07-29 02:15:25.000000000","tz":0},"subject":"Replace assertDictEqual","message":"Replace assertDictEqual\n\nHere,assertDictEqual is test that two dictionaries are equal.This method\nwill be used by default to compare dictionaries in calls to assertEqual.\nSo,I replace assertDictEqual.\n\nrefer to [1] for more information\n\n[1]:https://docs.python.org/2.7/library/unittest.html#unittest.TestCase.assertDictEqual\n\nChange-Id: Idb30eeab13e9cad44e7c78c7903280f5e3bf66d6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/2093cba59ebfe7bbd7cb3bfa032da20b0c0a0d9e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-troveclient/commit/2093cba59ebfe7bbd7cb3bfa032da20b0c0a0d9e"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
