testprotocols 0.7.1__tar.gz → 0.7.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. {testprotocols-0.7.1/src/testprotocols.egg-info → testprotocols-0.7.2}/PKG-INFO +1 -1
  2. {testprotocols-0.7.1 → testprotocols-0.7.2}/pyproject.toml +1 -1
  3. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/__init__.py +1 -1
  4. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/client.py +18 -0
  5. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/sdwan.py +6 -0
  6. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/switch.py +6 -0
  7. {testprotocols-0.7.1 → testprotocols-0.7.2/src/testprotocols.egg-info}/PKG-INFO +1 -1
  8. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_device_types.py +6 -0
  9. {testprotocols-0.7.1 → testprotocols-0.7.2}/LICENSE +0 -0
  10. {testprotocols-0.7.1 → testprotocols-0.7.2}/NOTICE +0 -0
  11. {testprotocols-0.7.1 → testprotocols-0.7.2}/README.md +0 -0
  12. {testprotocols-0.7.1 → testprotocols-0.7.2}/setup.cfg +0 -0
  13. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/aftr_gateway.py +0 -0
  14. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/appliance_nat.py +0 -0
  15. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/appliance_uplinks.py +0 -0
  16. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/appliance_vlans.py +0 -0
  17. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/arp_client.py +0 -0
  18. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/bgp.py +0 -0
  19. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/conntrack.py +0 -0
  20. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/content_filtering.py +0 -0
  21. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/device_lifecycle.py +0 -0
  22. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/device_management.py +0 -0
  23. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/__init__.py +0 -0
  24. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/base.py +0 -0
  25. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/cpe.py +0 -0
  26. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/infra.py +0 -0
  27. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/traffic.py +0 -0
  28. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/voice.py +0 -0
  29. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/devices/wan.py +0 -0
  30. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/dhcp_client.py +0 -0
  31. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/dhcp_server.py +0 -0
  32. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/discovery.py +0 -0
  33. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/dns_client.py +0 -0
  34. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/file_transfer.py +0 -0
  35. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/firewall.py +0 -0
  36. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/firewall_zones.py +0 -0
  37. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/first_hop_security.py +0 -0
  38. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/gateway_redundancy.py +0 -0
  39. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/http_client.py +0 -0
  40. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/http_server.py +0 -0
  41. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/hw_console.py +0 -0
  42. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/interface_dhcp.py +0 -0
  43. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/ip_interface.py +0 -0
  44. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/ip_routing.py +0 -0
  45. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/iperf_client.py +0 -0
  46. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/iperf_generator.py +0 -0
  47. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/iperf_server.py +0 -0
  48. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/l3_firewall.py +0 -0
  49. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/l7_firewall.py +0 -0
  50. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/link_aggregation.py +0 -0
  51. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/mac_table.py +0 -0
  52. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/__init__.py +0 -0
  53. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/dhcp.py +0 -0
  54. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/firewall.py +0 -0
  55. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/impairment.py +0 -0
  56. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/l2_common.py +0 -0
  57. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/multicast.py +0 -0
  58. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/networking.py +0 -0
  59. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/packets.py +0 -0
  60. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/qoe.py +0 -0
  61. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/radius.py +0 -0
  62. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/sdwan_appliance.py +0 -0
  63. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/switch.py +0 -0
  64. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/switch_routing.py +0 -0
  65. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/tr069.py +0 -0
  66. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/traffic.py +0 -0
  67. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/wan_edge.py +0 -0
  68. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/models/wifi.py +0 -0
  69. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/multicast_client.py +0 -0
  70. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/nat.py +0 -0
  71. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/netem_controller.py +0 -0
  72. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/network_endpoint.py +0 -0
  73. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/network_probe.py +0 -0
  74. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/nmap_scanner.py +0 -0
  75. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/ntp_client.py +0 -0
  76. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/ntp_config.py +0 -0
  77. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/ospf.py +0 -0
  78. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/packet_filter.py +0 -0
  79. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/pcap_capture.py +0 -0
  80. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/pdu_controller.py +0 -0
  81. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/port_poe.py +0 -0
  82. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/port_security.py +0 -0
  83. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/port_status.py +0 -0
  84. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/py.typed +0 -0
  85. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/qoe_browser.py +0 -0
  86. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/radius_client.py +0 -0
  87. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/radius_server.py +0 -0
  88. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/reachability_responder.py +0 -0
  89. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/routed_interfaces.py +0 -0
  90. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/router.py +0 -0
  91. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/routing_read.py +0 -0
  92. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/sdwan_policy_manager.py +0 -0
  93. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/sip_phone.py +0 -0
  94. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/sip_server.py +0 -0
  95. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/site_to_site_vpn.py +0 -0
  96. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/snmp_client.py +0 -0
  97. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/spanning_tree.py +0 -0
  98. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/static_routes.py +0 -0
  99. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/storm_control.py +0 -0
  100. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/streaming_server.py +0 -0
  101. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/switch_acl.py +0 -0
  102. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/switch_ports.py +0 -0
  103. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/switch_qos.py +0 -0
  104. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/switch_vlans.py +0 -0
  105. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/syslog_config.py +0 -0
  106. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/tftp_server.py +0 -0
  107. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/threat_prevention.py +0 -0
  108. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/tr069_client.py +0 -0
  109. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/tr069_server.py +0 -0
  110. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/traffic_shaping.py +0 -0
  111. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/upnp_client.py +0 -0
  112. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/vlan_client.py +0 -0
  113. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wan_link_admin.py +0 -0
  114. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_bss.py +0 -0
  115. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_client.py +0 -0
  116. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_mesh.py +0 -0
  117. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_onboarding.py +0 -0
  118. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_radio.py +0 -0
  119. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_rf.py +0 -0
  120. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_stations.py +0 -0
  121. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols/wifi_transitions.py +0 -0
  122. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols.egg-info/SOURCES.txt +0 -0
  123. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols.egg-info/dependency_links.txt +0 -0
  124. {testprotocols-0.7.1 → testprotocols-0.7.2}/src/testprotocols.egg-info/top_level.txt +0 -0
  125. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_appliance_vlans.py +0 -0
  126. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_cpe_templates.py +0 -0
  127. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_dhcp_templates.py +0 -0
  128. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_firewall_templates.py +0 -0
  129. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_infra_templates.py +0 -0
  130. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_ip_interface.py +0 -0
  131. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_ip_routing.py +0 -0
  132. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_network_tool_templates.py +0 -0
  133. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_package_imports.py +0 -0
  134. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_radius_templates.py +0 -0
  135. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_sdwan_appliance_models.py +0 -0
  136. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_sdwan_appliance_templates.py +0 -0
  137. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_switch_models.py +0 -0
  138. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_switch_routing_models.py +0 -0
  139. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_switch_templates.py +0 -0
  140. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_traffic_templates.py +0 -0
  141. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_voice_wifi_templates.py +0 -0
  142. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_wan_edge_templates.py +0 -0
  143. {testprotocols-0.7.1 → testprotocols-0.7.2}/tests/test_wifi_templates.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: testprotocols
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Common Test Resource Layer — capability and device protocols for telco testing.
5
5
  Author-email: Alottabits <rjvisser@alottabits.com>
6
6
  Maintainer-email: Alottabits <rjvisser@alottabits.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "testprotocols"
3
- version = "0.7.1"
3
+ version = "0.7.2"
4
4
  description = "Common Test Resource Layer — capability and device protocols for telco testing."
5
5
  requires-python = ">=3.12"
6
6
  dependencies = []
@@ -1,6 +1,6 @@
1
1
  """testprotocols — capability and device Protocols for telco resources under test."""
2
2
 
3
- __version__ = "0.7.1"
3
+ __version__ = "0.7.2"
4
4
 
5
5
  from testprotocols.aftr_gateway import AftrGateway
6
6
  from testprotocols.appliance_nat import ApplianceNat
@@ -142,6 +142,24 @@ class QoeMeasurementClientDevice(QoeClientDevice, Protocol):
142
142
  declaration when address facts are foreign-owned or discovered late.
143
143
  Vendor-neutral metadata from the driver's attachment config."""
144
144
 
145
+ attachment_subnet: str
146
+ """The declared subnet (CIDR) of a guest attachment, empty when undeclared.
147
+ Vendor-neutral metadata from the driver's attachment config — read it here
148
+ rather than reaching into a framework-specific config object."""
149
+
150
+ mgmt_ip: str
151
+ """The client's management-plane address, empty when undeclared. Published
152
+ by the driver from its own config so isolation checks never consume a
153
+ framework-specific config object."""
154
+
155
+ pipe_switch: str
156
+ """Name of the switch carrying this client's dedicated access port (its
157
+ placement pipe), empty when the client has no declared pipe."""
158
+
159
+ pipe_port: str
160
+ """The dedicated access port whose VLAN is this client's placement knob,
161
+ empty when the client has no declared pipe."""
162
+
145
163
 
146
164
  register_device_type("linux_lan_client", LanClientDevice)
147
165
  register_device_type("linux_wlan_client", WlanClientDevice)
@@ -99,5 +99,11 @@ class SdwanApplianceDevice(BaseDeviceProtocol, Protocol):
99
99
  model-parameterised tests; read it here rather than reaching into a
100
100
  framework-specific config object."""
101
101
 
102
+ manages_network: bool
103
+ """Whether this session owns the device's network configuration. False for
104
+ a warm-spare member whose primary owns the writes. Vendor-neutral metadata
105
+ from the driver's config — read it here rather than reaching into a
106
+ framework-specific config object."""
107
+
102
108
 
103
109
  register_device_type("sdwan_appliance", SdwanApplianceDevice)
@@ -68,6 +68,12 @@ class L2Switch(BaseDeviceProtocol, Protocol):
68
68
  syslog: SyslogConfig
69
69
  ntp: NtpConfig
70
70
 
71
+ placement_ports: tuple[str, ...]
72
+ """Designated ports a testbed may re-VLAN to place a client; empty means
73
+ no placement write is permitted on this switch. Independent of which
74
+ device's pipe enters a port: pipe ownership is topology, this is write
75
+ authorization — declared by the switch, the resource's owner."""
76
+
71
77
 
72
78
  register_device_type("managed_switch_l2", L2Switch)
73
79
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: testprotocols
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Common Test Resource Layer — capability and device protocols for telco testing.
5
5
  Author-email: Alottabits <rjvisser@alottabits.com>
6
6
  Maintainer-email: Alottabits <rjvisser@alottabits.com>
@@ -220,6 +220,7 @@ def test_sdwan_appliance_aggregates_expected_capabilities() -> None:
220
220
  "lan",
221
221
  "syslog",
222
222
  "vpn",
223
+ "manages_network",
223
224
  }
224
225
  actual = protocol_attrs(SdwanApplianceDevice)
225
226
  assert expected <= actual, f"missing: {expected - actual}"
@@ -323,6 +324,10 @@ def test_qoe_measurement_client_aggregates_expected_capabilities() -> None:
323
324
  "responder",
324
325
  "pcap",
325
326
  "syslog",
327
+ "attachment_subnet",
328
+ "mgmt_ip",
329
+ "pipe_switch",
330
+ "pipe_port",
326
331
  }
327
332
  actual = protocol_attrs(QoeMeasurementClientDevice)
328
333
  assert expected <= actual, f"missing: {expected - actual}"
@@ -572,6 +577,7 @@ def test_l2_switch_aggregates_expected_capabilities() -> None:
572
577
  "switch_qos",
573
578
  "syslog",
574
579
  "ntp",
580
+ "placement_ports",
575
581
  }
576
582
  actual = protocol_attrs(L2Switch)
577
583
  assert expected <= actual, f"missing: {expected - actual}"
File without changes
File without changes
File without changes
File without changes