)]}'
{"id":"openstack%2Fpython-openstackclient~307585","triplet_id":"openstack%2Fpython-openstackclient~master~Iea833b66aa1379829511ad5c6d4432b72f3488e2","project":"openstack/python-openstackclient","branch":"master","topic":"bug/1550320","hashtags":[],"change_id":"Iea833b66aa1379829511ad5c6d4432b72f3488e2","subject":"Fix mutable default arguments in tests","status":"MERGED","created":"2016-04-19 06:46:10.000000000","updated":"2016-04-20 20:22:55.000000000","submitted":"2016-04-20 20:22:55.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ed76396362536b6ee583ca1d58b09d957d07f25f","_number":307585,"virtual_id_number":307585,"owner":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":2,"date":"2016-04-20 20:22:55.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},{"value":0,"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"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":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":0,"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},{"value":2,"date":"2016-04-20 15:14:03.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},{"value":2,"date":"2016-04-20 13:32:52.000000000","_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":0,"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},{"value":1,"date":"2016-04-20 15:14:03.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},{"value":0,"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-04-19 07:47:27.000000000","updated_by":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"reviewer":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"state":"REVIEWER"},{"updated":"2016-04-20 13:32:52.000000000","updated_by":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"reviewer":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"state":"REVIEWER"},{"updated":"2016-04-20 15:14:03.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"},{"updated":"2016-04-20 20:22:55.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"292c5cb280eeae344b5e4cc370fa19be37f19c6c","author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"date":"2016-04-19 06:46:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6bb372dd4694f6a7bc66f99273e6a2128d901c8f","author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"date":"2016-04-19 06:50:13.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)\n\nA small nit, but would save half the lines!","accounts_in_message":[],"_revision_number":1},{"id":"e4ba558ae76c7fc2e9b9ceef65715e28097aee86","author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"date":"2016-04-19 06:59:30.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"ffa7b9db154c0ae7ef31b5e016f775801a6e9bca","author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"date":"2016-04-19 07:17:57.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"8b7ddc05cd35f8d6bb63332bae5e3ff3ff8d9a8c","author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"date":"2016-04-19 07:47:27.000000000","message":"Patch Set 2: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"716da5e0ee464857ac59cc25a67ead3b1bf57010","author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"date":"2016-04-19 08:00:07.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"a67226959b5261348d6a9a03985335284378c5eb","author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"date":"2016-04-19 08:41:50.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"8da7b8f911d5682af26872e71bbdc18b54837573","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-04-19 13:16:32.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"b15e4a97d736ed401c66b315d000e0ea8aa86461","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-19 15:24:05.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/85/307585/2/check/gate-python-openstackclient-docs/5adf487//doc/build/html/ : SUCCESS in 3m 40s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/85/307585/2/check/gate-python-openstackclient-pep8/7491c93/ : FAILURE in 2m 13s\n- gate-python-openstackclient-python27 http://logs.openstack.org/85/307585/2/check/gate-python-openstackclient-python27/fc5da96/ : SUCCESS in 2m 29s\n- gate-python-openstackclient-python34 http://logs.openstack.org/85/307585/2/check/gate-python-openstackclient-python34/38bda82/ : SUCCESS in 4m 38s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/85/307585/2/check/gate-tempest-dsvm-neutron-src-python-openstackclient/26388c9/ : SUCCESS in 54m 17s\n- check-osc-plugins http://logs.openstack.org/85/307585/2/check/check-osc-plugins/32a6ded/ : SUCCESS in 4m 03s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/85/307585/2/check/gate-osc-dsvm-functional/7c2a5fd/ : SUCCESS in 25m 45s","accounts_in_message":[],"_revision_number":2},{"id":"f07aae422ae802aa2dd400de4d197d2b7c98aed6","author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"date":"2016-04-20 03:17:10.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"9757d14976e9150d65b2d301f9755b2ff5ed1376","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 05:01:52.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/85/307585/3/check/gate-python-openstackclient-docs/0f40e5c//doc/build/html/ : SUCCESS in 3m 44s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-pep8/9a8fc2d/ : SUCCESS in 2m 12s\n- gate-python-openstackclient-python27 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-python27/8758d5a/ : SUCCESS in 3m 26s\n- gate-python-openstackclient-python34 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-python34/fc3bf41/ : SUCCESS in 3m 29s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/85/307585/3/check/gate-tempest-dsvm-neutron-src-python-openstackclient/aebfe39/ : SUCCESS in 53m 47s\n- check-osc-plugins http://logs.openstack.org/85/307585/3/check/check-osc-plugins/7247b7d/ : SUCCESS in 3m 07s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/85/307585/3/check/gate-osc-dsvm-functional/04bba34/ : SUCCESS in 25m 09s","accounts_in_message":[],"_revision_number":3},{"id":"671c0c5dffd4b62728281ac8ba0cd80b1dd3f166","author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"date":"2016-04-20 13:32:52.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"ff126a0dc320f7fd90ebc59c393f33d2285def24","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2016-04-20 15:14:03.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"bbc909410c79bc742131bf5fcdbe5cc798500d49","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 15:14:08.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"21e742a0847ff813d2fc5295d2300c5d11adba43","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 16:26:40.000000000","message":"Patch Set 3: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/85/307585/3/gate/gate-python-openstackclient-docs/734a88d//doc/build/html/ : SUCCESS in 4m 06s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-pep8/aca2c2a/ : SUCCESS in 3m 02s\n- gate-python-openstackclient-python27 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-python27/0be95fc/ : SUCCESS in 3m 08s\n- gate-python-openstackclient-python34 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-python34/b5aa73a/ : SUCCESS in 9m 07s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/85/307585/3/gate/gate-tempest-dsvm-neutron-src-python-openstackclient/e550d2d/ : FAILURE in 1h 11m 39s\n- gate-osc-dsvm-functional http://logs.openstack.org/85/307585/3/gate/gate-osc-dsvm-functional/276aa5b/ : SUCCESS in 37m 40s","accounts_in_message":[],"_revision_number":3},{"id":"f958d8ab81a10d02792679075b3f3a84d4bdfe9f","author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"date":"2016-04-20 16:29:48.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"7a36b26d3eaeabf334e4f262bcdcf3cc207296bf","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 19:17:58.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/85/307585/3/check/gate-python-openstackclient-docs/90106d0//doc/build/html/ : SUCCESS in 3m 42s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-pep8/d883a19/ : SUCCESS in 3m 07s\n- gate-python-openstackclient-python27 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-python27/fbcda16/ : SUCCESS in 3m 14s\n- gate-python-openstackclient-python34 http://logs.openstack.org/85/307585/3/check/gate-python-openstackclient-python34/7c082b5/ : SUCCESS in 4m 20s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/85/307585/3/check/gate-tempest-dsvm-neutron-src-python-openstackclient/6d1072d/ : SUCCESS in 53m 13s\n- check-osc-plugins http://logs.openstack.org/85/307585/3/check/check-osc-plugins/1eddd6f/ : SUCCESS in 4m 27s (non-voting)\n- gate-osc-dsvm-functional http://logs.openstack.org/85/307585/3/check/gate-osc-dsvm-functional/5952362/ : SUCCESS in 31m 51s","accounts_in_message":[],"_revision_number":3},{"id":"48c16e98c9221adaade992cc836a79a159e45a01","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 19:18:03.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"97e77d51961d66bcc6349fe63ef757c99a5fbfd2","date":"2016-04-20 20:22:55.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":3},{"id":"9188d55de837f7c2883b7596532371e6d8efe45e","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-20 20:22:55.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-openstackclient-docs http://docs-draft.openstack.org/85/307585/3/gate/gate-python-openstackclient-docs/b12ad4c//doc/build/html/ : SUCCESS in 3m 02s\n- gate-python-openstackclient-pep8 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-pep8/416e0e8/ : SUCCESS in 3m 28s\n- gate-python-openstackclient-python27 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-python27/00d26d8/ : SUCCESS in 1m 33s\n- gate-python-openstackclient-python34 http://logs.openstack.org/85/307585/3/gate/gate-python-openstackclient-python34/8010ffc/ : SUCCESS in 3m 27s\n- gate-tempest-dsvm-neutron-src-python-openstackclient http://logs.openstack.org/85/307585/3/gate/gate-tempest-dsvm-neutron-src-python-openstackclient/4456933/ : SUCCESS in 1h 04m 27s\n- gate-osc-dsvm-functional http://logs.openstack.org/85/307585/3/gate/gate-osc-dsvm-functional/16031af/ : SUCCESS in 43m 22s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"09c20b2b5c53024c47da8828095ea95dc63810f6","revisions":{"d433dd2ac5a92150f366fa5ef9f656ae147e29e5":{"kind":"REWORK","_number":1,"created":"2016-04-19 06:46:10.000000000","uploader":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"ref":"refs/changes/85/307585/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/85/307585/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/1"}}},"commit":{"parents":[{"commit":"c9cfd569fe2f7c9f499843d77ebbc096b333733b","subject":"Merge \"Initialize neutron client with region name\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c9cfd569fe2f7c9f499843d77ebbc096b333733b"}]}],"author":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-15 07:46:19.000000000","tz":480},"committer":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-19 06:32:18.000000000","tz":480},"subject":"Fix mutable default arguments in tests","message":"Fix mutable default arguments in tests\n\nPython’s default arguments are evaluated only once\nwhen the function is defined, not each time the\nfunction is called. This means that if you use a\nmutable default argument (like list and dict) and\nmutate it, you will and have mutated that object\nfor all future calls to the function as well.\n\nMore details about this wrong usage here:\nhttp://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments\n\nIn unit tests, most FakeXXX classes\u0027 methods take\nmutable arguments with default values [] or {}.\nWe should change them to None.\n\nChange-Id: Iea833b66aa1379829511ad5c6d4432b72f3488e2\nClosed-bug: #1550320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/d433dd2ac5a92150f366fa5ef9f656ae147e29e5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/d433dd2ac5a92150f366fa5ef9f656ae147e29e5"}]},"branch":"refs/heads/master"},"88b5507aff804a48d04fe0b363868bfd3e415af0":{"kind":"REWORK","_number":2,"created":"2016-04-19 07:17:57.000000000","uploader":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"ref":"refs/changes/85/307585/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/85/307585/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/2"}}},"commit":{"parents":[{"commit":"c9cfd569fe2f7c9f499843d77ebbc096b333733b","subject":"Merge \"Initialize neutron client with region name\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/c9cfd569fe2f7c9f499843d77ebbc096b333733b"}]}],"author":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-15 07:46:19.000000000","tz":480},"committer":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-19 06:32:18.000000000","tz":480},"subject":"Fix mutable default arguments in tests","message":"Fix mutable default arguments in tests\n\nPython’s default arguments are evaluated only once\nwhen the function is defined, not each time the\nfunction is called. This means that if you use a\nmutable default argument (like list and dict) and\nmutate it, you will and have mutated that object\nfor all future calls to the function as well.\n\nMore details about this wrong usage here:\nhttp://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments\n\nIn unit tests, most FakeXXX classes\u0027 methods take\nmutable arguments with default values [] or {}.\nWe should change them to None.\n\nChange-Id: Iea833b66aa1379829511ad5c6d4432b72f3488e2\nClosed-bug: #1550320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/88b5507aff804a48d04fe0b363868bfd3e415af0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/88b5507aff804a48d04fe0b363868bfd3e415af0"}]},"branch":"refs/heads/master"},"09c20b2b5c53024c47da8828095ea95dc63810f6":{"kind":"REWORK","_number":3,"created":"2016-04-20 03:17:10.000000000","uploader":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"ref":"refs/changes/85/307585/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/85/307585/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/85/307585/3"}}},"commit":{"parents":[{"commit":"4639148b1dc059efab0d00a886e3f05f547a439f","subject":"Merge \"Rename --profile to --os-profile\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/4639148b1dc059efab0d00a886e3f05f547a439f"}]}],"author":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-15 07:46:19.000000000","tz":480},"committer":{"name":"Tang Chen","email":"chen.tang@easystack.cn","date":"2016-04-20 03:15:17.000000000","tz":480},"subject":"Fix mutable default arguments in tests","message":"Fix mutable default arguments in tests\n\nPython’s default arguments are evaluated only once\nwhen the function is defined, not each time the\nfunction is called. This means that if you use a\nmutable default argument (like list and dict) and\nmutate it, you will and have mutated that object\nfor all future calls to the function as well.\n\nMore details about this wrong usage here:\nhttp://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments\n\nIn unit tests, most FakeXXX classes\u0027 methods take\nmutable arguments with default values [] or {}.\nWe should change them to None.\n\nChange-Id: Iea833b66aa1379829511ad5c6d4432b72f3488e2\nClosed-bug: #1550320\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/09c20b2b5c53024c47da8828095ea95dc63810f6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/09c20b2b5c53024c47da8828095ea95dc63810f6"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
