Reduce unit testing changes required for emit_releases_file
When looking at recent edit of emit_releases_file.py it seems that the amount of manual unit test changes required [1] is so high that it might deter contributors and consume too much effort. Much of the edited unit test data seems repetitive, so my rationale here is that we can reduce the amount of data resulting in a small loss of coverage but considerable reduction of required labor when making emit_releases_file amendments. The order of side effects for get_hash function was considered for the test result, now we use a fixture that is backed up by a tuple to a string dictionary to configure the mock, so the order is not important anymore. Co-Authored-By: Quique Llorente <ellorent@redhat.com> [1] https://review.openstack.org/#/c/606996/7/scripts/emit_releases_file/test_release_name.py Change-Id: Ie573813a4916aeb1bb15b5aa38dc2a732586e8c2
This commit is contained in:
parent
de8f1941a1
commit
c6bc5f8ace
|
@ -4,88 +4,27 @@ import mock
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@pytest.fixture
|
||||||
@pytest.mark.parametrize('stable_release,expected_releases',
|
def hash_mock_setup():
|
||||||
[('master', {
|
|
||||||
'undercloud_install_release': 'master',
|
# We need this variables to be arrays to emulate a reference in python
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
# https://stackoverflow.com/questions/12116127/python-yield-generator-variable-scope
|
||||||
'undercloud_target_release': 'master',
|
# For python3 we have special keyword nonlocal so we can refer the variable
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
# in the inner factory function
|
||||||
'overcloud_deploy_release': 'rocky',
|
setup_mock = []
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
calls_args = []
|
||||||
'overcloud_target_release': 'master',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
def _hash_mock_setup(get_hash_mock, calls):
|
||||||
'standalone_deploy_release': 'master',
|
get_hash_mock.side_effect = lambda r, h: calls[(r, h)]
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
# Store the references to use them at tear down
|
||||||
'standalone_target_release': 'master',
|
setup_mock.append(get_hash_mock)
|
||||||
'standalone_target_newest_hash': 'current',
|
calls_args.append([mock.call(*cargs) for cargs in calls])
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}), ('rocky', {
|
yield _hash_mock_setup
|
||||||
'undercloud_install_release': 'rocky',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
# Tear down code here
|
||||||
'undercloud_target_release': 'rocky',
|
setup_mock[0].assert_has_calls(calls_args[0], any_order=True)
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'rocky',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'rocky',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'rocky',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}), ('pike', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
})])
|
|
||||||
def test_overcloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
|
||||||
stable_release,
|
|
||||||
expected_releases):
|
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
|
||||||
'old-current-tripleo']
|
|
||||||
featureset = {
|
|
||||||
'mixed_upgrade': True,
|
|
||||||
'overcloud_upgrade': True,
|
|
||||||
}
|
|
||||||
upgrade_from = False
|
|
||||||
assert (compose_releases_dictionary(stable_release,
|
|
||||||
featureset,
|
|
||||||
upgrade_from) == expected_releases)
|
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo'),
|
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
|
||||||
'current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -120,97 +59,83 @@ def test_overcloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
'standalone_target_release': 'rocky',
|
'standalone_target_release': 'rocky',
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}), ('pike', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
})])
|
})])
|
||||||
def test_period_overcloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
def test_overcloud_upgrade_is_n_minus_one_to_n(
|
||||||
stable_release,
|
hash_mock, hash_mock_setup, stable_release, expected_releases):
|
||||||
expected_releases):
|
|
||||||
mock_get_hash.side_effect = ['current',
|
hash_mock_setup(
|
||||||
'current-tripleo',
|
hash_mock, {
|
||||||
'old-current-tripleo']
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_releases['overcloud_deploy_release'], 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'mixed_upgrade': True,
|
'mixed_upgrade': True,
|
||||||
'overcloud_upgrade': True,
|
'overcloud_upgrade': True,
|
||||||
}
|
}
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release, featureset,
|
||||||
featureset,
|
|
||||||
upgrade_from,
|
|
||||||
is_periodic=True) == expected_releases)
|
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing'),
|
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
|
||||||
'current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
|
||||||
@pytest.mark.parametrize('stable_release,expected_releases', [
|
|
||||||
('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'newton',
|
|
||||||
'overcloud_deploy_hash': 'old-current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}),
|
|
||||||
])
|
|
||||||
def test_ffu_overcloud_upgrade_is_n_minus_three_to_n(mock_get_hash,
|
|
||||||
stable_release,
|
|
||||||
expected_releases):
|
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
|
||||||
'old-current-tripleo']
|
|
||||||
featureset = {
|
|
||||||
'mixed_upgrade': True,
|
|
||||||
'ffu_overcloud_upgrade': True,
|
|
||||||
}
|
|
||||||
upgrade_from = False
|
|
||||||
assert (compose_releases_dictionary(stable_release,
|
|
||||||
featureset,
|
|
||||||
upgrade_from) == expected_releases)
|
upgrade_from) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo'),
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
@pytest.mark.parametrize('stable_release,expected_releases',
|
||||||
'current-passed-ci')])
|
[('master', {
|
||||||
|
'undercloud_install_release': 'master',
|
||||||
|
'undercloud_install_hash': 'current-tripleo',
|
||||||
|
'undercloud_target_release': 'master',
|
||||||
|
'undercloud_target_hash': 'current-tripleo',
|
||||||
|
'overcloud_deploy_release': 'rocky',
|
||||||
|
'overcloud_deploy_hash': 'old-current-tripleo',
|
||||||
|
'overcloud_target_release': 'master',
|
||||||
|
'overcloud_target_hash': 'current-tripleo',
|
||||||
|
'standalone_deploy_release': 'master',
|
||||||
|
'standalone_deploy_newest_hash': 'current',
|
||||||
|
'standalone_deploy_hash': 'current-tripleo',
|
||||||
|
'standalone_target_release': 'master',
|
||||||
|
'standalone_target_newest_hash': 'current',
|
||||||
|
'standalone_target_hash': 'current-tripleo',
|
||||||
|
}), ('rocky', {
|
||||||
|
'undercloud_install_release': 'rocky',
|
||||||
|
'undercloud_install_hash': 'current-tripleo',
|
||||||
|
'undercloud_target_release': 'rocky',
|
||||||
|
'undercloud_target_hash': 'current-tripleo',
|
||||||
|
'overcloud_deploy_release': 'queens',
|
||||||
|
'overcloud_deploy_hash': 'old-current-tripleo',
|
||||||
|
'overcloud_target_release': 'rocky',
|
||||||
|
'overcloud_target_hash': 'current-tripleo',
|
||||||
|
'standalone_deploy_release': 'rocky',
|
||||||
|
'standalone_deploy_newest_hash': 'current',
|
||||||
|
'standalone_deploy_hash': 'current-tripleo',
|
||||||
|
'standalone_target_release': 'rocky',
|
||||||
|
'standalone_target_newest_hash': 'current',
|
||||||
|
'standalone_target_hash': 'current-tripleo',
|
||||||
|
})])
|
||||||
|
def test_period_overcloud_upgrade_is_n_minus_one_to_n(
|
||||||
|
hash_mock, hash_mock_setup, stable_release, expected_releases):
|
||||||
|
|
||||||
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_releases['overcloud_deploy_release'], 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
|
featureset = {
|
||||||
|
'mixed_upgrade': True,
|
||||||
|
'overcloud_upgrade': True,
|
||||||
|
}
|
||||||
|
upgrade_from = False
|
||||||
|
assert (compose_releases_dictionary(
|
||||||
|
stable_release, featureset, upgrade_from,
|
||||||
|
is_periodic=True) == expected_releases)
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -232,26 +157,73 @@ def test_ffu_overcloud_upgrade_is_n_minus_three_to_n(mock_get_hash,
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
def test_period_ffu_overcloud_upgrade_is_n_minus_three_to_n(mock_get_hash,
|
def test_ffu_overcloud_upgrade_is_n_minus_three_to_n(
|
||||||
stable_release,
|
hash_mock, hash_mock_setup, stable_release, expected_releases):
|
||||||
expected_releases):
|
|
||||||
mock_get_hash.side_effect = ['current',
|
expected_oc_deploy_release = expected_releases['overcloud_deploy_release']
|
||||||
'current-tripleo',
|
|
||||||
'old-current-tripleo']
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_oc_deploy_release, 'current-passed-ci'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
|
featureset = {
|
||||||
|
'mixed_upgrade': True,
|
||||||
|
'ffu_overcloud_upgrade': True,
|
||||||
|
}
|
||||||
|
|
||||||
|
upgrade_from = False
|
||||||
|
assert (compose_releases_dictionary(stable_release, featureset,
|
||||||
|
upgrade_from) == expected_releases)
|
||||||
|
|
||||||
|
|
||||||
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@pytest.mark.parametrize('stable_release,expected_releases', [
|
||||||
|
('queens', {
|
||||||
|
'undercloud_install_release': 'queens',
|
||||||
|
'undercloud_install_hash': 'current-tripleo',
|
||||||
|
'undercloud_target_release': 'queens',
|
||||||
|
'undercloud_target_hash': 'current-tripleo',
|
||||||
|
'overcloud_deploy_release': 'newton',
|
||||||
|
'overcloud_deploy_hash': 'old-current-tripleo',
|
||||||
|
'overcloud_target_release': 'queens',
|
||||||
|
'overcloud_target_hash': 'current-tripleo',
|
||||||
|
'standalone_deploy_release': 'queens',
|
||||||
|
'standalone_deploy_newest_hash': 'current',
|
||||||
|
'standalone_deploy_hash': 'current-tripleo',
|
||||||
|
'standalone_target_release': 'queens',
|
||||||
|
'standalone_target_newest_hash': 'current',
|
||||||
|
'standalone_target_hash': 'current-tripleo',
|
||||||
|
}),
|
||||||
|
])
|
||||||
|
def test_period_ffu_overcloud_upgrade_is_n_minus_three_to_n(
|
||||||
|
hash_mock, hash_mock_setup, stable_release, expected_releases):
|
||||||
|
|
||||||
|
expected_oc_deploy_release = expected_releases['overcloud_deploy_release']
|
||||||
|
|
||||||
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_oc_deploy_release, 'current-passed-ci'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'mixed_upgrade': True,
|
'mixed_upgrade': True,
|
||||||
'ffu_overcloud_upgrade': True,
|
'ffu_overcloud_upgrade': True,
|
||||||
}
|
}
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(
|
||||||
featureset,
|
stable_release, featureset, upgrade_from,
|
||||||
upgrade_from,
|
is_periodic=True) == expected_releases)
|
||||||
is_periodic=True) == expected_releases)
|
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing'),
|
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
|
||||||
'current-passed-ci')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -288,57 +260,30 @@ def test_period_ffu_overcloud_upgrade_is_n_minus_three_to_n(mock_get_hash,
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}),
|
}),
|
||||||
('queens', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'old-current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}),
|
|
||||||
('pike', {
|
|
||||||
'undercloud_install_release': 'ocata',
|
|
||||||
'undercloud_install_hash': 'old-current-tripleo',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'overcloud_deploy_hash': 'current-tripleo',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
}),
|
|
||||||
])
|
])
|
||||||
def test_undercloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
def test_undercloud_upgrade_is_n_minus_one_to_n(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
expected_release = expected_releases['undercloud_install_release']
|
||||||
'current-tripleo',
|
hash_mock_setup(
|
||||||
'old-current-tripleo']
|
hash_mock, {
|
||||||
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'undercloud_upgrade': True,
|
'undercloud_upgrade': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from) == expected_releases)
|
upgrade_from) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo'),
|
|
||||||
mock.call(expected_releases['undercloud_install_release'],
|
|
||||||
'current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -360,25 +305,32 @@ def test_undercloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
def test_period_undercloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
def test_period_undercloud_upgrade_is_n_minus_one_to_n(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
expected_release = expected_releases['undercloud_install_release']
|
||||||
'old-current-tripleo']
|
|
||||||
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'undercloud_upgrade': True,
|
'undercloud_upgrade': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from,
|
upgrade_from,
|
||||||
is_periodic=True) == expected_releases)
|
is_periodic=True) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing'),
|
|
||||||
mock.call(expected_releases['undercloud_install_release'],
|
|
||||||
'current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -400,27 +352,33 @@ def test_period_undercloud_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
def test_standalone_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
def test_standalone_upgrade_is_n_minus_one_to_n(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
expected_release = expected_releases['standalone_deploy_release']
|
||||||
'old-current-tripleo',
|
|
||||||
'old-current']
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
(expected_release, 'current'):
|
||||||
|
'old-current',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'standalone_upgrade': True,
|
'standalone_upgrade': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from) == expected_releases)
|
upgrade_from) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo'),
|
|
||||||
mock.call(expected_releases['standalone_deploy_release'],
|
|
||||||
'current-tripleo'),
|
|
||||||
mock.call(expected_releases['standalone_deploy_release'],
|
|
||||||
'current')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -442,13 +400,25 @@ def test_standalone_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
def test_period_standalone_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
def test_period_standalone_upgrade_is_n_minus_one_to_n(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
expected_release = expected_releases['standalone_deploy_release']
|
||||||
'old-current-tripleo',
|
|
||||||
'old-current']
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'current-tripleo'):
|
||||||
|
'old-current-tripleo',
|
||||||
|
(expected_release, 'current'):
|
||||||
|
'old-current',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'standalone_upgrade': True,
|
'standalone_upgrade': True,
|
||||||
}
|
}
|
||||||
|
@ -457,13 +427,6 @@ def test_period_standalone_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from,
|
upgrade_from,
|
||||||
is_periodic=True) == expected_releases)
|
is_periodic=True) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing'),
|
|
||||||
mock.call(expected_releases['standalone_deploy_release'],
|
|
||||||
'current-tripleo'),
|
|
||||||
mock.call(expected_releases['standalone_deploy_release'],
|
|
||||||
'current')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -499,72 +462,32 @@ def test_period_standalone_upgrade_is_n_minus_one_to_n(mock_get_hash,
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
'standalone_target_release': 'rocky'
|
'standalone_target_release': 'rocky'
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'previous-current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens',
|
|
||||||
}), ('pike', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'overcloud_deploy_hash': 'previous-current-tripleo',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'pike'
|
|
||||||
}), ('ocata', {
|
|
||||||
'undercloud_install_release': 'ocata',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'ocata',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'overcloud_deploy_hash': 'previous-current-tripleo',
|
|
||||||
'overcloud_target_release': 'ocata',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'ocata',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'ocata'
|
|
||||||
})])
|
})])
|
||||||
def test_overcloud_update_target_is_hash(mock_get_hash,
|
def test_overcloud_update_target_is_hash(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'current-tripleo',
|
expected_release = expected_releases['overcloud_deploy_release']
|
||||||
'previous-current-tripleo']
|
|
||||||
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'previous-current-tripleo'):
|
||||||
|
'previous-current-tripleo'
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'overcloud_update': True,
|
'overcloud_update': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from) == expected_releases)
|
upgrade_from) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo'),
|
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
|
||||||
'previous-current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -600,29 +523,24 @@ def test_overcloud_update_target_is_hash(mock_get_hash,
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
'standalone_target_hash': 'tripleo-ci-testing',
|
||||||
'standalone_target_release': 'rocky'
|
'standalone_target_release': 'rocky'
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'tripleo-ci-testing',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'previous-current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_target_release': 'queens'
|
|
||||||
})])
|
})])
|
||||||
def test_period_overcloud_update_target_is_hash(mock_get_hash,
|
def test_period_overcloud_update_target_is_hash(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current',
|
|
||||||
'tripleo-ci-testing',
|
expected_release = expected_releases['overcloud_deploy_release']
|
||||||
'previous-current-tripleo',
|
|
||||||
'old-current']
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'tripleo-ci-testing',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
(expected_release, 'previous-current-tripleo'):
|
||||||
|
'previous-current-tripleo'
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {
|
featureset = {
|
||||||
'overcloud_update': True,
|
'overcloud_update': True,
|
||||||
}
|
}
|
||||||
|
@ -631,11 +549,6 @@ def test_period_overcloud_update_target_is_hash(mock_get_hash,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from,
|
upgrade_from,
|
||||||
is_periodic=True) == expected_releases)
|
is_periodic=True) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing'),
|
|
||||||
mock.call(expected_releases['overcloud_deploy_release'],
|
|
||||||
'previous-current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -671,64 +584,24 @@ def test_period_overcloud_update_target_is_hash(mock_get_hash,
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'current-tripleo',
|
'standalone_target_hash': 'current-tripleo',
|
||||||
'standalone_target_release': 'rocky'
|
'standalone_target_release': 'rocky'
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'current-tripleo',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'queens'
|
|
||||||
}), ('pike', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'overcloud_deploy_hash': 'current-tripleo',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'pike'
|
|
||||||
}), ('ocata', {
|
|
||||||
'undercloud_install_release': 'ocata',
|
|
||||||
'undercloud_install_hash': 'current-tripleo',
|
|
||||||
'undercloud_target_release': 'ocata',
|
|
||||||
'undercloud_target_hash': 'current-tripleo',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'overcloud_deploy_hash': 'current-tripleo',
|
|
||||||
'overcloud_target_release': 'ocata',
|
|
||||||
'overcloud_target_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'current-tripleo',
|
|
||||||
'standalone_deploy_release': 'ocata',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'current-tripleo',
|
|
||||||
'standalone_target_release': 'ocata'
|
|
||||||
})])
|
})])
|
||||||
def test_noop_target_is_the_same(mock_get_hash,
|
def test_noop_target_is_the_same(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current', 'current-tripleo']
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'current-tripleo'):
|
||||||
|
'current-tripleo',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {}
|
featureset = {}
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from) == expected_releases)
|
upgrade_from) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'current-tripleo')])
|
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('emit_releases_file.get_dlrn_hash')
|
@mock.patch('emit_releases_file.get_dlrn_hash')
|
||||||
|
@ -763,62 +636,23 @@ def test_noop_target_is_the_same(mock_get_hash,
|
||||||
'standalone_target_newest_hash': 'current',
|
'standalone_target_newest_hash': 'current',
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
'standalone_target_hash': 'tripleo-ci-testing',
|
||||||
'standalone_target_release': 'rocky'
|
'standalone_target_release': 'rocky'
|
||||||
}), ('queens', {
|
|
||||||
'undercloud_install_release': 'queens',
|
|
||||||
'undercloud_install_hash': 'tripleo-ci-testing',
|
|
||||||
'undercloud_target_release': 'queens',
|
|
||||||
'undercloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_deploy_release': 'queens',
|
|
||||||
'overcloud_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_target_release': 'queens',
|
|
||||||
'overcloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_release': 'queens',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_target_release': 'queens'
|
|
||||||
}), ('pike', {
|
|
||||||
'undercloud_install_release': 'pike',
|
|
||||||
'undercloud_install_hash': 'tripleo-ci-testing',
|
|
||||||
'undercloud_target_release': 'pike',
|
|
||||||
'undercloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_deploy_release': 'pike',
|
|
||||||
'overcloud_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_target_release': 'pike',
|
|
||||||
'overcloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_release': 'pike',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_target_release': 'pike'
|
|
||||||
}), ('ocata', {
|
|
||||||
'undercloud_install_release': 'ocata',
|
|
||||||
'undercloud_install_hash': 'tripleo-ci-testing',
|
|
||||||
'undercloud_target_release': 'ocata',
|
|
||||||
'undercloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_deploy_release': 'ocata',
|
|
||||||
'overcloud_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'overcloud_target_release': 'ocata',
|
|
||||||
'overcloud_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_newest_hash': 'current',
|
|
||||||
'standalone_deploy_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_deploy_release': 'ocata',
|
|
||||||
'standalone_target_newest_hash': 'current',
|
|
||||||
'standalone_target_hash': 'tripleo-ci-testing',
|
|
||||||
'standalone_target_release': 'ocata'
|
|
||||||
})])
|
})])
|
||||||
def test_periodic_noop_target_is_the_same(mock_get_hash,
|
def test_periodic_noop_target_is_the_same(hash_mock,
|
||||||
|
hash_mock_setup,
|
||||||
stable_release,
|
stable_release,
|
||||||
expected_releases):
|
expected_releases):
|
||||||
mock_get_hash.side_effect = ['current', 'tripleo-ci-testing']
|
|
||||||
|
hash_mock_setup(
|
||||||
|
hash_mock, {
|
||||||
|
(stable_release, 'tripleo-ci-testing'):
|
||||||
|
'tripleo-ci-testing',
|
||||||
|
(stable_release, 'current'):
|
||||||
|
'current',
|
||||||
|
})
|
||||||
|
|
||||||
featureset = {}
|
featureset = {}
|
||||||
upgrade_from = False
|
upgrade_from = False
|
||||||
assert (compose_releases_dictionary(stable_release,
|
assert (compose_releases_dictionary(stable_release,
|
||||||
featureset,
|
featureset,
|
||||||
upgrade_from,
|
upgrade_from,
|
||||||
is_periodic=True) == expected_releases)
|
is_periodic=True) == expected_releases)
|
||||||
mock_get_hash.assert_has_calls(
|
|
||||||
[mock.call(stable_release, 'current'),
|
|
||||||
mock.call(stable_release, 'tripleo-ci-testing')])
|
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -45,7 +45,7 @@ commands = bindep test
|
||||||
[testenv:py27]
|
[testenv:py27]
|
||||||
deps = {[testenv]deps}
|
deps = {[testenv]deps}
|
||||||
changedir = scripts/emit_releases_file
|
changedir = scripts/emit_releases_file
|
||||||
commands = pytest
|
commands = pytest {posargs:--cov=emit_releases_file}
|
||||||
|
|
||||||
[testenv:py35]
|
[testenv:py35]
|
||||||
deps={[testenv]deps}
|
deps={[testenv]deps}
|
||||||
|
|
Loading…
Reference in New Issue