Comment 2 for bug 1394544

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/136756
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=322126212e44358446c0fcabfa451a2f2b76f146
Submitter: Jenkins
Branch: master

commit 322126212e44358446c0fcabfa451a2f2b76f146
Author: git-harry <email address hidden>
Date: Sat Nov 22 10:16:22 2014 +0000

    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