Files
napalm-opnsense/tests/quality_baseline.json
Christian Manivong 6e0e206e06
driver / standard (pull_request) Successful in 15s
driver / lint (pull_request) Successful in 12s
driver / types (pull_request) Successful in 1m38s
driver / test (3.10) (pull_request) Successful in 1m1s
driver / test (3.11) (pull_request) Successful in 52s
driver / test (3.12) (pull_request) Successful in 49s
driver / test (3.13) (pull_request) Successful in 45s
driver / lowest (pull_request) Successful in 29s
driver / security (pull_request) Successful in 47s
driver / build (pull_request) Successful in 22s
CI / driver (pull_request) Successful in 7m11s
driver / publish (pull_request) Skipped
chore: adopt the NAPALM driver standard
- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
  of NAPALM/driver-standard; .github/ is gone.
- setuptools>=77 with the SPDX license string, no License classifier,
  Python 3.10-3.13 classifiers, napalm-device-types>=4.21.1, a dev extra
  with floors, links to git.netork.io, LICENSE file, py.typed.
- CHANGELOG.md in Keep-a-Changelog form; README names Python 3.10, the
  Gitea clone URL and the new CI.
- mypy strict for the package; exempt for now (52 errors): ha, listening,
  opnsense, ospf_mixin, ping_mixin, port_forwards, resolver_mixin.
  Recorded in the quality baseline with the long and complex functions,
  the 3100-line opnsense.py and one unannotated public method.
- Coverage floor 79 % (measured 79.20 %).
2026-10-23 08:35:15 +02:00

66 lines
3.4 KiB
JSON

{
"coverage_floor": 79.0,
"function_complexity": {
"napalm_opnsense/ha.py::config_sync": 12,
"napalm_opnsense/ha.py::dhcp_ha": 11,
"napalm_opnsense/listening.py::_service_of": 12,
"napalm_opnsense/listening.py::_socket": 19,
"napalm_opnsense/opnsense.py::OPNsenseDriver._allow_snmp_sources": 11,
"napalm_opnsense/opnsense.py::OPNsenseDriver._get_unbound_host_overrides": 17,
"napalm_opnsense/opnsense.py::OPNsenseDriver._kea_read_list": 11,
"napalm_opnsense/opnsense.py::OPNsenseDriver.apply_dhcp_subnet": 21,
"napalm_opnsense/opnsense.py::OPNsenseDriver.apply_firewall_rule": 11,
"napalm_opnsense/opnsense.py::OPNsenseDriver.create_dhcp_reservation": 16,
"napalm_opnsense/opnsense.py::OPNsenseDriver.delete_dhcp_reservation_and_lease": 14,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_bgp_neighbors": 16,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_leases": 15,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_leases._parse_kea": 14,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_reservations": 15,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_subnets": 17,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_facts": 12,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_firewall_rules": 30,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_interfaces": 13,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_interfaces_ip": 34,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_lldp_neighbors_detail": 12,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_networks": 25,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_route_to": 23,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_vpn_tunnels": 60,
"napalm_opnsense/opnsense.py::OPNsenseDriver.load_merge_candidate": 13,
"napalm_opnsense/opnsense.py::OPNsenseDriver.sync_dns_zone": 20,
"napalm_opnsense/port_forwards.py::_forwards_of": 12,
"napalm_opnsense/virtual_ips.py::carp_addresses": 14
},
"function_lines": {
"napalm_opnsense/opnsense.py::OPNsenseDriver._get_unbound_host_overrides": 51,
"napalm_opnsense/opnsense.py::OPNsenseDriver._regenerate_web_cert": 51,
"napalm_opnsense/opnsense.py::OPNsenseDriver.apply_dhcp_subnet": 60,
"napalm_opnsense/opnsense.py::OPNsenseDriver.create_dhcp_reservation": 85,
"napalm_opnsense/opnsense.py::OPNsenseDriver.delete_dhcp_reservation_and_lease": 79,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_bgp_neighbors": 86,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_leases": 106,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_dhcp_subnets": 60,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_firewall_rules": 84,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_interfaces_ip": 68,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_networks": 85,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_route_to": 85,
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_vpn_tunnels": 189,
"napalm_opnsense/opnsense.py::OPNsenseDriver.load_merge_candidate": 56,
"napalm_opnsense/opnsense.py::OPNsenseDriver.sync_dns_zone": 112
},
"mypy_relaxed": [
"napalm_opnsense.ha",
"napalm_opnsense.listening",
"napalm_opnsense.opnsense",
"napalm_opnsense.ospf_mixin",
"napalm_opnsense.ping_mixin",
"napalm_opnsense.port_forwards",
"napalm_opnsense.resolver_mixin"
],
"python_file_lines": {
"napalm_opnsense/opnsense.py": 3125
},
"untyped_public": [
"napalm_opnsense/opnsense.py::OPNsenseDriver.get_snmp_config"
]
}