Add authentication for product pages

This commit is contained in:
Brendan Reilly
2025-04-17 16:28:13 -04:00
parent 5a0c8b37e1
commit 23f77986e2
3 changed files with 72 additions and 5 deletions

View File

@@ -2195,12 +2195,25 @@ class TestSubmitBuild:
"module_build_service.common.config.Config.product_pages_schedule_task_name",
new_callable=PropertyMock,
)
@patch(
"module_build_service.common.config.Config.product_pages_token_endpoint",
new_callable=PropertyMock,
)
@patch(
"module_build_service.common.config.Config.product_pages_oidc_client_id",
new_callable=PropertyMock,
)
@patch(
"module_build_service.common.config.Config.product_pages_client_secret",
new_callable=PropertyMock,
)
@patch("requests.get")
@patch("module_build_service.web.auth.get_user", return_value=user)
@patch("module_build_service.common.scm.SCM")
@patch("module_build_service.web.submit._product_pages_oidc_auth", return_value="authstring")
def test_submit_build_automatic_z_stream_detection(
self, mocked_scm, mocked_get_user, mock_get, mock_pp_sched, mock_pp_streams,
mock_pp_url,
self, mocked_oidc_auth, mocked_scm, mocked_get_user, mock_get, mock_pp_secret,
mock_pp_id, mock_pp_endpoint, mock_pp_sched, mock_pp_streams, mock_pp_url,
mock_datetime, pp_url, pp_streams, pp_sched, get_rv, br_stream, br_override,
expected_stream, utcnow,
):
@@ -2208,6 +2221,10 @@ class TestSubmitBuild:
mock_pp_url.return_value = pp_url
mock_pp_streams.return_value = pp_streams
mock_pp_sched.return_value = pp_sched
# Configure the OIDC auth
mock_pp_endpoint.return_value = "endpoint"
mock_pp_id.return_value = "client_id"
mock_pp_secret.return_value = "secret"
# Mock the Product Pages query
mock_get.return_value.json.return_value = get_rv
# Mock the date
@@ -2255,7 +2272,8 @@ class TestSubmitBuild:
expected_url = \
"{}api/v7/releases/{}/schedule-tasks/?fields=name,date_finish".format(
pp_url, pp_release)
mock_get.assert_called_once_with(expected_url, timeout=15)
mock_get.assert_called_once_with(expected_url, timeout=15, headers="authstring")
mocked_oidc_auth.assert_called()
else:
mock_get.assert_not_called()