Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions equinix/services/fabricv4/models/agent_templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from equinix.services.fabricv4.models.agent_definition import AgentDefinition
from equinix.services.fabricv4.models.agent_templates_state import AgentTemplatesState
from equinix.services.fabricv4.models.changelog import Changelog
Expand All @@ -29,7 +28,7 @@ class AgentTemplates(BaseModel):
href: Optional[StrictStr] = Field(default=None, description="Agent Template URI")
type: Optional[StrictStr] = Field(default=None, description="type")
uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned access point identifier")
name: Optional[Annotated[str, Field(min_length=3, strict=True, max_length=50)]] = Field(default=None, description="Equinix-provided agent template name")
name: Optional[StrictStr] = Field(default=None, description="Equinix-provided agent template name")
description: Optional[StrictStr] = Field(default=None, description="Equinix-provided agent template description")
state: Optional[AgentTemplatesState] = None
enabled: Optional[StrictBool] = Field(default=None, description="Equinix-provided agent template enabled status")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
diff --git a/equinix/services/fabricv4/models/agent_templates.py b/equinix/services/fabricv4/models/agent_templates.py
index c8b90c2..48dcea4 100644
--- a/equinix/services/fabricv4/models/agent_templates.py
+++ b/equinix/services/fabricv4/models/agent_templates.py
@@ -15,7 +15,6 @@ import json

from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
-from typing_extensions import Annotated
from equinix.services.fabricv4.models.agent_definition import AgentDefinition
from equinix.services.fabricv4.models.agent_templates_state import AgentTemplatesState
from equinix.services.fabricv4.models.changelog import Changelog
@@ -29,7 +28,7 @@ class AgentTemplates(BaseModel):
href: Optional[StrictStr] = Field(default=None, description="Agent Template URI")
type: Optional[StrictStr] = Field(default=None, description="type")
uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned access point identifier")
- name: Optional[Annotated[str, Field(min_length=3, strict=True, max_length=50)]] = Field(default=None, description="Equinix-provided agent template name")
+ name: Optional[StrictStr] = Field(default=None, description="Equinix-provided agent template name")
description: Optional[StrictStr] = Field(default=None, description="Equinix-provided agent template description")
state: Optional[AgentTemplatesState] = None
enabled: Optional[StrictBool] = Field(default=None, description="Equinix-provided agent template enabled status")
2 changes: 2 additions & 0 deletions tests/services/fabricv4/helpers/apis.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ def __init__(self, api_client: fabricv4.ApiClient) -> None:
self.statistics = fabricv4.StatisticsApi(api_client)
self.internet_access_services = fabricv4.InternetAccessServicesApi(api_client)
self.ip_blocks = fabricv4.IpBlocksApi(api_client)
self.agents = fabricv4.AgentsApi(api_client)
self.agent_templates = fabricv4.AgentTemplatesApi(api_client)


def for_user(user_name: UserName) -> Apis:
Expand Down
39 changes: 39 additions & 0 deletions tests/services/fabricv4/test_agent_templates_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from __future__ import annotations

import pytest

from equinix.services import fabricv4
from .helpers.apis import Apis, for_user
from .helpers.users import UserName

USER_NAME = UserName.PANTHERS_FNV


@pytest.mark.integration
class TestAgentTemplatesApi:
apis: Apis
template_uuid: str = None

@classmethod
def setup_class(cls) -> None:
cls.apis = for_user(USER_NAME)
cls.template_uuid = None

def test_1_get_agent_templates(self) -> None:
response = self.apis.agent_templates.get_agent_templates_with_http_info()
assert response.status_code == 200
assert response.data is not None
templates = response.data.data
assert templates, "No agent templates returned"
type(self).template_uuid = templates[0].uuid
assert self.template_uuid is not None, "First agent template has no UUID"

def test_2_get_agent_template_by_uuid(self) -> None:
assert self.template_uuid is not None, "No template UUID available from test_1"
response = self.apis.agent_templates.get_agent_template_by_uuid_with_http_info(
self.template_uuid
)
assert response.status_code == 200
assert response.data is not None
assert response.data.uuid == self.template_uuid
assert isinstance(response.data, fabricv4.AgentTemplates)
49 changes: 49 additions & 0 deletions tests/services/fabricv4/test_agents_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
from __future__ import annotations

import pytest

from equinix.services import fabricv4
from .helpers.apis import Apis, for_user
from .helpers.users import UserName

USER_NAME = UserName.PANTHERS_FCR


@pytest.mark.integration
class TestAgentsApi:
apis: Apis
existing_agent_uuid: str = None

@classmethod
def setup_class(cls) -> None:
cls.apis = for_user(USER_NAME)
cls.existing_agent_uuid = None

response = cls.apis.agents.get_agents()
agents = response.data
if agents:
cls.existing_agent_uuid = agents[0].uuid

def test_1_get_agents(self) -> None:
response = self.apis.agents.get_agents_with_http_info()
assert response.status_code == 200
assert response.data is not None

def test_2_get_agent_by_uuid(self) -> None:
if self.existing_agent_uuid is None:
pytest.skip("No existing agents found")
response = self.apis.agents.get_agent_by_uuid_with_http_info(
self.existing_agent_uuid
)
assert response.status_code == 200
assert response.data is not None
assert response.data.uuid == self.existing_agent_uuid

def test_3_get_agent_activities(self) -> None:
if self.existing_agent_uuid is None:
pytest.skip("No existing agents found")
response = self.apis.agents.get_agent_activities_with_http_info(
self.existing_agent_uuid
)
assert response.status_code == 200
assert response.data is not None
Loading