Skip to content

Commit 96c0c7d

Browse files
committed
Update test_compile_meta_creation()
We adjust the test case to correctly setup the component aliases and upstreams, and add a new alias `barer` for component `bar` which has a different version to the base component.
1 parent 6df4c15 commit 96c0c7d

1 file changed

Lines changed: 31 additions & 15 deletions

File tree

tests/test_compile_meta.py

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import os
1+
import copy, os
22

33
from datetime import datetime, timedelta
44
from pathlib import Path
@@ -14,7 +14,7 @@
1414
from commodore.dependency_mgmt import fetch_components, fetch_packages
1515
from commodore.gitrepo import GitRepo
1616

17-
from test_dependency_mgmt import setup_components_upstream, _setup_packages
17+
from test_dependency_mgmt import setup_aliases_upstream, _setup_packages
1818

1919
from commodore.catalog import CompileMeta
2020
from commodore.cluster import report_compile_metadata
@@ -81,18 +81,34 @@ def test_compile_meta_creation(
8181
components = ["foo", "bar", "baz", "qux"]
8282
packages = ["foo", "bar"]
8383

84-
# setup mock components
85-
patch_discover_components.return_value = (components, {})
86-
# setup_components_upstream sets version=None for all components
87-
cdeps = setup_components_upstream(tmp_path, components)
84+
# foo,bar,baz are setup as "standard" upstreams
85+
aliases = {cn: cn for cn in components if cn != "qux"}
86+
# the actual aliases and qux need to be handled separately
87+
aliases2 = {"qux": "qux", "quxxer": "qux", "barer": "bar"}
8888

89-
# NOTE: We assume that setup_components_upstream creates upstream repos in
89+
# setup_aliases_upstream sets version=None for all components
90+
cdeps = setup_aliases_upstream(tmp_path, aliases.items())
91+
# create upstream for `qux` with subpath
92+
cdeps.update(
93+
setup_aliases_upstream(tmp_path, [("qux", "qux")], sub_path="component")
94+
)
95+
# We manually create copies of `qux` and `bar` to prepare the alias upstreams
96+
cdeps["quxxer"] = copy.deepcopy(cdeps["qux"])
97+
cdeps["barer"] = copy.deepcopy(cdeps["bar"])
98+
99+
# setup mock components, we want the full aliases dict here
100+
aliases.update(aliases2)
101+
patch_discover_components.return_value = (components, aliases)
102+
103+
# NOTE: We assume that setup_aliases_upstream creates upstream repos in
90104
# `tmp_path/upstream/<component-name>`
91105
crepos = {cn: git.Repo(tmp_path / "upstream" / cn) for cn in components}
92106

93107
crepos["foo"].version = "master"
94108
crepos["bar"].create_tag("v1.2.3")
109+
# Setup separate versions for bar and it's alias
95110
cdeps["bar"].version = "v1.2.3"
111+
cdeps["barer"].version = "master"
96112
cdeps["baz"].version = crepos["baz"].head.commit.hexsha
97113

98114
patch_read_components.return_value = cdeps
@@ -113,13 +129,6 @@ def test_compile_meta_creation(
113129
fetch_packages(config)
114130
fetch_components(config)
115131

116-
config.get_components()["qux"]._sub_path = "component"
117-
118-
aliases = {cn: cn for cn in components}
119-
# create alias to verify instance reporting
120-
aliases["quxxer"] = "qux"
121-
config.register_component_aliases(aliases)
122-
123132
meta = CompileMeta(config)
124133
meta_dict = meta.as_dict()
125134
assert set(meta_dict.keys()) == {
@@ -146,7 +155,14 @@ def test_compile_meta_creation(
146155
) < timedelta(seconds=1)
147156

148157
# check instances
149-
assert set(meta_dict["instances"].keys()) == {"foo", "bar", "baz", "qux", "quxxer"}
158+
assert set(meta_dict["instances"].keys()) == {
159+
"foo",
160+
"bar",
161+
"barer",
162+
"baz",
163+
"qux",
164+
"quxxer",
165+
}
150166
for alias, info in meta_dict["instances"].items():
151167
cn = alias[0:3]
152168
assert len({"url", "version", "gitSha", "component"} - set(info.keys())) == 0

0 commit comments

Comments
 (0)