Unit tests for scm_request_processor done
Unit tests are now covering 100% of current code. Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
parent
03b815c112
commit
d5f38f16d6
1 changed files with 128 additions and 0 deletions
|
@ -2626,3 +2626,131 @@ class TestValidateReviewBug:
|
||||||
call({"username": user}, "packager"),
|
call({"username": user}, "packager"),
|
||||||
call({"username": user}, "packager"),
|
call({"username": user}, "packager"),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
class TestValidEpelPackage:
|
||||||
|
"""
|
||||||
|
Test class for `toddlers.plugins.scm_request_processor.SCMRequestProcessor.valid_epel_package` method.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setup(self):
|
||||||
|
"""
|
||||||
|
Initialize toddler.
|
||||||
|
"""
|
||||||
|
self.toddler = scm_request_processor.SCMRequestProcessor()
|
||||||
|
self.toddler.pagure_io = Mock()
|
||||||
|
self.toddler.dist_git = Mock()
|
||||||
|
self.toddler.requests_session = Mock()
|
||||||
|
|
||||||
|
def test_valid_epel_package_bad_response(self):
|
||||||
|
"""
|
||||||
|
Assert that method will raise error when bad response is retrieved.
|
||||||
|
"""
|
||||||
|
# Preparation
|
||||||
|
name = "package"
|
||||||
|
branch = "epel8"
|
||||||
|
|
||||||
|
mock_response = Mock()
|
||||||
|
mock_response.status_code = 500
|
||||||
|
self.toddler.requests_session.get.return_value = mock_response
|
||||||
|
|
||||||
|
error = "Couldn't retrieve the list of official EL packages"
|
||||||
|
|
||||||
|
# Method to test
|
||||||
|
with pytest.raises(ValidationError, match=error):
|
||||||
|
self.toddler.valid_epel_package(name=name, branch=branch)
|
||||||
|
|
||||||
|
# Asserts
|
||||||
|
self.toddler.requests_session.get.assert_called_with(
|
||||||
|
"https://infrastructure.fedoraproject.org/repo/json/pkg_el8.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_valid_epel_package_epel6_noarch(self):
|
||||||
|
"""
|
||||||
|
Assert that method will return False when epel6 noarch package is introduced.
|
||||||
|
"""
|
||||||
|
# Preparation
|
||||||
|
name = "package"
|
||||||
|
branch = "epel6"
|
||||||
|
|
||||||
|
mock_response = Mock()
|
||||||
|
mock_response.status_code = 200
|
||||||
|
mock_response.json.return_value = {
|
||||||
|
"arches": ["noarch", "ppc", "i386"],
|
||||||
|
"packages": {
|
||||||
|
name: {
|
||||||
|
"arch": ["noarch"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.toddler.requests_session.get.return_value = mock_response
|
||||||
|
|
||||||
|
# Method to test
|
||||||
|
result = self.toddler.valid_epel_package(name=name, branch=branch)
|
||||||
|
|
||||||
|
# Asserts
|
||||||
|
self.toddler.requests_session.get.assert_called_with(
|
||||||
|
"https://infrastructure.fedoraproject.org/repo/json/pkg_el6.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert result is False
|
||||||
|
|
||||||
|
def test_valid_epel_package_epel7_noarch(self):
|
||||||
|
"""
|
||||||
|
Assert that method will return False when epel7 noarch package is introduced.
|
||||||
|
"""
|
||||||
|
# Preparation
|
||||||
|
name = "package"
|
||||||
|
branch = "epel7"
|
||||||
|
|
||||||
|
mock_response = Mock()
|
||||||
|
mock_response.status_code = 200
|
||||||
|
mock_response.json.return_value = {
|
||||||
|
"arches": ["noarch", "ppc", "i386"],
|
||||||
|
"packages": {
|
||||||
|
name: {
|
||||||
|
"arch": ["noarch"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.toddler.requests_session.get.return_value = mock_response
|
||||||
|
|
||||||
|
# Method to test
|
||||||
|
result = self.toddler.valid_epel_package(name=name, branch=branch)
|
||||||
|
|
||||||
|
# Asserts
|
||||||
|
self.toddler.requests_session.get.assert_called_with(
|
||||||
|
"https://infrastructure.fedoraproject.org/repo/json/pkg_el7.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert result is False
|
||||||
|
|
||||||
|
def test_valid_epel_package_valid_package(self):
|
||||||
|
"""
|
||||||
|
Assert that method will return True when package is valid.
|
||||||
|
"""
|
||||||
|
# Preparation
|
||||||
|
name = "package"
|
||||||
|
branch = "epel8"
|
||||||
|
|
||||||
|
mock_response = Mock()
|
||||||
|
mock_response.status_code = 200
|
||||||
|
mock_response.json.return_value = {
|
||||||
|
"arches": ["noarch", "ppc", "i386"],
|
||||||
|
"packages": {
|
||||||
|
name: {
|
||||||
|
"arch": ["x86_64"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.toddler.requests_session.get.return_value = mock_response
|
||||||
|
|
||||||
|
# Method to test
|
||||||
|
result = self.toddler.valid_epel_package(name=name, branch=branch)
|
||||||
|
|
||||||
|
# Asserts
|
||||||
|
self.toddler.requests_session.get.assert_called_with(
|
||||||
|
"https://infrastructure.fedoraproject.org/repo/json/pkg_el8.json"
|
||||||
|
)
|
||||||
|
|
||||||
|
assert result is True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue