@@ -48,3 +48,52 @@ def test_mark_as_merged(monkeypatch, timeout, expected_timeout):
4848 taskcluster_client_id = "some-id" , taskcluster_access_token = "some-token" , api_root = "http://some.ship-it.tld/api/root" , timeout = expected_timeout
4949 )
5050 release_instance_mock .complete_merge_automation .assert_called_with (123 , headers = {"X-Forwarded-Proto" : "https" , "X-Forwarded-Port" : "80" })
51+
52+
53+ @pytest .mark .parametrize ("timeout, expected_timeout" , ((1 , 1 ), ("10" , 10 ), (None , 60 )))
54+ def test_get_nightly_metadata (monkeypatch , timeout , expected_timeout ):
55+ ReleaseClassMock = MagicMock ()
56+ release_instance_mock = MagicMock ()
57+ nightly_metadata = [{"version" : "150.0a1" , "locales" : ["en-US" , "de" ]}]
58+ attrs = {"get_nightly_metadata.return_value" : nightly_metadata }
59+ release_instance_mock .configure_mock (** attrs )
60+ ReleaseClassMock .side_effect = lambda * args , ** kwargs : release_instance_mock
61+ monkeypatch .setattr (shipitscript .ship_actions , "Release_V2" , ReleaseClassMock )
62+
63+ ship_it_instance_config = {"taskcluster_client_id" : "some-id" , "taskcluster_access_token" : "some-token" , "api_root_v2" : "http://some.ship-it.tld/api/root" }
64+ if timeout is not None :
65+ ship_it_instance_config ["timeout_in_seconds" ] = timeout
66+
67+ ret = shipitscript .ship_actions .get_nightly_metadata (ship_it_instance_config , "firefox" , "nightly" , "20260525000000" )
68+
69+ ReleaseClassMock .assert_called_with (
70+ taskcluster_client_id = "some-id" , taskcluster_access_token = "some-token" , api_root = "http://some.ship-it.tld/api/root" , timeout = expected_timeout
71+ )
72+ release_instance_mock .get_nightly_metadata .assert_called_with (
73+ "firefox" , "nightly" , "20260525000000" , headers = {"X-Forwarded-Proto" : "https" , "X-Forwarded-Port" : "80" }
74+ )
75+
76+
77+ @pytest .mark .parametrize ("timeout, expected_timeout" , ((1 , 1 ), ("10" , 10 ), (None , 60 )))
78+ def test_create_new_nightly_release (monkeypatch , timeout , expected_timeout ):
79+ ReleaseClassMock = MagicMock ()
80+ release_instance_mock = MagicMock ()
81+ attrs = {"create_new_nightly_release.return_value" : {"message" : "ok" }}
82+ release_instance_mock .configure_mock (** attrs )
83+ ReleaseClassMock .side_effect = lambda * args , ** kwargs : release_instance_mock
84+ monkeypatch .setattr (shipitscript .ship_actions , "Release_V2" , ReleaseClassMock )
85+
86+ ship_it_instance_config = {"taskcluster_client_id" : "some-id" , "taskcluster_access_token" : "some-token" , "api_root_v2" : "http://some.ship-it.tld/api/root" }
87+ if timeout is not None :
88+ ship_it_instance_config ["timeout_in_seconds" ] = timeout
89+
90+ shipitscript .ship_actions .create_new_nightly_release (
91+ ship_it_instance_config , "firefox" , "nightly" , "20260525000000" , "150.0a1" , ["en-US" , "de" ]
92+ )
93+
94+ ReleaseClassMock .assert_called_with (
95+ taskcluster_client_id = "some-id" , taskcluster_access_token = "some-token" , api_root = "http://some.ship-it.tld/api/root" , timeout = expected_timeout
96+ )
97+ release_instance_mock .create_new_nightly_release .assert_called_with (
98+ "firefox" , "nightly" , "20260525000000" , "150.0a1" , ["en-US" , "de" ], headers = {"X-Forwarded-Proto" : "https" , "X-Forwarded-Port" : "80" }
99+ )
0 commit comments