tripleo-ci/scripts/emit_releases_file/test_get_dlrn_hash.py

36 lines
1.4 KiB
Python

from emit_releases_file import get_dlrn_hash
import mock
import pytest
@mock.patch('requests.get')
def test_get_dlrn_hash(mock_get):
mock_response = mock.Mock()
mock_response.content = ('[delorean]\nname=delorean-openstack-nova-81c23c04'
'7e8e0fc03b54164921f49fdb4103202c\nbaseurl=https:/'
'/trunk.rdoproject.org/centos7/81/c2/81c23c047e8e0'
'fc03b54164921f49fdb4103202c_b333f915\nenabled=1\n'
'gpgcheck=0\npriority=1')
release = 'master'
hash_name = 'current-tripleo'
repo_url = ('https://trunk.rdoproject.org/centos7-%s/%s/delorean.repo'
% (release, hash_name))
mock_get.return_value = mock_response
assert (get_dlrn_hash(release, hash_name) ==
'81c23c047e8e0fc03b54164921f49fdb4103202c_b333f915')
mock_get.assert_called_once_with(repo_url, timeout=(3.05, 27))
@mock.patch('requests.get')
def test_null_response_raises_runtimeerror(mock_get):
release = 'master'
hash_name = 'current-tripleo'
repo_url = ('https://trunk.rdoproject.org/centos7-%s/%s/delorean.repo' %
(release, hash_name))
mock_get.return_value = None
with pytest.raises(RuntimeError):
get_dlrn_hash(release, hash_name)
mock_get.assert_called_with(repo_url, timeout=(3.05, 27))
assert (10 == mock_get.call_count)