new unit test

This commit is contained in:
Mike McLean
2021-05-06 13:43:30 -04:00
parent 53000c0783
commit d6185e806e
2 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
document: modulemd
version: 1
data:
summary: A test module in all its beautiful beauty
stream: some-stream
description: >-
This module demonstrates how to write simple modulemd files And
can be used for testing the build and release pipeline.
license:
module: [ MIT ]
dependencies:
buildrequires:
platform: f28
requires:
platform: f28
references:
community: https://docs.pagure.org/modularity/
documentation: https://fedoraproject.org/wiki/Fedora_Packaging_Guidelines_for_Modules
profiles:
default:
rpms:
- tangerine
api:
rpms:
- perl-Tangerine
- tangerine
components:
rpms:
perl-List-Compare:
rationale: A dependency of tangerine.
ref: master
perl-Tangerine:
rationale: Provides API for this module and is a dependency of tangerine.
ref: master
tangerine:
rationale: Provides API for this module.
buildorder: 10
ref: master

View File

@@ -1352,6 +1352,46 @@ class TestSubmitBuild:
)
assert data["error"] == "Bad Request"
@pytest.mark.parametrize("dashes_allowed", (True, False))
@pytest.mark.parametrize("yaml_file", ("testmodule.yaml", "testmodule-dashed-stream.yaml"))
@patch("module_build_service.web.auth.get_user", return_value=user)
@patch("module_build_service.common.scm.SCM")
def test_submit_build_dashes_in_stream(self, mocked_scm, mocked_get_user, yaml_file,
dashes_allowed):
FakeSCM(
mocked_scm,
"testmodule",
yaml_file,
"620ec77321b2ea7b0d67d82992dda3e1d67055b4",
)
with patch.object(mbs_config.Config, "allow_dashes_in_svc",
new_callable=PropertyMock) as da, \
patch.object(mbs_config.Config, "allow_stream_override_from_scm",
new_callable=PropertyMock) as asofs:
da.return_value = dashes_allowed
asofs.return_value = True
rv = self.client.post(
"/module-build-service/1/module-builds/",
data=json.dumps({
"branch": "master",
"scmurl": "https://src.stg.fedoraproject.org/modules/"
"testmodule.git?#68931c90de214d9d13feefbd35246a81b6cb8d49",
}),
)
data = json.loads(rv.data)
if not dashes_allowed and 'dash' in yaml_file:
assert data["status"] == 400
assert data["message"] == "Dashes are not allowed in the stream value"
assert data["error"] == "Bad Request"
else:
assert data["name"] == "testmodule"
if 'dash' in yaml_file:
assert data["stream"] == "some-stream"
else:
assert data["stream"] == "master"
@patch("module_build_service.web.auth.get_user", return_value=user)
def test_submit_build_set_owner(self, mocked_get_user):
data = {