def test_devedition_version_bails_on_wrong_version(version_string): with pytest.raises(PatternNotMatchedError): DeveditionVersion.parse(version_string)
def test_devedition_version(version_string): DeveditionVersion.parse(version_string)
import pytest from mozilla_version.fenix import FenixVersion from mozilla_version.gecko import DeveditionVersion, FennecVersion, FirefoxVersion, ThunderbirdVersion from mozilla_version.mobile import MobileVersion from shipit_api.admin.api import get_signoff_emails from shipit_api.admin.release import bump_version, is_eme_free_enabled, is_partner_enabled, is_rc, parse_version from shipit_api.common.models import XPISignoff from shipit_api.common.product import Product @pytest.mark.parametrize( "product, version, expectation, result", ( ("devedition", "56.0b1", does_not_raise(), DeveditionVersion(56, 0, beta_number=1)), (Product.DEVEDITION, "56.0b1", does_not_raise(), DeveditionVersion(56, 0, beta_number=1)), ("pinebuild", "56.0b1", does_not_raise(), FirefoxVersion(56, 0, beta_number=1)), (Product.PINEBUILD, "56.0b1", does_not_raise(), FirefoxVersion(56, 0, beta_number=1)), ("fenix", "84.0.0-beta.2", does_not_raise(), FenixVersion(84, 0, 0, beta_number=2)), (Product.FENIX, "84.0.0", does_not_raise(), FenixVersion(84, 0, 0)), ("fennec", "68.2b3", does_not_raise(), FennecVersion(68, 2, beta_number=3)), (Product.FENNEC, "68.2b3", does_not_raise(), FennecVersion(68, 2, beta_number=3)), ("firefox", "45.0", does_not_raise(), FirefoxVersion(45, 0)), (Product.FIREFOX, "45.0", does_not_raise(), FirefoxVersion(45, 0)),
from contextlib import nullcontext as does_not_raise import pytest from mozilla_version.fenix import FenixVersion from mozilla_version.gecko import DeveditionVersion, FennecVersion, FirefoxVersion, ThunderbirdVersion from shipit_api.admin.api import get_signoff_emails from shipit_api.admin.release import bump_version, is_eme_free_enabled, is_partner_enabled, is_rc, parse_version from shipit_api.common.models import XPISignoff from shipit_api.common.product import Product @pytest.mark.parametrize( "product, version, expectation, result", ( ("devedition", "56.0b1", does_not_raise(), DeveditionVersion(56, 0, beta_number=1)), (Product.DEVEDITION, "56.0b1", does_not_raise(), DeveditionVersion(56, 0, beta_number=1)), ("fenix", "84.0.0-beta.2", does_not_raise(), FenixVersion(84, 0, 0, beta_number=2)), (Product.FENIX, "84.0.0", does_not_raise(), FenixVersion(84, 0, 0)), ("fennec", "68.2b3", does_not_raise(), FennecVersion(68, 2, beta_number=3)), (Product.FENNEC, "68.2b3", does_not_raise(), FennecVersion(68, 2, beta_number=3)), ("firefox", "45.0", does_not_raise(), FirefoxVersion(45, 0)), (Product.FIREFOX, "45.0", does_not_raise(), FirefoxVersion(45, 0)), ("thunderbird", "60.8.0", does_not_raise(), ThunderbirdVersion(60, 8, 0)), (Product.THUNDERBIRD, "60.8.0", does_not_raise(), ThunderbirdVersion(60, 8, 0)), ("non-existing-product", "68.0", pytest.raises(ValueError), None), # fennec_release used to be a valid value when we moved Fennec to ESR68 # https://github.com/mozilla/release-services/pull/2265 # Let's be explicitly failing about it. ("fennec_release", "68.1.1", pytest.raises(ValueError), None), ),