@@ -48,3 +48,53 @@ 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+ assert ret == nightly_metadata
70+ ReleaseClassMock .assert_called_with (
71+ taskcluster_client_id = "some-id" , taskcluster_access_token = "some-token" , api_root = "http://some.ship-it.tld/api/root" , timeout = expected_timeout
72+ )
73+ release_instance_mock .get_nightly_metadata .assert_called_with (
74+ "firefox" , "nightly" , "20260525000000" , headers = {"X-Forwarded-Proto" : "https" , "X-Forwarded-Port" : "80" }
75+ )
76+
77+
78+ @pytest .mark .parametrize ("timeout, expected_timeout" , ((1 , 1 ), ("10" , 10 ), (None , 60 )))
79+ def test_create_new_nightly_release (monkeypatch , timeout , expected_timeout ):
80+ ReleaseClassMock = MagicMock ()
81+ release_instance_mock = MagicMock ()
82+ attrs = {"create_new_nightly_release.return_value" : {"message" : "ok" }}
83+ release_instance_mock .configure_mock (** attrs )
84+ ReleaseClassMock .side_effect = lambda * args , ** kwargs : release_instance_mock
85+ monkeypatch .setattr (shipitscript .ship_actions , "Release_V2" , ReleaseClassMock )
86+
87+ ship_it_instance_config = {"taskcluster_client_id" : "some-id" , "taskcluster_access_token" : "some-token" , "api_root_v2" : "http://some.ship-it.tld/api/root" }
88+ if timeout is not None :
89+ ship_it_instance_config ["timeout_in_seconds" ] = timeout
90+
91+ shipitscript .ship_actions .create_new_nightly_release (
92+ ship_it_instance_config , "firefox" , "nightly" , "20260525000000" , "150.0a1" , ["en-US" , "de" ]
93+ )
94+
95+ ReleaseClassMock .assert_called_with (
96+ taskcluster_client_id = "some-id" , taskcluster_access_token = "some-token" , api_root = "http://some.ship-it.tld/api/root" , timeout = expected_timeout
97+ )
98+ release_instance_mock .create_new_nightly_release .assert_called_with (
99+ "firefox" , "nightly" , "20260525000000" , "150.0a1" , ["en-US" , "de" ], headers = {"X-Forwarded-Proto" : "https" , "X-Forwarded-Port" : "80" }
100+ )
0 commit comments