Skip to content
Snippets Groups Projects
Commit da0ed76b authored by Hakan Calim's avatar Hakan Calim
Browse files

NAT-410: Changed test to use mark parameterize to generate tt numbers

parent 5635f954
No related branches found
No related tags found
1 merge request!159Feature/nat 410 add validator for tty number
......@@ -21,6 +21,18 @@ def mock_netbox_client():
yield mock
@pytest.fixture()
def generate_tt_numbers(faker, request):
"""Generator for valid and invalid tt numbers."""
valid_count = request.param.get("valid", 0)
invalid_count = request.param.get("invalid", 0)
valid_data = [(faker.tt_number(), True) for _ in range(valid_count)]
invalid_data = [(faker.sentence(), False) for _ in range(invalid_count)]
return valid_data + invalid_data
def test_non_nokia_router_returns_none(mock_router, faker):
mock_router.from_subscription.return_value.router.vendor = RouterVendor.JUNIPER
result = available_interfaces_choices_including_current_members(faker.uuid4(), "10G", [])
......@@ -64,23 +76,17 @@ def test_nokia_router_with_interfaces_returns_choice(mock_router, mock_netbox_cl
assert hasattr(result, "interface3")
def test_tt_number(faker):
@pytest.mark.parametrize("generate_tt_numbers", [{"valid": 5, "invalid": 3}], indirect=True)
def test_tt_number(generate_tt_numbers):
"""Test different TT numbers"""
# Define different tt number
tt_number_valid1 = faker.tt_number()
tt_number_valid2 = faker.tt_number()
tt_number_valid3 = faker.tt_number()
tt_number_not_valid1 = faker.sentence()
err_msg = (
f"The given TT number: {tt_number_not_valid1} is not valid. "
f" A valid TT number starts with 'TT#' followed by 16 digits."
)
assert validate_tt_number(tt_number_valid1) == tt_number_valid1
assert validate_tt_number(tt_number_valid2) == tt_number_valid2
assert validate_tt_number(tt_number_valid3) == tt_number_valid3
with pytest.raises(ValueError, match=err_msg):
validate_tt_number(tt_number_not_valid1)
for tt_number, is_valid in generate_tt_numbers:
if is_valid:
assert validate_tt_number(tt_number) == tt_number
else:
err_msg = (
f"The given TT number: {tt_number} is not valid. "
f" A valid TT number starts with 'TT#' followed by 16 digits."
)
with pytest.raises(ValueError, match=err_msg):
validate_tt_number(tt_number)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment