mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-13 20:10:05 +08:00
new unit test
This commit is contained in:
38
tests/staged_data/testmodule-dashed-stream.yaml
Normal file
38
tests/staged_data/testmodule-dashed-stream.yaml
Normal 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
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user