From d01e9555c3ce26682bafa22b0cb14c0b98112900 Mon Sep 17 00:00:00 2001 From: Timo Pollmeier Date: Fri, 11 Jul 2025 10:53:52 +0200 Subject: [PATCH 1/2] Rename GMPv228 to GMPNext and packages accordingly The classes and packages for GMP are renamed to a general "next" version for unstable features and the documentation is updated. This makes it more obvious that this protocol version can contain features that may not be available for all gvmd builds and that can change at any time. --- docs/api/gmp.md | 2 +- docs/api/{gmpv228.md => gmpnext.md} | 48 +++++++++---------- gvm/protocols/gmp/__init__.py | 8 ++-- gvm/protocols/gmp/_gmp.py | 8 ++-- gvm/protocols/gmp/{_gmp228.py => _gmpnext.py} | 12 +++-- .../gmp/requests/{v228 => next}/__init__.py | 2 +- .../{v228 => next}/_agent_installers.py | 0 gvm/protocols/next.py | 7 +-- tests/protocols/gmp/test_context_manager.py | 4 +- .../{gmpv228 => gmpnext}/__init__.py | 4 +- .../{gmpv228 => gmpnext}/entities/__init__.py | 0 .../entities/agent_installers/__init__.py | 0 .../test_get_agent_installer.py | 0 .../test_get_agent_installer_file.py | 0 .../test_get_agent_installers.py | 0 .../entities/test_agent_installers.py | 2 +- .../entities/test_alerts.py | 0 .../entities/test_audit_reports.py | 0 .../entities/test_audits.py | 0 .../entities/test_credentials.py | 0 .../entities/test_filters.py | 0 .../entities/test_groups.py | 0 .../entities/test_hosts.py | 0 .../entities/test_notes.py | 0 .../entities/test_operating_systems.py | 0 .../entities/test_overrides.py | 0 .../entities/test_permissions.py | 0 .../entities/test_policies.py | 0 .../entities/test_port_lists.py | 0 .../entities/test_report_configs.py | 0 .../entities/test_report_formats.py | 0 .../entities/test_reports.py | 0 .../entities/test_resource_names.py | 0 .../entities/test_results.py | 0 .../entities/test_roles.py | 0 .../entities/test_scan_configs.py | 0 .../entities/test_scanners.py | 0 .../entities/test_schedules.py | 0 .../entities/test_secinfo.py | 0 .../entities/test_tags.py | 0 .../entities/test_targets.py | 0 .../entities/test_tasks.py | 0 .../entities/test_tickets.py | 0 .../entities/test_tls_certificates.py | 0 .../entities/test_users.py | 0 .../entities/test_vulnerabilities.py | 0 .../{gmpv228 => gmpnext}/enums/__init__.py | 0 .../enums/test_aggregate_statistic.py | 0 .../enums/test_alert_condition.py | 0 .../enums/test_alert_event.py | 0 .../enums/test_alert_method.py | 0 .../enums/test_alive_test.py | 0 .../enums/test_credential_format.py | 0 .../enums/test_credential_type.py | 0 .../enums/test_entity_type.py | 0 .../enums/test_feed_type.py | 0 .../enums/test_filter_type.py | 0 .../enums/test_help_format.py | 0 .../enums/test_hosts_ordering.py | 0 .../enums/test_info_type.py | 0 .../enums/test_permission_subject_type.py | 0 .../enums/test_port_range_type.py | 0 .../enums/test_report_format_type.py | 0 .../enums/test_resource_type.py | 0 .../enums/test_scanner_type.py | 0 .../enums/test_snmp_algorithms.py | 0 .../enums/test_sort_order.py | 0 .../enums/test_ticket_status.py | 0 .../enums/test_user_auth_type.py | 0 tests/protocols/test_next.py | 2 +- 70 files changed, 52 insertions(+), 47 deletions(-) rename docs/api/{gmpv228.md => gmpnext.md} (52%) rename gvm/protocols/gmp/{_gmp228.py => _gmpnext.py} (84%) rename gvm/protocols/gmp/requests/{v228 => next}/__init__.py (97%) rename gvm/protocols/gmp/requests/{v228 => next}/_agent_installers.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/__init__.py (74%) rename tests/protocols/{gmpv228 => gmpnext}/entities/__init__.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/agent_installers/__init__.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/agent_installers/test_get_agent_installer.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/agent_installers/test_get_agent_installer_file.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/agent_installers/test_get_agent_installers.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_agent_installers.py (95%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_alerts.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_audit_reports.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_audits.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_credentials.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_filters.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_groups.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_hosts.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_notes.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_operating_systems.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_overrides.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_permissions.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_policies.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_port_lists.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_report_configs.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_report_formats.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_reports.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_resource_names.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_results.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_roles.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_scan_configs.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_scanners.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_schedules.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_secinfo.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_tags.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_targets.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_tasks.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_tickets.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_tls_certificates.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_users.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/entities/test_vulnerabilities.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/__init__.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_aggregate_statistic.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_alert_condition.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_alert_event.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_alert_method.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_alive_test.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_credential_format.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_credential_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_entity_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_feed_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_filter_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_help_format.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_hosts_ordering.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_info_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_permission_subject_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_port_range_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_report_format_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_resource_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_scanner_type.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_snmp_algorithms.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_sort_order.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_ticket_status.py (100%) rename tests/protocols/{gmpv228 => gmpnext}/enums/test_user_auth_type.py (100%) diff --git a/docs/api/gmp.md b/docs/api/gmp.md index 2a6cf5c0a..e68dce908 100644 --- a/docs/api/gmp.md +++ b/docs/api/gmp.md @@ -18,5 +18,5 @@ gmpv224 gmpv225 gmpv226 gmpv227 -gmpv228 +gmpnext ``` diff --git a/docs/api/gmpv228.md b/docs/api/gmpnext.md similarity index 52% rename from docs/api/gmpv228.md rename to docs/api/gmpnext.md index 3dff0de74..ec1a7a45e 100644 --- a/docs/api/gmpv228.md +++ b/docs/api/gmpnext.md @@ -1,15 +1,15 @@ -(gmpv228)= +(gmpnext)= -# GMP v22.8 +# GMP Next ```{eval-rst} -.. automodule:: gvm.protocols.gmp._gmp228 +.. automodule:: gvm.protocols.gmp._gmpnext ``` ## Protocol ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.GMPv228 +.. autoclass:: gvm.protocols.gmp.GMPNext :members: :inherited-members: ``` @@ -17,140 +17,140 @@ ## Enums ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.AlertCondition +.. autoclass:: gvm.protocols.gmp.requests.next.AlertCondition :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.AlertEvent +.. autoclass:: gvm.protocols.gmp.requests.next.AlertEvent :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.AlertMethod +.. autoclass:: gvm.protocols.gmp.requests.next.AlertMethod :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.AliveTest +.. autoclass:: gvm.protocols.gmp.requests.next.AliveTest :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.CredentialFormat +.. autoclass:: gvm.protocols.gmp.requests.next.CredentialFormat :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.CredentialType +.. autoclass:: gvm.protocols.gmp.requests.next.CredentialType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.EntityType +.. autoclass:: gvm.protocols.gmp.requests.next.EntityType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.FeedType +.. autoclass:: gvm.protocols.gmp.requests.next.FeedType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.FilterType +.. autoclass:: gvm.protocols.gmp.requests.next.FilterType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.HostsOrdering +.. autoclass:: gvm.protocols.gmp.requests.next.HostsOrdering :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.HelpFormat +.. autoclass:: gvm.protocols.gmp.requests.next.HelpFormat :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.InfoType +.. autoclass:: gvm.protocols.gmp.requests.next.InfoType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.PermissionSubjectType +.. autoclass:: gvm.protocols.gmp.requests.next.PermissionSubjectType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.PortRangeType +.. autoclass:: gvm.protocols.gmp.requests.next.PortRangeType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.ReportFormatType +.. autoclass:: gvm.protocols.gmp.requests.next.ReportFormatType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.ResourceType +.. autoclass:: gvm.protocols.gmp.requests.next.ResourceType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.ScannerType +.. autoclass:: gvm.protocols.gmp.requests.next.ScannerType :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.SnmpAuthAlgorithm +.. autoclass:: gvm.protocols.gmp.requests.next.SnmpAuthAlgorithm :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.SnmpPrivacyAlgorithm +.. autoclass:: gvm.protocols.gmp.requests.next.SnmpPrivacyAlgorithm :members: :undoc-members: :no-index: ``` ```{eval-rst} -.. autoclass:: gvm.protocols.gmp.requests.v228.TicketStatus +.. autoclass:: gvm.protocols.gmp.requests.next.TicketStatus :members: :undoc-members: :no-index: diff --git a/gvm/protocols/gmp/__init__.py b/gvm/protocols/gmp/__init__.py index 3c052aa15..44f324e8a 100644 --- a/gvm/protocols/gmp/__init__.py +++ b/gvm/protocols/gmp/__init__.py @@ -9,14 +9,14 @@ dynamically selects the supported GMP protocol of the remote manager daemon. If you need to use a specific GMP version, you can use the :class:`GMPv224`, -:class:`GMPv225`, :class:`GMPv226`, :class:`GMPv227` or :class:`GMPv228` classes. +:class:`GMPv225`, :class:`GMPv226`, :class:`GMPv227` or :class:`GMPNext` classes. * :class:`GMP` - Dynamically select supported GMP protocol of the remote manager daemon. * :class:`GMPv224` - GMP version 22.4 * :class:`GMPv225` - GMP version 22.5 * :class:`GMPv226` - GMP version 22.6 * :class:`GMPv227` - GMP version 22.7 -* :class:`GMPv228` - GMP version 22.8 +* :class:`GMPNext` - "next" GMP version, containing unstable features """ from ._gmp import GMP @@ -24,7 +24,7 @@ from ._gmp225 import GMPv225 from ._gmp226 import GMPv226 from ._gmp227 import GMPv227 -from ._gmp228 import GMPv228 +from ._gmpnext import GMPNext Gmp = GMP # for backwards compatibility @@ -35,5 +35,5 @@ "GMPv225", "GMPv226", "GMPv227", - "GMPv228", + "GMPNext", ) diff --git a/gvm/protocols/gmp/_gmp.py b/gvm/protocols/gmp/_gmp.py index 75965dff8..3e4dcba93 100644 --- a/gvm/protocols/gmp/_gmp.py +++ b/gvm/protocols/gmp/_gmp.py @@ -16,11 +16,11 @@ from ._gmp225 import GMPv225 from ._gmp226 import GMPv226 from ._gmp227 import GMPv227 -from ._gmp228 import GMPv228 +from ._gmpnext import GMPNext from .requests import Version SUPPORTED_GMP_VERSIONS = Union[ - GMPv224[T], GMPv225[T], GMPv226[T], GMPv227[T], GMPv228[T] + GMPv224[T], GMPv225[T], GMPv226[T], GMPv227[T], GMPNext[T] ] _SUPPORTED_GMP_VERSION_STRINGS = ["22.4", "22.5", "22.6", "22.7", "22.8"] @@ -42,7 +42,7 @@ class GMP(GvmProtocol[T]): # gvm.protocols.gmp.GMPv225, # gvm.protocols.gmp.GMPv226, # gvm.protocols.gmp.GMPv227, - # or gvm.protocols.gmp.GMPv228 + # or gvm.protocols.gmp.GMPNext # depending on the supported GMP version of the remote manager daemon resp = gmp.get_tasks() """ @@ -100,7 +100,7 @@ def determine_supported_gmp(self) -> SUPPORTED_GMP_VERSIONS: elif major_version == 22 and minor_version == 7: gmp_class = GMPv227 elif major_version == 22 and minor_version >= 8: - gmp_class = GMPv228 + gmp_class = GMPNext if minor_version > 8: warnings.warn( "Remote manager daemon uses a newer GMP version than " diff --git a/gvm/protocols/gmp/_gmp228.py b/gvm/protocols/gmp/_gmpnext.py similarity index 84% rename from gvm/protocols/gmp/_gmp228.py rename to gvm/protocols/gmp/_gmpnext.py index 857694353..7bbfe13b0 100644 --- a/gvm/protocols/gmp/_gmp228.py +++ b/gvm/protocols/gmp/_gmpnext.py @@ -8,18 +8,22 @@ from .._protocol import T from ._gmp227 import GMPv227 -from .requests.v228 import AgentInstallers +from .requests.next import AgentInstallers -class GMPv228(GMPv227[T]): +class GMPNext(GMPv227[T]): """ - A class implementing the Greenbone Management Protocol (GMP) version 22.8 + A class implementing the "Next" version of Greenbone Management Protocol (GMP) + containing features that are not part of the stable release yet. + + These features may change at any time and may not be available in all builds + of the gvmd back-end. Example: .. code-block:: python - from gvm.protocols.gmp import GMPv228 as GMP + from gvm.protocols.gmp import GMPNext as GMP with GMP(connection) as gmp: resp = gmp.get_tasks() diff --git a/gvm/protocols/gmp/requests/v228/__init__.py b/gvm/protocols/gmp/requests/next/__init__.py similarity index 97% rename from gvm/protocols/gmp/requests/v228/__init__.py rename to gvm/protocols/gmp/requests/next/__init__.py index d84b0e88c..e60c1a173 100644 --- a/gvm/protocols/gmp/requests/v228/__init__.py +++ b/gvm/protocols/gmp/requests/next/__init__.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from gvm.protocols.gmp.requests.v228._agent_installers import AgentInstallers +from gvm.protocols.gmp.requests.next._agent_installers import AgentInstallers from .._entity_id import EntityID from .._version import Version diff --git a/gvm/protocols/gmp/requests/v228/_agent_installers.py b/gvm/protocols/gmp/requests/next/_agent_installers.py similarity index 100% rename from gvm/protocols/gmp/requests/v228/_agent_installers.py rename to gvm/protocols/gmp/requests/next/_agent_installers.py diff --git a/gvm/protocols/next.py b/gvm/protocols/next.py index ba0372179..283c73a66 100644 --- a/gvm/protocols/next.py +++ b/gvm/protocols/next.py @@ -5,7 +5,8 @@ """Latest supported protocols, including unstable ones. This module exposes the latest supported protocols of GVM including versions -not yet released as stable. +not yet released as stable, which may contain features that can change at any time +and may not be available in all builds of the gvmd back-end. The provided Gmp class implements the latest Greenbone Management Protocol. The provided Osp class implements the latest Open Scanner Protocol. @@ -14,12 +15,12 @@ :py:mod:`gvm.protocols`. Exports: - - :py:class:`gvm.protocols.gmp.GMPv227` + - :py:class:`gvm.protocols.gmp.GMPNext` - :py:class:`gvm.protocols.ospv1.Osp` """ from .gmp import ( - GMPv227 as Gmp, + GMPNext as Gmp, ) from .ospv1 import Osp diff --git a/tests/protocols/gmp/test_context_manager.py b/tests/protocols/gmp/test_context_manager.py index eba761f2e..4d66e93a5 100644 --- a/tests/protocols/gmp/test_context_manager.py +++ b/tests/protocols/gmp/test_context_manager.py @@ -7,7 +7,7 @@ from unittest.mock import MagicMock, patch from gvm.errors import GvmError -from gvm.protocols.gmp import Gmp, GMPv228 +from gvm.protocols.gmp import Gmp, GMPNext from gvm.protocols.gmp._gmp224 import GMPv224 from gvm.protocols.gmp._gmp225 import GMPv225 from gvm.protocols.gmp._gmp226 import GMPv226 @@ -155,7 +155,7 @@ def test_select_gmpv228(self): with self.gmp as gmp: self.assertEqual(gmp.get_protocol_version(), (22, 8)) - self.assertIsInstance(gmp, GMPv228) + self.assertIsInstance(gmp, GMPNext) self.connection.read.return_value( b'' diff --git a/tests/protocols/gmpv228/__init__.py b/tests/protocols/gmpnext/__init__.py similarity index 74% rename from tests/protocols/gmpv228/__init__.py rename to tests/protocols/gmpnext/__init__.py index 2b9ead19c..c088ecd7c 100644 --- a/tests/protocols/gmpv228/__init__.py +++ b/tests/protocols/gmpnext/__init__.py @@ -3,10 +3,10 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -from gvm.protocols.gmp import GMPv228 +from gvm.protocols.gmp import GMPNext from .. import GmpTestCase as BaseGMPTestCase class GMPTestCase(BaseGMPTestCase): - gmp_class = GMPv228 + gmp_class = GMPNext diff --git a/tests/protocols/gmpv228/entities/__init__.py b/tests/protocols/gmpnext/entities/__init__.py similarity index 100% rename from tests/protocols/gmpv228/entities/__init__.py rename to tests/protocols/gmpnext/entities/__init__.py diff --git a/tests/protocols/gmpv228/entities/agent_installers/__init__.py b/tests/protocols/gmpnext/entities/agent_installers/__init__.py similarity index 100% rename from tests/protocols/gmpv228/entities/agent_installers/__init__.py rename to tests/protocols/gmpnext/entities/agent_installers/__init__.py diff --git a/tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installer.py b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py similarity index 100% rename from tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installer.py rename to tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py diff --git a/tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installer_file.py b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py similarity index 100% rename from tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installer_file.py rename to tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py diff --git a/tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installers.py b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installers.py similarity index 100% rename from tests/protocols/gmpv228/entities/agent_installers/test_get_agent_installers.py rename to tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installers.py diff --git a/tests/protocols/gmpv228/entities/test_agent_installers.py b/tests/protocols/gmpnext/entities/test_agent_installers.py similarity index 95% rename from tests/protocols/gmpv228/entities/test_agent_installers.py rename to tests/protocols/gmpnext/entities/test_agent_installers.py index 6c6051601..08170e2c4 100644 --- a/tests/protocols/gmpv228/entities/test_agent_installers.py +++ b/tests/protocols/gmpnext/entities/test_agent_installers.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -from ...gmpv228 import GMPTestCase +from ...gmpnext import GMPTestCase from .agent_installers.test_get_agent_installer import ( GmpGetAgentInstallerTestMixin, ) diff --git a/tests/protocols/gmpv228/entities/test_alerts.py b/tests/protocols/gmpnext/entities/test_alerts.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_alerts.py rename to tests/protocols/gmpnext/entities/test_alerts.py diff --git a/tests/protocols/gmpv228/entities/test_audit_reports.py b/tests/protocols/gmpnext/entities/test_audit_reports.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_audit_reports.py rename to tests/protocols/gmpnext/entities/test_audit_reports.py diff --git a/tests/protocols/gmpv228/entities/test_audits.py b/tests/protocols/gmpnext/entities/test_audits.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_audits.py rename to tests/protocols/gmpnext/entities/test_audits.py diff --git a/tests/protocols/gmpv228/entities/test_credentials.py b/tests/protocols/gmpnext/entities/test_credentials.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_credentials.py rename to tests/protocols/gmpnext/entities/test_credentials.py diff --git a/tests/protocols/gmpv228/entities/test_filters.py b/tests/protocols/gmpnext/entities/test_filters.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_filters.py rename to tests/protocols/gmpnext/entities/test_filters.py diff --git a/tests/protocols/gmpv228/entities/test_groups.py b/tests/protocols/gmpnext/entities/test_groups.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_groups.py rename to tests/protocols/gmpnext/entities/test_groups.py diff --git a/tests/protocols/gmpv228/entities/test_hosts.py b/tests/protocols/gmpnext/entities/test_hosts.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_hosts.py rename to tests/protocols/gmpnext/entities/test_hosts.py diff --git a/tests/protocols/gmpv228/entities/test_notes.py b/tests/protocols/gmpnext/entities/test_notes.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_notes.py rename to tests/protocols/gmpnext/entities/test_notes.py diff --git a/tests/protocols/gmpv228/entities/test_operating_systems.py b/tests/protocols/gmpnext/entities/test_operating_systems.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_operating_systems.py rename to tests/protocols/gmpnext/entities/test_operating_systems.py diff --git a/tests/protocols/gmpv228/entities/test_overrides.py b/tests/protocols/gmpnext/entities/test_overrides.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_overrides.py rename to tests/protocols/gmpnext/entities/test_overrides.py diff --git a/tests/protocols/gmpv228/entities/test_permissions.py b/tests/protocols/gmpnext/entities/test_permissions.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_permissions.py rename to tests/protocols/gmpnext/entities/test_permissions.py diff --git a/tests/protocols/gmpv228/entities/test_policies.py b/tests/protocols/gmpnext/entities/test_policies.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_policies.py rename to tests/protocols/gmpnext/entities/test_policies.py diff --git a/tests/protocols/gmpv228/entities/test_port_lists.py b/tests/protocols/gmpnext/entities/test_port_lists.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_port_lists.py rename to tests/protocols/gmpnext/entities/test_port_lists.py diff --git a/tests/protocols/gmpv228/entities/test_report_configs.py b/tests/protocols/gmpnext/entities/test_report_configs.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_report_configs.py rename to tests/protocols/gmpnext/entities/test_report_configs.py diff --git a/tests/protocols/gmpv228/entities/test_report_formats.py b/tests/protocols/gmpnext/entities/test_report_formats.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_report_formats.py rename to tests/protocols/gmpnext/entities/test_report_formats.py diff --git a/tests/protocols/gmpv228/entities/test_reports.py b/tests/protocols/gmpnext/entities/test_reports.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_reports.py rename to tests/protocols/gmpnext/entities/test_reports.py diff --git a/tests/protocols/gmpv228/entities/test_resource_names.py b/tests/protocols/gmpnext/entities/test_resource_names.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_resource_names.py rename to tests/protocols/gmpnext/entities/test_resource_names.py diff --git a/tests/protocols/gmpv228/entities/test_results.py b/tests/protocols/gmpnext/entities/test_results.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_results.py rename to tests/protocols/gmpnext/entities/test_results.py diff --git a/tests/protocols/gmpv228/entities/test_roles.py b/tests/protocols/gmpnext/entities/test_roles.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_roles.py rename to tests/protocols/gmpnext/entities/test_roles.py diff --git a/tests/protocols/gmpv228/entities/test_scan_configs.py b/tests/protocols/gmpnext/entities/test_scan_configs.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_scan_configs.py rename to tests/protocols/gmpnext/entities/test_scan_configs.py diff --git a/tests/protocols/gmpv228/entities/test_scanners.py b/tests/protocols/gmpnext/entities/test_scanners.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_scanners.py rename to tests/protocols/gmpnext/entities/test_scanners.py diff --git a/tests/protocols/gmpv228/entities/test_schedules.py b/tests/protocols/gmpnext/entities/test_schedules.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_schedules.py rename to tests/protocols/gmpnext/entities/test_schedules.py diff --git a/tests/protocols/gmpv228/entities/test_secinfo.py b/tests/protocols/gmpnext/entities/test_secinfo.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_secinfo.py rename to tests/protocols/gmpnext/entities/test_secinfo.py diff --git a/tests/protocols/gmpv228/entities/test_tags.py b/tests/protocols/gmpnext/entities/test_tags.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_tags.py rename to tests/protocols/gmpnext/entities/test_tags.py diff --git a/tests/protocols/gmpv228/entities/test_targets.py b/tests/protocols/gmpnext/entities/test_targets.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_targets.py rename to tests/protocols/gmpnext/entities/test_targets.py diff --git a/tests/protocols/gmpv228/entities/test_tasks.py b/tests/protocols/gmpnext/entities/test_tasks.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_tasks.py rename to tests/protocols/gmpnext/entities/test_tasks.py diff --git a/tests/protocols/gmpv228/entities/test_tickets.py b/tests/protocols/gmpnext/entities/test_tickets.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_tickets.py rename to tests/protocols/gmpnext/entities/test_tickets.py diff --git a/tests/protocols/gmpv228/entities/test_tls_certificates.py b/tests/protocols/gmpnext/entities/test_tls_certificates.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_tls_certificates.py rename to tests/protocols/gmpnext/entities/test_tls_certificates.py diff --git a/tests/protocols/gmpv228/entities/test_users.py b/tests/protocols/gmpnext/entities/test_users.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_users.py rename to tests/protocols/gmpnext/entities/test_users.py diff --git a/tests/protocols/gmpv228/entities/test_vulnerabilities.py b/tests/protocols/gmpnext/entities/test_vulnerabilities.py similarity index 100% rename from tests/protocols/gmpv228/entities/test_vulnerabilities.py rename to tests/protocols/gmpnext/entities/test_vulnerabilities.py diff --git a/tests/protocols/gmpv228/enums/__init__.py b/tests/protocols/gmpnext/enums/__init__.py similarity index 100% rename from tests/protocols/gmpv228/enums/__init__.py rename to tests/protocols/gmpnext/enums/__init__.py diff --git a/tests/protocols/gmpv228/enums/test_aggregate_statistic.py b/tests/protocols/gmpnext/enums/test_aggregate_statistic.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_aggregate_statistic.py rename to tests/protocols/gmpnext/enums/test_aggregate_statistic.py diff --git a/tests/protocols/gmpv228/enums/test_alert_condition.py b/tests/protocols/gmpnext/enums/test_alert_condition.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_alert_condition.py rename to tests/protocols/gmpnext/enums/test_alert_condition.py diff --git a/tests/protocols/gmpv228/enums/test_alert_event.py b/tests/protocols/gmpnext/enums/test_alert_event.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_alert_event.py rename to tests/protocols/gmpnext/enums/test_alert_event.py diff --git a/tests/protocols/gmpv228/enums/test_alert_method.py b/tests/protocols/gmpnext/enums/test_alert_method.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_alert_method.py rename to tests/protocols/gmpnext/enums/test_alert_method.py diff --git a/tests/protocols/gmpv228/enums/test_alive_test.py b/tests/protocols/gmpnext/enums/test_alive_test.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_alive_test.py rename to tests/protocols/gmpnext/enums/test_alive_test.py diff --git a/tests/protocols/gmpv228/enums/test_credential_format.py b/tests/protocols/gmpnext/enums/test_credential_format.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_credential_format.py rename to tests/protocols/gmpnext/enums/test_credential_format.py diff --git a/tests/protocols/gmpv228/enums/test_credential_type.py b/tests/protocols/gmpnext/enums/test_credential_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_credential_type.py rename to tests/protocols/gmpnext/enums/test_credential_type.py diff --git a/tests/protocols/gmpv228/enums/test_entity_type.py b/tests/protocols/gmpnext/enums/test_entity_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_entity_type.py rename to tests/protocols/gmpnext/enums/test_entity_type.py diff --git a/tests/protocols/gmpv228/enums/test_feed_type.py b/tests/protocols/gmpnext/enums/test_feed_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_feed_type.py rename to tests/protocols/gmpnext/enums/test_feed_type.py diff --git a/tests/protocols/gmpv228/enums/test_filter_type.py b/tests/protocols/gmpnext/enums/test_filter_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_filter_type.py rename to tests/protocols/gmpnext/enums/test_filter_type.py diff --git a/tests/protocols/gmpv228/enums/test_help_format.py b/tests/protocols/gmpnext/enums/test_help_format.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_help_format.py rename to tests/protocols/gmpnext/enums/test_help_format.py diff --git a/tests/protocols/gmpv228/enums/test_hosts_ordering.py b/tests/protocols/gmpnext/enums/test_hosts_ordering.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_hosts_ordering.py rename to tests/protocols/gmpnext/enums/test_hosts_ordering.py diff --git a/tests/protocols/gmpv228/enums/test_info_type.py b/tests/protocols/gmpnext/enums/test_info_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_info_type.py rename to tests/protocols/gmpnext/enums/test_info_type.py diff --git a/tests/protocols/gmpv228/enums/test_permission_subject_type.py b/tests/protocols/gmpnext/enums/test_permission_subject_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_permission_subject_type.py rename to tests/protocols/gmpnext/enums/test_permission_subject_type.py diff --git a/tests/protocols/gmpv228/enums/test_port_range_type.py b/tests/protocols/gmpnext/enums/test_port_range_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_port_range_type.py rename to tests/protocols/gmpnext/enums/test_port_range_type.py diff --git a/tests/protocols/gmpv228/enums/test_report_format_type.py b/tests/protocols/gmpnext/enums/test_report_format_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_report_format_type.py rename to tests/protocols/gmpnext/enums/test_report_format_type.py diff --git a/tests/protocols/gmpv228/enums/test_resource_type.py b/tests/protocols/gmpnext/enums/test_resource_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_resource_type.py rename to tests/protocols/gmpnext/enums/test_resource_type.py diff --git a/tests/protocols/gmpv228/enums/test_scanner_type.py b/tests/protocols/gmpnext/enums/test_scanner_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_scanner_type.py rename to tests/protocols/gmpnext/enums/test_scanner_type.py diff --git a/tests/protocols/gmpv228/enums/test_snmp_algorithms.py b/tests/protocols/gmpnext/enums/test_snmp_algorithms.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_snmp_algorithms.py rename to tests/protocols/gmpnext/enums/test_snmp_algorithms.py diff --git a/tests/protocols/gmpv228/enums/test_sort_order.py b/tests/protocols/gmpnext/enums/test_sort_order.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_sort_order.py rename to tests/protocols/gmpnext/enums/test_sort_order.py diff --git a/tests/protocols/gmpv228/enums/test_ticket_status.py b/tests/protocols/gmpnext/enums/test_ticket_status.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_ticket_status.py rename to tests/protocols/gmpnext/enums/test_ticket_status.py diff --git a/tests/protocols/gmpv228/enums/test_user_auth_type.py b/tests/protocols/gmpnext/enums/test_user_auth_type.py similarity index 100% rename from tests/protocols/gmpv228/enums/test_user_auth_type.py rename to tests/protocols/gmpnext/enums/test_user_auth_type.py diff --git a/tests/protocols/test_next.py b/tests/protocols/test_next.py index 01ceb6dcd..85377f4ea 100644 --- a/tests/protocols/test_next.py +++ b/tests/protocols/test_next.py @@ -12,7 +12,7 @@ class LatestProtocolsTestCase(unittest.TestCase): def test_gmp_version(self): - self.assertEqual(Gmp.get_protocol_version(), (22, 7)) + self.assertEqual(Gmp.get_protocol_version(), (22, 8)) def test_osp_version(self): self.assertEqual(Osp.get_protocol_version(), (1, 2)) From 409be1ae412e7f37f58493d4cec2c9f971a2463b Mon Sep 17 00:00:00 2001 From: Timo Pollmeier Date: Wed, 16 Jul 2025 10:26:51 +0200 Subject: [PATCH 2/2] Adjust GMPNext imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Björn Ricks --- gvm/protocols/gmp/_gmpnext.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gvm/protocols/gmp/_gmpnext.py b/gvm/protocols/gmp/_gmpnext.py index 7bbfe13b0..63b27c740 100644 --- a/gvm/protocols/gmp/_gmpnext.py +++ b/gvm/protocols/gmp/_gmpnext.py @@ -23,7 +23,7 @@ class GMPNext(GMPv227[T]): .. code-block:: python - from gvm.protocols.gmp import GMPNext as GMP + from gvm.protocols.gmp.next import GMP with GMP(connection) as gmp: resp = gmp.get_tasks()