)]}'
{"id":"openstack%2Fhacking~742475","triplet_id":"openstack%2Fhacking~master~I8d255a00792a19279074703a8209a3699b480fd0","project":"openstack/hacking","branch":"master","topic":"unittest.mock","hashtags":[],"change_id":"I8d255a00792a19279074703a8209a3699b480fd0","subject":"Add H216 to flag use of third party mock","status":"MERGED","created":"2020-07-22 16:17:33.000000000","updated":"2021-01-26 20:39:00.000000000","submitted":"2021-01-26 20:37:07.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"742475-unittest.mock","meta_rev_id":"ef91a851abed80bedb85d3570a6990d83fbdf1f8","_number":742475,"virtual_id_number":742475,"owner":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},{"value":0,"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-01-26 20:37:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"all":[{"value":2,"date":"2020-12-15 14:12:43.000000000","_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},{"value":0,"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},{"value":2,"date":"2020-12-01 23:51:19.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"all":[{"value":1,"date":"2020-12-15 14:12:43.000000000","_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},{"value":0,"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-07-22 16:30:10.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2020-07-27 08:10:54.000000000","updated_by":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"reviewer":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"state":"REVIEWER"},{"updated":"2020-08-14 00:06:50.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2020-12-15 14:12:43.000000000","updated_by":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"reviewer":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"state":"REVIEWER"}],"messages":[{"id":"b2593c06f44cb401b455d1247d94343ae5bf0989","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2020-07-22 16:17:33.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b4fb82583862f1d0ba8ec1b76e3e1501c2f3093d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-22 16:30:10.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/2f7a172ab823442cbb2c540b8a32fd32 : SUCCESS in 3m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e4120bc3c6784f46b07690e4cfa1d487 : SUCCESS in 9m 18s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4209c43e546b406988676e84f50d51d5 : SUCCESS in 4m 09s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/301c29f8f8a940d792df94c7c5a42e2f : SUCCESS in 3m 37s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/6665f22a4f3c42ffbaa37e41728d156e : SUCCESS in 4m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b3af830f10e4846ace90addeb0a40a2 : SUCCESS in 3m 11s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2ca32a3948e94795a8b9be531f74a0d6 : SUCCESS in 3m 50s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1fcc7b6293134c078c8d7a74356cda3f : SUCCESS in 4m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4ba66d93297740a282c8aa4653fbef9a : SUCCESS in 6m 03s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/f958a94a0c4d4ba6b87618d91ffec98f : FAILURE in 6m 52s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"35f09cafa622383aeea2a30ae400a8c2ab2ac66a","author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"date":"2020-07-27 08:10:54.000000000","message":"Patch Set 1: Code-Review+1\n\nLGTM","accounts_in_message":[],"_revision_number":1},{"id":"70fc4984293cadac93430aed4fb2c11ba2432faa","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2020-08-14 00:06:50.000000000","message":"Patch Set 1: Code-Review+2\n\nlgtm.","accounts_in_message":[],"_revision_number":1},{"id":"3e7693df06095774a445ac797cd6bc4df78d78e4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2020-12-01 20:23:32.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"ea270e47247c37848b3db52b1864c5e9a0497e78","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-01 20:35:15.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8bd5d5e727fd4844bb219ade3d5f47cb : SUCCESS in 2m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/194a3e5c8c674bfe957d474fd7fa3182 : SUCCESS in 6m 53s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/610069f9c0754d63a73e8cb0c5a1ce01 : SUCCESS in 4m 40s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/de11f989b17a480683034fba99fa7a26 : SUCCESS in 4m 15s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/8c974735d4dd485783a3def826ee791b : SUCCESS in 4m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c33f76d01cb04f519738143dd116101e : SUCCESS in 3m 45s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/bd56ceca80854b879b3165fefadb6716 : SUCCESS in 4m 14s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/7643bc5eb5224867bf5eac1d85d4fac0 : SUCCESS in 4m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d82dd5706f3744c098e00261a386092a : SUCCESS in 3m 43s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/bbf7b9af1a9b4af5981fbf776d4f373d : FAILURE in 5m 13s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"7a7cab9c87d84cd35016779cd2ec83eaa29a137d","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2020-12-01 23:51:19.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"0bc696dbe9d87c13483f202bbaef0ce4041a8ca8","author":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"date":"2020-12-15 14:12:43.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nthis looks good to me, thanks Sean for working on it.","accounts_in_message":[],"_revision_number":2},{"id":"cf1c9bb74b603a930401c3dbb4586d94d9242535","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-15 14:12:56.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"69e60d7afb5f8b59c03928f1d7293b1734f4fbbf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-15 14:24:55.000000000","message":"Patch Set 2: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/52eb20b371724dab807006da785dc3e8 : SUCCESS in 1m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ba7df850f022437dbb95fc79ae804c18 : SUCCESS in 6m 34s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/0945de7d5797479b8e878875fc47fb66 : FAILURE in 2m 33s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/9f510aeea5d248e994d023153e0bf967 : SUCCESS in 3m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4d083e3daf8144b69bd53ce82fc16be4 : SUCCESS in 3m 15s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/dc28b61962d145efa070161ab791ff8c : SUCCESS in 3m 21s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6888bd7015e0455e82388dc66be372d4 : SUCCESS in 3m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7c9e2a9d4a444ee98d98aa16fdb0f41c : SUCCESS in 3m 27s","accounts_in_message":[],"_revision_number":2},{"id":"ce6052bb02c76bd0cd57241a21e4117300523e1b","author":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"date":"2021-01-12 14:28:16.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"5ca2d12a6af567c7b26818123a941a36ff88a9f0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-12 14:49:33.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/314676f07a0f4a078de0db6725bf0979 : SUCCESS in 2m 11s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4afe4f4032f34f70b22b17e4e2fa45c5 : SUCCESS in 5m 07s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1f3bd602cc1f44a6908181509864d76d : SUCCESS in 3m 27s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fdb70e77db1e43a8b793d4058bb8b8b8 : FAILURE in 2m 20s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/4dbd9d357bb645dda53992c1d4a37a03 : SUCCESS in 3m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a630bb19c4634324a2c91489954abd76 : SUCCESS in 2m 54s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/2976ef9b325b40f1aa032dc6ec3f4341 : SUCCESS in 6m 51s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/f8f60808a87346e9b2bbba0a90f358c0 : SUCCESS in 4m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2b6ab67a69d142c1b1237c0a987eca8f : SUCCESS in 2m 42s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/40bd48aac90545ffabb36f782d35e9cc : FAILURE in 5m 04s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"72fb3f8ae54585c26dafddf68ae895b743762f90","author":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"},"date":"2021-01-26 20:16:26.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"9242ae4b2cbdcc03eec3427c0284d93dd7944962","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-26 20:26:32.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/94c019ac12e941dca753992983453c6c : SUCCESS in 3m 06s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4dea633a3335421898c5aa8d66b7022d : SUCCESS in 5m 07s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3443596a55104457bd60c21aecc539ee : SUCCESS in 4m 02s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/6c101bb77b8c47a5b7dd90b4d6cd044d : SUCCESS in 4m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5f561d58c79f451387922d3a0b249bc1 : SUCCESS in 3m 30s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b91d1c43cedd486286430c6ea0f18a02 : SUCCESS in 3m 12s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/12c1bdfa1d68418d9f95da58991cfe42 : SUCCESS in 3m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a7c4ff0c98d34de2bfc648846a7e1dcf : SUCCESS in 4m 15s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/42faac3222464d24992a8e10d0b7571a : FAILURE in 6m 26s (non-voting)\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/acf63902a8114629818a10802f6e9fee : FAILURE in 3m 53s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"b79e139cb5e68b2c8052ae6cb232e4a3e22aca51","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-26 20:26:48.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"41a4551d5bef6d8737268b9826dfa11a6e63447a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-26 20:37:06.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/206ee27dae334456a227f1268d8633ec : SUCCESS in 1m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0f3387f0c3f142f59765d1e38adadf13 : SUCCESS in 4m 47s\n- openstack-tox-py35 https://zuul.opendev.org/t/openstack/build/6838a8d5daa74326b091fad2ada4e88f : SUCCESS in 3m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3896c3d2aaa842b3a352ebab64b10578 : SUCCESS in 2m 31s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/dd2e2e165f4d48cd8cc147c97ab16525 : SUCCESS in 3m 01s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/78f85998f4cf4d5d933b90f030b67a28 : SUCCESS in 3m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/899fdf10af1946ea8802b4ff239adcf6 : SUCCESS in 4m 32s","accounts_in_message":[],"_revision_number":2},{"id":"a0c55ca8ce012a01a3f912728aa1f459b2efee47","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-26 20:37:07.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"ef91a851abed80bedb85d3570a6990d83fbdf1f8","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-26 20:39:00.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2398062149f845a29a0e0ba95cbb1f66 : SUCCESS in 1m 18s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2fcd152f1bf44121af183f7d129e26b1 : SUCCESS in 1m 19s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"b921c4de513c9cc624d6ecf68e4f4493e6e72c0d","revisions":{"bdc207f5a5be8ecb242a150cd4c6474a59aa932a":{"kind":"REWORK","_number":1,"created":"2020-07-22 16:17:33.000000000","uploader":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"ref":"refs/changes/75/742475/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/hacking","ref":"refs/changes/75/742475/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/hacking refs/changes/75/742475/1"}}},"commit":{"parents":[{"commit":"93e6cd290471f9e58f6d052eea508213a55f98c3","subject":"migrate testing to ubuntu focal","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/93e6cd290471f9e58f6d052eea508213a55f98c3"}]}],"author":{"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","date":"2020-07-22 16:09:08.000000000","tz":-300},"committer":{"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","date":"2020-07-22 16:09:08.000000000","tz":-300},"subject":"Add H211 to flag use of third party mock","message":"Add H211 to flag use of third party mock\n\nMany projects use mocking in their unit tests, and most do not realize\nthat there is a difference between \"import mock\" and \"import\nunittest.mock\", assuming that both use a standard part of the Python\nlibrary.\n\nWe\u0027ve seen many cases where mock is not listed in the project\u0027s\nrequirements, but the code imports the third party mock instead of\nunittest.mock. We\u0027ve also seen a few break due to this, once their\ndependencies have stopped pulling in that package for them.\n\nThere have also been several projects that have taken the effort to\nswitch all of there \"import mock\" statements over to \"import\nunittest.mock\", as well as removing mock from their requirements, only\nto then accidentally merge a patch that does \"import mock\" again because\nit is hard to notice in code reviews.\n\nThis check is on by default. If a project is using the mock lib, then\nthey are able to explicitly do so by disabling this check. Otherwise,\nprojects don\u0027t need to take any action to get this protection, since\nthis is now the recommended default.\n\nChange-Id: I8d255a00792a19279074703a8209a3699b480fd0\nSigned-off-by: Sean McGinnis \u003csean.mcginnis@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/bdc207f5a5be8ecb242a150cd4c6474a59aa932a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/bdc207f5a5be8ecb242a150cd4c6474a59aa932a"}]},"branch":"refs/heads/master"},"b921c4de513c9cc624d6ecf68e4f4493e6e72c0d":{"kind":"REWORK","_number":2,"created":"2020-12-01 20:23:32.000000000","uploader":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"ref":"refs/changes/75/742475/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/hacking","ref":"refs/changes/75/742475/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/hacking refs/changes/75/742475/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/hacking refs/changes/75/742475/2"}}},"commit":{"parents":[{"commit":"4069b0c4f50177dbcaa188aff0de67b4d316a873","subject":"Add separate releasenotes page per version","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/4069b0c4f50177dbcaa188aff0de67b4d316a873"}]}],"author":{"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","date":"2020-07-22 16:09:08.000000000","tz":-300},"committer":{"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","date":"2020-12-01 20:23:27.000000000","tz":-360},"subject":"Add H216 to flag use of third party mock","message":"Add H216 to flag use of third party mock\n\nMany projects use mocking in their unit tests, and most do not realize\nthat there is a difference between \"import mock\" and \"import\nunittest.mock\", assuming that both use a standard part of the Python\nlibrary.\n\nWe\u0027ve seen many cases where mock is not listed in the project\u0027s\nrequirements, but the code imports the third party mock instead of\nunittest.mock. We\u0027ve also seen a few break due to this, once their\ndependencies have stopped pulling in that package for them.\n\nThere have also been several projects that have taken the effort to\nswitch all of there \"import mock\" statements over to \"import\nunittest.mock\", as well as removing mock from their requirements, only\nto then accidentally merge a patch that does \"import mock\" again because\nit is hard to notice in code reviews.\n\nThis check is on by default. If a project is using the mock lib, then\nthey are able to explicitly do so by disabling this check. Otherwise,\nprojects don\u0027t need to take any action to get this protection, since\nthis is now the recommended default.\n\nChange-Id: I8d255a00792a19279074703a8209a3699b480fd0\nSigned-off-by: Sean McGinnis \u003csean.mcginnis@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/b921c4de513c9cc624d6ecf68e4f4493e6e72c0d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/b921c4de513c9cc624d6ecf68e4f4493e6e72c0d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":31239,"name":"Paras Babbar","email":"pbabbar@redhat.com","username":"pbabbar"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
