summaryrefslogtreecommitdiffstats
path: root/python/mozrelease/test/test_balrog.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozrelease/test/test_balrog.py')
-rw-r--r--python/mozrelease/test/test_balrog.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/python/mozrelease/test/test_balrog.py b/python/mozrelease/test/test_balrog.py
new file mode 100644
index 0000000000..0c3adfacac
--- /dev/null
+++ b/python/mozrelease/test/test_balrog.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import json
+from pathlib import Path
+
+import mozunit
+import pytest
+from mozilla_version.gecko import GeckoVersion
+
+from mozrelease.balrog import generate_update_properties
+from mozrelease.util import load as yaml_load
+
+DATA_PATH = Path(__file__).parent.joinpath("data")
+
+
+@pytest.mark.parametrize(
+ "context,config_file,output_file",
+ [
+ (
+ {
+ "release-type": "release",
+ "product": "firefox",
+ "version": GeckoVersion.parse("62.0.3"),
+ },
+ "whatsnew-62.0.3.yml",
+ "Firefox-62.0.3.update.json",
+ ),
+ (
+ {
+ "release-type": "beta",
+ "product": "firefox",
+ "version": GeckoVersion.parse("64.0"),
+ },
+ "whatsnew-62.0.3.yml",
+ "Firefox-64.0b13.update.json",
+ ),
+ ],
+)
+def test_update_properties(context, config_file, output_file):
+ with DATA_PATH.joinpath(config_file).open("r", encoding="utf-8") as f:
+ config = yaml_load(f)
+
+ update_line = generate_update_properties(context, config)
+
+ assert update_line == json.load(
+ DATA_PATH.joinpath(output_file).open("r", encoding="utf-8")
+ )
+
+
+if __name__ == "__main__":
+ mozunit.main()