]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Fix calls to assert_called_once in unit tests
authorgit-harry <git-harry@live.co.uk>
Sat, 22 Nov 2014 10:16:22 +0000 (10:16 +0000)
committergit-harry <git-harry@live.co.uk>
Mon, 24 Nov 2014 16:56:10 +0000 (16:56 +0000)
commit322126212e44358446c0fcabfa451a2f2b76f146
tree6da9574cdefa9a9f43cac08b4cf94095110bc1ae
parent0fb250bff8ac278a27979815aa1c4885f4f37af4
Fix calls to assert_called_once in unit tests

Mock has a method called assert_called_once_with to check that a mock
was called and the arguments it took were as expected. Mock does not
have a method called assert_called_once and calling it just creates a
mock bound to that name. This means that not only is nothing tested
when assert_called_once is used, the tests also don't warn about this.

This commit attempts to address this in two ways:
    - all occurrences of assert_called_once are replaced with a real
      assertion.
    - the hacking check that nova uses to guard against this has been
      copied to cinder's local hacking checks.

Fixing the assert_called_once issues also highlighted other mistakes
in certain tests which were addressed to make the tests pass.

Due to the nature of mock, this issue is also possible if a method is
misspelt or just mistakenly used and so the hacking check is only
addressing one very specific case. That said, it does appear to be a
common mistake and so is worth singling out.

Change-Id: Iedcc3f48d91f7ebd8878ccc3bca3d023503774bd
Closes-Bug: #1394544
12 files changed:
HACKING.rst
cinder/hacking/checks.py
cinder/tests/keymgr/test_barbican.py
cinder/tests/test_backup_driver_base.py
cinder/tests/test_glusterfs.py
cinder/tests/test_hp_msa.py
cinder/tests/test_rbd.py
cinder/tests/test_smbfs.py
cinder/tests/test_utils.py
cinder/tests/windows/test_vhdutils.py
cinder/tests/zonemanager/test_brcd_fc_zone_client_cli.py
cinder/tests/zonemanager/test_fc_zone_manager.py