templates_url: add clan template url test
This commit is contained in:
@@ -5,7 +5,7 @@ import pytest
|
||||
from clan_lib.errors import ClanError
|
||||
from clan_lib.templates.template_url import transform_url
|
||||
|
||||
template_type = "machine"
|
||||
machine_template_type = "machine"
|
||||
|
||||
|
||||
class DummyFlake:
|
||||
@@ -23,7 +23,18 @@ def test_transform_url_self_explizit_dot() -> None:
|
||||
user_input = ".#new-machine"
|
||||
expected_selector = 'clan.templates.machine."new-machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
|
||||
def test_default_clan_template() -> None:
|
||||
user_input = ".#default"
|
||||
expected_selector = 'clan.templates.clan."default"'
|
||||
|
||||
flake_ref, selector = transform_url("clan", user_input, flake=local_path)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -32,7 +43,9 @@ def test_transform_url_self_no_dot() -> None:
|
||||
user_input = "#new-machine"
|
||||
expected_selector = 'clan.templates.machine."new-machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -41,7 +54,9 @@ def test_transform_url_builtin_template() -> None:
|
||||
user_input = "new-machine"
|
||||
expected_selector = 'clanInternals.templates.machine."new-machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -50,7 +65,9 @@ def test_transform_url_remote_template() -> None:
|
||||
user_input = "github:/org/repo#new-machine"
|
||||
expected_selector = 'clan.templates.machine."new-machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
|
||||
assert flake_ref == "github:/org/repo"
|
||||
assert selector == expected_selector
|
||||
@@ -60,7 +77,9 @@ def test_transform_url_explicit_path() -> None:
|
||||
user_input = ".#clan.templates.machine.new-machine"
|
||||
expected_selector = "clan.templates.machine.new-machine"
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -69,7 +88,9 @@ def test_transform_url_explicit_path() -> None:
|
||||
def test_transform_url_quoted_selector() -> None:
|
||||
user_input = '.#"new.machine"'
|
||||
expected_selector = '"new.machine"'
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -77,7 +98,9 @@ def test_transform_url_quoted_selector() -> None:
|
||||
def test_single_quote_selector() -> None:
|
||||
user_input = ".#'new.machine'"
|
||||
expected_selector = "'new.machine'"
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -86,7 +109,9 @@ def test_custom_template_path() -> None:
|
||||
user_input = "github:/org/repo#my.templates.custom.machine"
|
||||
expected_selector = "my.templates.custom.machine"
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == "github:/org/repo"
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -96,7 +121,9 @@ def test_full_url_query_and_fragment() -> None:
|
||||
expected_flake_ref = "github:/org/repo?query=param"
|
||||
expected_selector = "my.templates.custom.machine"
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == expected_flake_ref
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -114,7 +141,7 @@ def test_malformed_identifier() -> None:
|
||||
user_input = "github:/org/repo#my.templates.custom.machine#extra"
|
||||
with pytest.raises(ClanError) as exc_info:
|
||||
_flake_ref, _selector = transform_url(
|
||||
template_type, user_input, flake=local_path
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
|
||||
assert isinstance(exc_info.value, ClanError)
|
||||
@@ -128,7 +155,9 @@ def test_locked_input_template() -> None:
|
||||
user_input = "locked-input#new-machine"
|
||||
expected_selector = 'inputs.locked-input.clan.templates.machine."new-machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert flake_ref == str(local_path.path)
|
||||
assert selector == expected_selector
|
||||
|
||||
@@ -137,7 +166,9 @@ def test_locked_input_template_no_quotes() -> None:
|
||||
user_input = 'locked-input#"new.machine"'
|
||||
expected_selector = 'inputs.locked-input."new.machine"'
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert selector == expected_selector
|
||||
assert flake_ref == str(local_path.path)
|
||||
|
||||
@@ -146,6 +177,8 @@ def test_locked_input_template_no_dot() -> None:
|
||||
user_input = "locked-input#new.machine"
|
||||
expected_selector = "inputs.locked-input.new.machine"
|
||||
|
||||
flake_ref, selector = transform_url(template_type, user_input, flake=local_path)
|
||||
flake_ref, selector = transform_url(
|
||||
machine_template_type, user_input, flake=local_path
|
||||
)
|
||||
assert selector == expected_selector
|
||||
assert flake_ref == str(local_path.path)
|
||||
|
||||
Reference in New Issue
Block a user