Reformat all files with ruff
This commit is contained in:
1 parent
94c2b03138
commit
f4950c6388
22 files changed
+420
-271
No files matched your search
+4
-5
@@ -48,16 +48,15 @@ def db_domain(db, tmp_path):
|
||||
DomainARecord.objects.create(domain=domain, name="mail", target="9.10.11.12")
|
||||
DomainARecord.objects.create(domain=domain, name="www", target="1.2.3.4")
|
||||
DomainAAAARecord.objects.create(domain=domain, name="www", target="2001:db8::1")
|
||||
DomainCnameRecord.objects.create(domain=domain, name="ftp", target="www.example.org.")
|
||||
DomainCnameRecord.objects.create(
|
||||
domain=domain, name="ftp", target="www.example.org."
|
||||
)
|
||||
DomainTxtRecord.objects.create(domain=domain, name="@", target='"v=spf1 mx ~all"')
|
||||
return domain
|
||||
|
||||
|
||||
def load_command_class():
|
||||
path = (
|
||||
pathlib.Path(__file__).parent.parent
|
||||
/ "mdb/management/commands/zone-sync.py"
|
||||
)
|
||||
path = pathlib.Path(__file__).parent.parent / "mdb/management/commands/zone-sync.py"
|
||||
spec = importlib.util.spec_from_file_location("zone_sync_command", path)
|
||||
mod = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(mod)
|
||||
|
||||
+7
-5
@@ -20,7 +20,7 @@ def api_client():
|
||||
|
||||
@pytest.fixture
|
||||
def user_with_token(db_with_fixtures):
|
||||
user = User.objects.create(username='admin')
|
||||
user = User.objects.create(username="admin")
|
||||
token = Token.objects.create(user=user)
|
||||
return user, token
|
||||
|
||||
@@ -34,10 +34,12 @@ def host(db_with_fixtures):
|
||||
def test_validate_puppet_host_by_secret(api_client, user_with_token, host):
|
||||
_, token = user_with_token
|
||||
data = {
|
||||
'pxe_key': host.pxe_key,
|
||||
'certname': '{}.{}'.format(host.hostname, host.interface_set.first().domain.domain_name),
|
||||
"pxe_key": host.pxe_key,
|
||||
"certname": "{}.{}".format(
|
||||
host.hostname, host.interface_set.first().domain.domain_name
|
||||
),
|
||||
}
|
||||
api_client.credentials(HTTP_AUTHORIZATION='Token {}'.format(token.key))
|
||||
res = api_client.post(reverse('api-validate-host-secret'), data, format='json')
|
||||
api_client.credentials(HTTP_AUTHORIZATION="Token {}".format(token.key))
|
||||
res = api_client.post(reverse("api-validate-host-secret"), data, format="json")
|
||||
assert res.status_code == 200, res.content
|
||||
assert not Host.objects.get(pk=host.pk).pxe_installable
|
||||
+10
-2
@@ -9,7 +9,9 @@ def make_config(serial=2, active_serial=1):
|
||||
config = MagicMock()
|
||||
config.serial = serial
|
||||
config.active_serial = active_serial
|
||||
config.dhcpd_configuration.return_value = "# dhcpd config\nsubnet 10.0.0.0 netmask 255.255.255.0 {}\n"
|
||||
config.dhcpd_configuration.return_value = (
|
||||
"# dhcpd config\nsubnet 10.0.0.0 netmask 255.255.255.0 {}\n"
|
||||
)
|
||||
return config
|
||||
|
||||
|
||||
@@ -20,6 +22,7 @@ def service():
|
||||
|
||||
# --- needs_update ---
|
||||
|
||||
|
||||
def test_needs_update_true_when_serials_differ(service):
|
||||
config = make_config(serial=2, active_serial=1)
|
||||
assert service.needs_update(config) is True
|
||||
@@ -38,6 +41,7 @@ def test_needs_update_true_when_force_even_if_serials_match():
|
||||
|
||||
# --- calculate_diff ---
|
||||
|
||||
|
||||
def test_calculate_diff_identical_returns_empty(service):
|
||||
config = make_config()
|
||||
assert service.calculate_diff(config, "line\n", "line\n") == ""
|
||||
@@ -54,6 +58,7 @@ def test_calculate_diff_format(service):
|
||||
|
||||
# --- write_config ---
|
||||
|
||||
|
||||
def test_write_config_creates_file_with_config_contents(service, tmp_path):
|
||||
config = make_config()
|
||||
output_path = str(tmp_path / "dhcpd.conf")
|
||||
@@ -99,6 +104,7 @@ def test_write_config_diff_reflects_changes(service, tmp_path):
|
||||
|
||||
# --- restart_service ---
|
||||
|
||||
|
||||
def test_restart_service_returns_true_on_success(service):
|
||||
with patch("mdb.services.dhcp_sync.getstatusoutput", return_value=(0, "")):
|
||||
success, output = service.restart_service()
|
||||
@@ -107,7 +113,9 @@ def test_restart_service_returns_true_on_success(service):
|
||||
|
||||
|
||||
def test_restart_service_returns_false_on_failure(service):
|
||||
with patch("mdb.services.dhcp_sync.getstatusoutput", return_value=(1, "Job failed")):
|
||||
with patch(
|
||||
"mdb.services.dhcp_sync.getstatusoutput", return_value=(1, "Job failed")
|
||||
):
|
||||
success, output = service.restart_service()
|
||||
assert success is False
|
||||
assert output == "Job failed"
|
||||
@@ -31,6 +31,7 @@ def make_service(serial=2, active_serial=1, restart_success=True, restart_output
|
||||
|
||||
# --- handle: nothing to do ---
|
||||
|
||||
|
||||
def test_handle_prints_nothing_to_do_when_no_update_needed(cmd):
|
||||
svc, config = make_service(serial=1, active_serial=1)
|
||||
svc.needs_update.return_value = False
|
||||
@@ -41,6 +42,7 @@ def test_handle_prints_nothing_to_do_when_no_update_needed(cmd):
|
||||
|
||||
# --- handle: stdout mode ---
|
||||
|
||||
|
||||
def test_handle_prints_config_to_stdout_when_no_output_path(cmd):
|
||||
svc, config = make_service()
|
||||
with patch("mdb.management.commands.dhcp_sync.DhcpSyncService", return_value=svc):
|
||||
@@ -58,6 +60,7 @@ def test_handle_does_not_write_file_when_no_output_path(cmd):
|
||||
|
||||
# --- handle: file mode ---
|
||||
|
||||
|
||||
def test_handle_calls_write_config_when_output_given(cmd, tmp_path):
|
||||
svc, config = make_service()
|
||||
output_path = str(tmp_path / "dhcpd.conf")
|
||||
@@ -86,6 +89,7 @@ def test_handle_calls_restart_and_notify_when_restart_true(cmd, tmp_path):
|
||||
|
||||
# --- restart_and_notify ---
|
||||
|
||||
|
||||
def test_restart_and_notify_success_writes_ok(cmd):
|
||||
svc, config = make_service(restart_success=True)
|
||||
with patch("mdb.management.commands.dhcp_sync.discord"):
|
||||
|
||||
+10
-3
@@ -59,16 +59,23 @@ def test_send_json_posts_with_mdb_username():
|
||||
def test_send_as_file_posts_multipart_with_attachment():
|
||||
mock_resp = MagicMock()
|
||||
with patch("requests.post", return_value=mock_resp) as mock_post:
|
||||
discord._send_as_file("https://discord.example/webhook", "Subject", "full content")
|
||||
assert mock_post.call_args.kwargs.get("files") or "files" in str(mock_post.call_args)
|
||||
discord._send_as_file(
|
||||
"https://discord.example/webhook", "Subject", "full content"
|
||||
)
|
||||
assert mock_post.call_args.kwargs.get("files") or "files" in str(
|
||||
mock_post.call_args
|
||||
)
|
||||
mock_resp.raise_for_status.assert_called_once()
|
||||
|
||||
|
||||
def test_send_as_file_content_mentions_attachment():
|
||||
import json
|
||||
|
||||
mock_resp = MagicMock()
|
||||
with patch("requests.post", return_value=mock_resp) as mock_post:
|
||||
discord._send_as_file("https://discord.example/webhook", "MySubject", "full content")
|
||||
discord._send_as_file(
|
||||
"https://discord.example/webhook", "MySubject", "full content"
|
||||
)
|
||||
data = mock_post.call_args.kwargs["data"]
|
||||
payload = json.loads(data["payload_json"])
|
||||
assert "MySubject" in payload["content"]
|
||||
|
||||
Reference in new issue
Block a user