tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_balrog.py (1482B)


      1 # This Source Code Form is subject to the terms of the Mozilla Public
      2 # License, v. 2.0. If a copy of the MPL was not distributed with this
      3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      4 
      5 from pathlib import Path
      6 
      7 import mozunit
      8 import pytest
      9 from mozfile import json
     10 from mozilla_version.gecko import GeckoVersion
     11 
     12 from mozrelease.balrog import generate_update_properties
     13 from mozrelease.util import load as yaml_load
     14 
     15 DATA_PATH = Path(__file__).parent.joinpath("data")
     16 
     17 
     18 @pytest.mark.parametrize(
     19    "context,config_file,output_file",
     20    [
     21        (
     22            {
     23                "release-type": "release",
     24                "product": "firefox",
     25                "version": GeckoVersion.parse("62.0.3"),
     26            },
     27            "whatsnew-62.0.3.yml",
     28            "Firefox-62.0.3.update.json",
     29        ),
     30        (
     31            {
     32                "release-type": "beta",
     33                "product": "firefox",
     34                "version": GeckoVersion.parse("64.0"),
     35            },
     36            "whatsnew-62.0.3.yml",
     37            "Firefox-64.0b13.update.json",
     38        ),
     39    ],
     40 )
     41 def test_update_properties(context, config_file, output_file):
     42    with DATA_PATH.joinpath(config_file).open("r", encoding="utf-8") as f:
     43        config = yaml_load(f)
     44 
     45    update_line = generate_update_properties(context, config)
     46 
     47    assert update_line == json.load(
     48        DATA_PATH.joinpath(output_file).open("r", encoding="utf-8")
     49    )
     50 
     51 
     52 if __name__ == "__main__":
     53    mozunit.main()