Skip to content

Commit eaeeb12

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 de356dc commit eaeeb12

1 file changed

Lines changed: 31 additions & 14 deletions

File tree

tests/test_compile_meta.py

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import copy
12
import os
23

34
from datetime import datetime, timedelta
@@ -14,7 +15,7 @@
1415
from commodore.dependency_mgmt import fetch_components, fetch_packages
1516
from commodore.gitrepo import GitRepo
1617

17-
from test_dependency_mgmt import setup_components_upstream, _setup_packages
18+
from test_dependency_mgmt import setup_aliases_upstream, _setup_packages
1819

1920
from commodore.catalog import CompileMeta
2021
from commodore.cluster import report_compile_metadata
@@ -81,18 +82,34 @@ def test_compile_meta_creation(
8182
components = ["foo", "bar", "baz", "qux"]
8283
packages = ["foo", "bar"]
8384

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)
85+
# foo,bar,baz are setup as "standard" upstreams
86+
aliases = {cn: cn for cn in components if cn != "qux"}
87+
# the actual aliases and qux need to be handled separately
88+
aliases2 = {"qux": "qux", "quxxer": "qux", "barer": "bar"}
8889

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

93108
crepos["foo"].version = "master"
94109
crepos["bar"].create_tag("v1.2.3")
110+
# Setup separate versions for bar and it's alias
95111
cdeps["bar"].version = "v1.2.3"
112+
cdeps["barer"].version = "master"
96113
cdeps["baz"].version = crepos["baz"].head.commit.hexsha
97114

98115
patch_read_components.return_value = cdeps
@@ -113,13 +130,6 @@ def test_compile_meta_creation(
113130
fetch_packages(config)
114131
fetch_components(config)
115132

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-
123133
meta = CompileMeta(config)
124134
meta_dict = meta.as_dict()
125135
assert set(meta_dict.keys()) == {
@@ -146,7 +156,14 @@ def test_compile_meta_creation(
146156
) < timedelta(seconds=1)
147157

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

0 commit comments

Comments
 (0)