diff --git a/pkgs/clan-cli/bin/gen-python-client b/pkgs/clan-cli/bin/gen-python-client
index 3c83d1b..58adc16 100755
--- a/pkgs/clan-cli/bin/gen-python-client
+++ b/pkgs/clan-cli/bin/gen-python-client
@@ -80,6 +80,8 @@ def main() -> None:
replacement = "from typing import Any, List, Optional, Dict"
replace_in_directory(directory_path=src_client, pattern=pattern, replacement=replacement)
+ src_clients_tests = src_client / "test"
+ shutil.rmtree(src_clients_tests)
dst_client: Path = args.out / "openapi_client"
shutil.rmtree(dst_client, ignore_errors=True)
shutil.copytree(src_client, dst_client)
diff --git a/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py b/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
index 4aec32b..625d03b 100644
--- a/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
+++ b/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
@@ -15,7 +15,6 @@ from ..schemas import (
Resolution,
Service,
ServiceCreate,
- ServicesByName,
)
from ..tags import Tags
@@ -30,7 +29,7 @@ log = logging.getLogger(__name__)
# #
#########################
@router.post("/api/v1/service", response_model=Service, tags=[Tags.services])
-async def create_service(
+def create_service(
service: ServiceCreate, db: Session = Depends(sql_db.get_db)
) -> Service:
# todo checken ob schon da ...
@@ -38,17 +37,15 @@ async def create_service(
@router.get("/api/v1/services", response_model=List[Service], tags=[Tags.services])
-async def get_all_services(
+def get_all_services(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Service]:
services = sql_crud.get_services(db, skip=skip, limit=limit)
return services
-@router.get(
- "/api/v1/{entity_did}/service", response_model=List[Service], tags=[Tags.services]
-)
-async def get_service_by_did(
+@router.get("/api/v1/service", response_model=List[Service], tags=[Tags.services])
+def get_service_by_did(
entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
@@ -59,25 +56,22 @@ async def get_service_by_did(
@router.get(
- "/api/v1/services_by_entity_name",
- response_model=ServicesByName,
+ "/api/v1/services_without_entity",
+ response_model=List[Service],
tags=[Tags.services],
)
-async def get_services_by_name(
- entity_name: str,
+def get_services_without_entity(
+ entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
db: Session = Depends(sql_db.get_db),
-) -> ServicesByName:
- entity = sql_crud.get_entity_by_name(db, name=entity_name)
- if entity is None:
- raise ClanError(f"Entity with name '{entity_name}' not found")
- services = sql_crud.get_services_by_entity_did(db, entity_did=str(entity.did))
- return ServicesByName(entity=entity, services=services) # type: ignore
+) -> List[sql_models.Service]:
+ service = sql_crud.get_services_without_entity_id(db, entity_did=entity_did)
+ return service
-@router.delete("/api/v1/{entity_did}/service", tags=[Tags.services])
-async def delete_service(
+@router.delete("/api/v1/service", tags=[Tags.services])
+def delete_service(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
) -> dict[str, str]:
@@ -95,7 +89,7 @@ async def delete_service(
response_model=List[Service],
tags=[Tags.repositories],
)
-async def get_all_repositories(
+def get_all_repositories(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Service]:
repositories = sql_crud.get_services(db, skip=skip, limit=limit)
@@ -108,7 +102,7 @@ async def get_all_repositories(
# #
#########################
@router.post("/api/v1/entity", response_model=Entity, tags=[Tags.entities])
-async def create_entity(
+def create_entity(
entity: EntityCreate, db: Session = Depends(sql_db.get_db)
) -> EntityCreate:
return sql_crud.create_entity(db, entity)
@@ -117,7 +111,7 @@ async def create_entity(
@router.get(
"/api/v1/entity_by_name", response_model=Optional[Entity], tags=[Tags.entities]
)
-async def get_entity_by_name(
+def get_entity_by_name(
entity_name: str, db: Session = Depends(sql_db.get_db)
) -> Optional[sql_models.Entity]:
entity = sql_crud.get_entity_by_name(db, name=entity_name)
@@ -125,17 +119,15 @@ async def get_entity_by_name(
@router.get("/api/v1/entities", response_model=List[Entity], tags=[Tags.entities])
-async def get_all_entities(
+def get_all_entities(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Entity]:
entities = sql_crud.get_entities(db, skip=skip, limit=limit)
return entities
-@router.get(
- "/api/v1/{entity_did}/entity", response_model=Optional[Entity], tags=[Tags.entities]
-)
-async def get_entity_by_did(
+@router.get("/api/v1/entity", response_model=Optional[Entity], tags=[Tags.entities])
+def get_entity_by_did(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
) -> Optional[sql_models.Entity]:
@@ -148,61 +140,97 @@ async def get_entity_by_did(
response_model=List[Entity],
tags=[Tags.entities],
)
-async def get_attached_entities(
+def get_attached_entities(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Entity]:
entities = sql_crud.get_attached_entities(db, skip=skip, limit=limit)
return entities
-@router.post("/api/v1/{entity_did}/detach", response_model=Entity, tags=[Tags.entities])
-async def detach_entity(
- background_tasks: BackgroundTasks,
- entity_did: str = "did:sov:test:1234",
- skip: int = 0,
- limit: int = 100,
- db: Session = Depends(sql_db.get_db),
-) -> sql_models.Entity:
- entity = sql_crud.set_attached_by_entity_did(db, entity_did, False)
- return entity
-
-
-@router.post("/api/v1/{entity_did}/attach", tags=[Tags.entities])
-async def attach_entity(
+@router.post("/api/v1/detach", tags=[Tags.entities])
+def detach_entity(
background_tasks: BackgroundTasks,
entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
db: Session = Depends(sql_db.get_db),
) -> dict[str, str]:
- if sql_crud.get_entity_by_did(db, entity_did) is None:
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ if entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' not found")
+ sql_crud.set_stop_health_task(db, entity_did, True)
+ return {"message": f"Detached {entity_did} successfully"}
+
+
+@router.post("/api/v1/attach", tags=[Tags.entities])
+def attach_entity(
+ background_tasks: BackgroundTasks,
+ entity_did: str = "did:sov:test:1234",
+ skip: int = 0,
+ limit: int = 100,
+ db: Session = Depends(sql_db.get_db),
+) -> dict[str, str]:
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ if entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' not found")
+ url = f"http://{entity.ip}"
+ sql_crud.set_stop_health_task(db, entity_did, False)
+ print("Start health query at", url)
+ background_tasks.add_task(attach_entity_loc, db, entity_did)
+ return {"message": f"Started attachment task for {entity.name}"}
+
+
+@router.get("/api/v1/is_attached", tags=[Tags.entities])
+def is_attached(
+ entity_did: str = "did:sov:test:1234", db: Session = Depends(sql_db.get_db)
+) -> dict[str, str]:
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+
+ if entity is None:
raise ClanError(f"Entity with did '{entity_did}' not found")
- background_tasks.add_task(attach_entity_loc, db, entity_did)
- return {"message": "Attaching in the background"}
+ timer = 0.0
+ timeout = 2
+ while not entity.attached:
+ time.sleep(0.1)
+
+ timer += 0.1
+ if timer > timeout:
+ url = f"http://{entity.ip}"
+ raise ClanError(f"Entity at {url} not reachable")
+
+ db.refresh(entity)
+ return {"message": f"Attached to {entity.name} successfully"}
def attach_entity_loc(db: Session, entity_did: str) -> None:
- db_entity = sql_crud.set_attached_by_entity_did(db, entity_did, True)
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
try:
- while db_entity.attached:
- # query status endpoint
- # https://www.python-httpx.org/
- response = httpx.get(f"http://{db_entity.ip}", timeout=2)
- print(response)
- # test with:
- # while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N localhost 5555 ; done
- # client test (apt install python3-httpx):
- # httpx http://localhost:5555
- # except not reached set false
+ assert entity is not None
+ url = f"http://{entity.ip}"
+
+ while entity.stop_health_task is False:
+ response = httpx.get(url, timeout=2)
+ if response.status_code != 200:
+ raise ClanError(
+ f"Entity with did '{entity_did}' returned {response.status_code}"
+ )
+
+ if entity.attached is False:
+ sql_crud.set_attached_by_entity_did(db, entity_did, True)
+ if entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' has been deleted")
+
time.sleep(1)
+ db.refresh(entity)
except Exception:
- log.warning(f"Entity {entity_did} not reachable. Setting attached to false")
-
- db_entity = sql_crud.set_attached_by_entity_did(db, entity_did, False)
+ print(f"Entity {entity_did} not reachable at {url}")
+ finally:
+ sql_crud.set_attached_by_entity_did(db, entity_did, False)
+ sql_crud.set_stop_health_task(db, entity_did, False)
-@router.delete("/api/v1/{entity_did}/entity", tags=[Tags.entities])
+@router.delete("/api/v1/entity", tags=[Tags.entities])
async def delete_entity(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
@@ -216,8 +244,6 @@ async def delete_entity(
# Resolution #
# #
#########################
-
-
@router.get(
"/api/v1/resolutions", response_model=List[Resolution], tags=[Tags.resolutions]
)
diff --git a/pkgs/clan-cli/clan_cli/webui/schemas.py b/pkgs/clan-cli/clan_cli/webui/schemas.py
index bdb1a2e..f43e8dd 100644
--- a/pkgs/clan-cli/clan_cli/webui/schemas.py
+++ b/pkgs/clan-cli/clan_cli/webui/schemas.py
@@ -41,6 +41,7 @@ class EntityCreate(EntityBase):
class Entity(EntityCreate):
attached: bool = Field(...)
+ stop_health_task: bool = Field(...)
class Config:
orm_mode = True
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_app.db b/pkgs/clan-cli/clan_cli/webui/sql_app.db
deleted file mode 100644
index 6d1f62f..0000000
Binary files a/pkgs/clan-cli/clan_cli/webui/sql_app.db and /dev/null differ
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_crud.py b/pkgs/clan-cli/clan_cli/webui/sql_crud.py
index f18bc4e..3f5fdc0 100644
--- a/pkgs/clan-cli/clan_cli/webui/sql_crud.py
+++ b/pkgs/clan-cli/clan_cli/webui/sql_crud.py
@@ -64,7 +64,9 @@ def get_services_without_entity_id(
# #
#########################
def create_entity(db: Session, entity: schemas.EntityCreate) -> sql_models.Entity:
- db_entity = sql_models.Entity(**entity.dict(), attached=False)
+ db_entity = sql_models.Entity(
+ **entity.dict(), attached=False, stop_health_task=False
+ )
db.add(db_entity)
db.commit()
db.refresh(db_entity)
@@ -100,20 +102,30 @@ def get_attached_entities(
# Returns same entity if setting didnt changed something
-def set_attached_by_entity_did(
- db: Session, entity_did: str, value: bool
-) -> sql_models.Entity:
+def set_stop_health_task(db: Session, entity_did: str, value: bool) -> None:
db_entity = get_entity_by_did(db, entity_did)
if db_entity is None:
raise ClanError(f"Entity with did '{entity_did}' not found")
- setattr(db_entity, "attached", value)
+ setattr(db_entity, "stop_health_task", value)
+
+ # save changes in db
+ db.add(db_entity)
+ db.commit()
+ db.refresh(db_entity)
+
+
+def set_attached_by_entity_did(db: Session, entity_did: str, attached: bool) -> None:
+ db_entity = get_entity_by_did(db, entity_did)
+ if db_entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' not found")
+
+ setattr(db_entity, "attached", attached)
# save changes in db
db.add(db_entity)
db.commit()
db.refresh(db_entity)
- return db_entity
def delete_entity_by_did(db: Session, did: str) -> None:
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_models.py b/pkgs/clan-cli/clan_cli/webui/sql_models.py
index b0358ce..792b8cc 100644
--- a/pkgs/clan-cli/clan_cli/webui/sql_models.py
+++ b/pkgs/clan-cli/clan_cli/webui/sql_models.py
@@ -23,6 +23,7 @@ class Entity(Base):
ip = Column(String, index=True)
attached = Column(Boolean, index=True)
visible = Column(Boolean, index=True)
+ stop_health_task = Column(Boolean)
## Non queryable body ##
# In here we deposit: Network, Roles, Visible, etc.
diff --git a/pkgs/clan-cli/clan_cli/webui/tags.py b/pkgs/clan-cli/clan_cli/webui/tags.py
index 034beb7..712f09b 100644
--- a/pkgs/clan-cli/clan_cli/webui/tags.py
+++ b/pkgs/clan-cli/clan_cli/webui/tags.py
@@ -4,7 +4,6 @@ from typing import Any, Dict, List
class Tags(Enum):
services = "services"
- clients = "clients"
entities = "entities"
repositories = "repositories"
resolutions = "resolution"
@@ -18,10 +17,6 @@ tags_metadata: List[Dict[str, Any]] = [
"name": str(Tags.services),
"description": "Operations on a service.",
},
- {
- "name": str(Tags.clients),
- "description": "Operations on a client.",
- },
{
"name": str(Tags.entities),
"description": "Operations on an entity.",
diff --git a/pkgs/clan-cli/default.nix b/pkgs/clan-cli/default.nix
index 6d3cd26..d52472f 100644
--- a/pkgs/clan-cli/default.nix
+++ b/pkgs/clan-cli/default.nix
@@ -8,7 +8,6 @@
, openssh
, pytest
, pytest-cov
-, pytest-xdist
, pytest-subprocess
, pytest-timeout
, remote-pdb
@@ -56,7 +55,6 @@ let
pytest
pytest-cov
pytest-subprocess
- pytest-xdist
pytest-timeout
remote-pdb
ipdb
diff --git a/pkgs/clan-cli/emulate_entity.sh b/pkgs/clan-cli/emulate_entity.sh
index da91b78..047880a 100755
--- a/pkgs/clan-cli/emulate_entity.sh
+++ b/pkgs/clan-cli/emulate_entity.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N 127.0.0.1 5555 ; done
+while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N 127.0.0.1 7002; done
diff --git a/pkgs/clan-cli/pyproject.toml b/pkgs/clan-cli/pyproject.toml
index 7fa8caf..adbf1ca 100644
--- a/pkgs/clan-cli/pyproject.toml
+++ b/pkgs/clan-cli/pyproject.toml
@@ -21,7 +21,7 @@ testpaths = "tests"
faulthandler_timeout = 60
log_level = "DEBUG"
log_format = "%(levelname)s: %(message)s"
-addopts = "--cov . --cov-report term --cov-report html:.reports/html --no-cov-on-fail --durations 5 --color=yes --maxfail=1 --new-first -nauto" # Add --pdb for debugging
+addopts = "--cov . --cov-report term --cov-report html:.reports/html --no-cov-on-fail --durations 5 --color=yes --maxfail=1 --new-first" # Add --pdb for debugging
norecursedirs = "tests/helpers"
markers = [ "impure" ]
diff --git a/pkgs/clan-cli/tests/api.py b/pkgs/clan-cli/tests/api.py
index c95c1f9..1c3644d 100644
--- a/pkgs/clan-cli/tests/api.py
+++ b/pkgs/clan-cli/tests/api.py
@@ -9,6 +9,7 @@ import pytest
import uvicorn
from fastapi.testclient import TestClient
from openapi_client import ApiClient, Configuration
+from ports import PortFunction
from clan_cli.webui.app import app
@@ -31,8 +32,8 @@ def get_health(*, url: str, max_retries: int = 20, delay: float = 0.2) -> str |
# Pytest fixture to run the server in a separate process
@pytest.fixture(scope="session")
-def server_url() -> Generator[str, None, None]:
- port = 8000
+def server_url(unused_tcp_port: PortFunction) -> Generator[str, None, None]:
+ port = unused_tcp_port()
host = "127.0.0.1"
proc = Process(
target=uvicorn.run,
diff --git a/pkgs/clan-cli/tests/openapi_client/__init__.py b/pkgs/clan-cli/tests/openapi_client/__init__.py
index 638483e..8263f8b 100644
--- a/pkgs/clan-cli/tests/openapi_client/__init__.py
+++ b/pkgs/clan-cli/tests/openapi_client/__init__.py
@@ -42,7 +42,6 @@ from openapi_client.models.machine import Machine
from openapi_client.models.resolution import Resolution
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.models.status import Status
from openapi_client.models.validation_error import ValidationError
from openapi_client.models.validation_error_loc_inner import ValidationErrorLocInner
diff --git a/pkgs/clan-cli/tests/openapi_client/api/entities_api.py b/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
index 51f4345..82431a5 100644
--- a/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
+++ b/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
@@ -46,7 +46,7 @@ class EntitiesApi:
self.api_client = api_client
@validate_arguments
- def attach_entity(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Dict[str, str]: # noqa: E501
+ def attach_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Attach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -55,7 +55,7 @@ class EntitiesApi:
>>> thread = api.attach_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -79,7 +79,7 @@ class EntitiesApi:
return self.attach_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def attach_entity_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def attach_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Attach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -88,7 +88,7 @@ class EntitiesApi:
>>> thread = api.attach_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -152,12 +152,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -184,7 +184,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/attach', 'POST',
+ '/api/v1/attach', 'POST',
_path_params,
_query_params,
_header_params,
@@ -347,7 +347,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def delete_entity(self, entity_did : StrictStr, **kwargs) -> Dict[str, str]: # noqa: E501
+ def delete_entity(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Delete Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -356,7 +356,7 @@ class EntitiesApi:
>>> thread = api.delete_entity(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -376,7 +376,7 @@ class EntitiesApi:
return self.delete_entity_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def delete_entity_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def delete_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Delete Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -385,7 +385,7 @@ class EntitiesApi:
>>> thread = api.delete_entity_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -443,12 +443,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -469,7 +469,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/entity', 'DELETE',
+ '/api/v1/entity', 'DELETE',
_path_params,
_query_params,
_header_params,
@@ -486,7 +486,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def detach_entity(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Entity: # noqa: E501
+ def detach_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Detach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -495,7 +495,7 @@ class EntitiesApi:
>>> thread = api.detach_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -510,7 +510,7 @@ class EntitiesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: Entity
+ :rtype: Dict[str, str]
"""
kwargs['_return_http_data_only'] = True
if '_preload_content' in kwargs:
@@ -519,7 +519,7 @@ class EntitiesApi:
return self.detach_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def detach_entity_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def detach_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Detach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -528,7 +528,7 @@ class EntitiesApi:
>>> thread = api.detach_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -556,7 +556,7 @@ class EntitiesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: tuple(Entity, status_code(int), headers(HTTPHeaderDict))
+ :rtype: tuple(Dict[str, str], status_code(int), headers(HTTPHeaderDict))
"""
_params = locals()
@@ -592,12 +592,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -619,12 +619,12 @@ class EntitiesApi:
_auth_settings = [] # noqa: E501
_response_types_map = {
- '200': "Entity",
+ '200': "Dict[str, str]",
'422': "HTTPValidationError",
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/detach', 'POST',
+ '/api/v1/detach', 'POST',
_path_params,
_query_params,
_header_params,
@@ -935,7 +935,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_entity_by_did(self, entity_did : StrictStr, **kwargs) -> Entity: # noqa: E501
+ def get_entity_by_did(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Entity: # noqa: E501
"""Get Entity By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -944,7 +944,7 @@ class EntitiesApi:
>>> thread = api.get_entity_by_did(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -964,7 +964,7 @@ class EntitiesApi:
return self.get_entity_by_did_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def get_entity_by_did_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def get_entity_by_did_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Get Entity By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -973,7 +973,7 @@ class EntitiesApi:
>>> thread = api.get_entity_by_did_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -1031,12 +1031,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -1057,7 +1057,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/entity', 'GET',
+ '/api/v1/entity', 'GET',
_path_params,
_query_params,
_header_params,
@@ -1211,3 +1211,142 @@ class EntitiesApi:
_request_timeout=_params.get('_request_timeout'),
collection_formats=_collection_formats,
_request_auth=_params.get('_request_auth'))
+
+ @validate_arguments
+ def is_attached(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Dict[str, str]: # noqa: E501
+ """Is Attached # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.is_attached(entity_did, async_req=True)
+ >>> result = thread.get()
+
+ :param entity_did:
+ :type entity_did: str
+ :param async_req: Whether to execute the request asynchronously.
+ :type async_req: bool, optional
+ :param _request_timeout: timeout setting for this request.
+ If one number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :return: Returns the result object.
+ If the method is called asynchronously,
+ returns the request thread.
+ :rtype: Dict[str, str]
+ """
+ kwargs['_return_http_data_only'] = True
+ if '_preload_content' in kwargs:
+ message = "Error! Please call the is_attached_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
+ raise ValueError(message)
+ return self.is_attached_with_http_info(entity_did, **kwargs) # noqa: E501
+
+ @validate_arguments
+ def is_attached_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
+ """Is Attached # noqa: E501
+
+ This method makes a synchronous HTTP request by default. To make an
+ asynchronous HTTP request, please pass async_req=True
+
+ >>> thread = api.is_attached_with_http_info(entity_did, async_req=True)
+ >>> result = thread.get()
+
+ :param entity_did:
+ :type entity_did: str
+ :param async_req: Whether to execute the request asynchronously.
+ :type async_req: bool, optional
+ :param _preload_content: if False, the ApiResponse.data will
+ be set to none and raw_data will store the
+ HTTP response body without reading/decoding.
+ Default is True.
+ :type _preload_content: bool, optional
+ :param _return_http_data_only: response data instead of ApiResponse
+ object with status code, headers, etc
+ :type _return_http_data_only: bool, optional
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the authentication
+ in the spec for a single request.
+ :type _request_auth: dict, optional
+ :type _content_type: string, optional: force content-type for the request
+ :return: Returns the result object.
+ If the method is called asynchronously,
+ returns the request thread.
+ :rtype: tuple(Dict[str, str], status_code(int), headers(HTTPHeaderDict))
+ """
+
+ _params = locals()
+
+ _all_params = [
+ 'entity_did'
+ ]
+ _all_params.extend(
+ [
+ 'async_req',
+ '_return_http_data_only',
+ '_preload_content',
+ '_request_timeout',
+ '_request_auth',
+ '_content_type',
+ '_headers'
+ ]
+ )
+
+ # validate the arguments
+ for _key, _val in _params['kwargs'].items():
+ if _key not in _all_params:
+ raise ApiTypeError(
+ "Got an unexpected keyword argument '%s'"
+ " to method is_attached" % _key
+ )
+ _params[_key] = _val
+ del _params['kwargs']
+
+ _collection_formats = {}
+
+ # process the path parameters
+ _path_params = {}
+
+ # process the query parameters
+ _query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
+ # process the header parameters
+ _header_params = dict(_params.get('_headers', {}))
+ # process the form parameters
+ _form_params = []
+ _files = {}
+ # process the body parameter
+ _body_params = None
+ # set the HTTP header `Accept`
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ ['application/json']) # noqa: E501
+
+ # authentication setting
+ _auth_settings = [] # noqa: E501
+
+ _response_types_map = {
+ '200': "Dict[str, str]",
+ '422': "HTTPValidationError",
+ }
+
+ return self.api_client.call_api(
+ '/api/v1/is_attached', 'GET',
+ _path_params,
+ _query_params,
+ _header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ response_types_map=_response_types_map,
+ auth_settings=_auth_settings,
+ async_req=_params.get('async_req'),
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
+ _preload_content=_params.get('_preload_content', True),
+ _request_timeout=_params.get('_request_timeout'),
+ collection_formats=_collection_formats,
+ _request_auth=_params.get('_request_auth'))
diff --git a/pkgs/clan-cli/tests/openapi_client/api/services_api.py b/pkgs/clan-cli/tests/openapi_client/api/services_api.py
index 4c17330..d8eb462 100644
--- a/pkgs/clan-cli/tests/openapi_client/api/services_api.py
+++ b/pkgs/clan-cli/tests/openapi_client/api/services_api.py
@@ -24,7 +24,6 @@ from typing import Any, List, Optional, Dict
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.api_client import ApiClient
from openapi_client.api_response import ApiResponse
@@ -193,7 +192,7 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def delete_service(self, entity_did : StrictStr, **kwargs) -> Dict[str, str]: # noqa: E501
+ def delete_service(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Delete Service # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -202,7 +201,7 @@ class ServicesApi:
>>> thread = api.delete_service(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -222,7 +221,7 @@ class ServicesApi:
return self.delete_service_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def delete_service_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def delete_service_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Delete Service # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -231,7 +230,7 @@ class ServicesApi:
>>> thread = api.delete_service_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -289,12 +288,12 @@ class ServicesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -315,7 +314,7 @@ class ServicesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/service', 'DELETE',
+ '/api/v1/service', 'DELETE',
_path_params,
_query_params,
_header_params,
@@ -479,7 +478,7 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_service_by_did(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
+ def get_service_by_did(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
"""Get Service By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -488,7 +487,7 @@ class ServicesApi:
>>> thread = api.get_service_by_did(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -512,7 +511,7 @@ class ServicesApi:
return self.get_service_by_did_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def get_service_by_did_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def get_service_by_did_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Get Service By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -521,7 +520,7 @@ class ServicesApi:
>>> thread = api.get_service_by_did_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -585,12 +584,12 @@ class ServicesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -617,7 +616,7 @@ class ServicesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/service', 'GET',
+ '/api/v1/service', 'GET',
_path_params,
_query_params,
_header_params,
@@ -634,17 +633,17 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_services_by_name(self, entity_name : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ServicesByName: # noqa: E501
- """Get Services By Name # noqa: E501
+ def get_services_without_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
+ """Get Services Without Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_services_by_name(entity_name, skip, limit, async_req=True)
+ >>> thread = api.get_services_without_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_name: (required)
- :type entity_name: str
+ :param entity_did:
+ :type entity_did: str
:param skip:
:type skip: int
:param limit:
@@ -658,26 +657,26 @@ class ServicesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: ServicesByName
+ :rtype: List[Service]
"""
kwargs['_return_http_data_only'] = True
if '_preload_content' in kwargs:
- message = "Error! Please call the get_services_by_name_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
+ message = "Error! Please call the get_services_without_entity_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
raise ValueError(message)
- return self.get_services_by_name_with_http_info(entity_name, skip, limit, **kwargs) # noqa: E501
+ return self.get_services_without_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def get_services_by_name_with_http_info(self, entity_name : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
- """Get Services By Name # noqa: E501
+ def get_services_without_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ """Get Services Without Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_services_by_name_with_http_info(entity_name, skip, limit, async_req=True)
+ >>> thread = api.get_services_without_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_name: (required)
- :type entity_name: str
+ :param entity_did:
+ :type entity_did: str
:param skip:
:type skip: int
:param limit:
@@ -704,13 +703,13 @@ class ServicesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: tuple(ServicesByName, status_code(int), headers(HTTPHeaderDict))
+ :rtype: tuple(List[Service], status_code(int), headers(HTTPHeaderDict))
"""
_params = locals()
_all_params = [
- 'entity_name',
+ 'entity_did',
'skip',
'limit'
]
@@ -731,7 +730,7 @@ class ServicesApi:
if _key not in _all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'"
- " to method get_services_by_name" % _key
+ " to method get_services_without_entity" % _key
)
_params[_key] = _val
del _params['kwargs']
@@ -743,8 +742,8 @@ class ServicesApi:
# process the query parameters
_query_params = []
- if _params.get('entity_name') is not None: # noqa: E501
- _query_params.append(('entity_name', _params['entity_name']))
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -767,12 +766,12 @@ class ServicesApi:
_auth_settings = [] # noqa: E501
_response_types_map = {
- '200': "ServicesByName",
+ '200': "List[Service]",
'422': "HTTPValidationError",
}
return self.api_client.call_api(
- '/api/v1/services_by_entity_name', 'GET',
+ '/api/v1/services_without_entity', 'GET',
_path_params,
_query_params,
_header_params,
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md b/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
index 86785f9..dc621f8 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
@@ -2,20 +2,21 @@
All URIs are relative to _http://localhost_
-| Method | HTTP request | Description |
-| ----------------------------------------------------------------- | -------------------------------------- | --------------------- |
-| [**attach_entity**](EntitiesApi.md#attach_entity) | **POST** /api/v1/{entity_did}/attach | Attach Entity |
-| [**create_entity**](EntitiesApi.md#create_entity) | **POST** /api/v1/entity | Create Entity |
-| [**delete_entity**](EntitiesApi.md#delete_entity) | **DELETE** /api/v1/{entity_did}/entity | Delete Entity |
-| [**detach_entity**](EntitiesApi.md#detach_entity) | **POST** /api/v1/{entity_did}/detach | Detach Entity |
-| [**get_all_entities**](EntitiesApi.md#get_all_entities) | **GET** /api/v1/entities | Get All Entities |
-| [**get_attached_entities**](EntitiesApi.md#get_attached_entities) | **GET** /api/v1/attached_entities | Get Attached Entities |
-| [**get_entity_by_did**](EntitiesApi.md#get_entity_by_did) | **GET** /api/v1/{entity_did}/entity | Get Entity By Did |
-| [**get_entity_by_name**](EntitiesApi.md#get_entity_by_name) | **GET** /api/v1/entity_by_name | Get Entity By Name |
+| Method | HTTP request | Description |
+| ----------------------------------------------------------------- | --------------------------------- | --------------------- |
+| [**attach_entity**](EntitiesApi.md#attach_entity) | **POST** /api/v1/attach | Attach Entity |
+| [**create_entity**](EntitiesApi.md#create_entity) | **POST** /api/v1/entity | Create Entity |
+| [**delete_entity**](EntitiesApi.md#delete_entity) | **DELETE** /api/v1/entity | Delete Entity |
+| [**detach_entity**](EntitiesApi.md#detach_entity) | **POST** /api/v1/detach | Detach Entity |
+| [**get_all_entities**](EntitiesApi.md#get_all_entities) | **GET** /api/v1/entities | Get All Entities |
+| [**get_attached_entities**](EntitiesApi.md#get_attached_entities) | **GET** /api/v1/attached_entities | Get Attached Entities |
+| [**get_entity_by_did**](EntitiesApi.md#get_entity_by_did) | **GET** /api/v1/entity | Get Entity By Did |
+| [**get_entity_by_name**](EntitiesApi.md#get_entity_by_name) | **GET** /api/v1/entity_by_name | Get Entity By Name |
+| [**is_attached**](EntitiesApi.md#is_attached) | **GET** /api/v1/is_attached | Is Attached |
# **attach_entity**
-> Dict[str, str] attach_entity(entity_did, skip=skip, limit=limit)
+> Dict[str, str] attach_entity(entity_did=entity_did, skip=skip, limit=limit)
Attach Entity
@@ -39,13 +40,13 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Attach Entity
- api_response = api_instance.attach_entity(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.attach_entity(entity_did=entity_did, skip=skip, limit=limit)
print("The response of EntitiesApi->attach_entity:\n")
pprint(api_response)
except Exception as e:
@@ -54,11 +55,11 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
+| **skip** | **int** | | [optional] [default to 0] |
+| **limit** | **int** | | [optional] [default to 100] |
### Return type
@@ -151,7 +152,7 @@ No authorization required
# **delete_entity**
-> Dict[str, str] delete_entity(entity_did)
+> Dict[str, str] delete_entity(entity_did=entity_did)
Delete Entity
@@ -175,11 +176,11 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Delete Entity
- api_response = api_instance.delete_entity(entity_did)
+ api_response = api_instance.delete_entity(entity_did=entity_did)
print("The response of EntitiesApi->delete_entity:\n")
pprint(api_response)
except Exception as e:
@@ -188,9 +189,9 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
### Return type
@@ -216,7 +217,7 @@ No authorization required
# **detach_entity**
-> Entity detach_entity(entity_did, skip=skip, limit=limit)
+> Dict[str, str] detach_entity(entity_did=entity_did, skip=skip, limit=limit)
Detach Entity
@@ -226,7 +227,6 @@ Detach Entity
import time
import os
import openapi_client
-from openapi_client.models.entity import Entity
from openapi_client.rest import ApiException
from pprint import pprint
@@ -241,13 +241,13 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Detach Entity
- api_response = api_instance.detach_entity(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.detach_entity(entity_did=entity_did, skip=skip, limit=limit)
print("The response of EntitiesApi->detach_entity:\n")
pprint(api_response)
except Exception as e:
@@ -256,15 +256,15 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
+| **skip** | **int** | | [optional] [default to 0] |
+| **limit** | **int** | | [optional] [default to 100] |
### Return type
-[**Entity**](Entity.md)
+**Dict[str, str]**
### Authorization
@@ -422,7 +422,7 @@ No authorization required
# **get_entity_by_did**
-> Entity get_entity_by_did(entity_did)
+> Entity get_entity_by_did(entity_did=entity_did)
Get Entity By Did
@@ -447,11 +447,11 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Get Entity By Did
- api_response = api_instance.get_entity_by_did(entity_did)
+ api_response = api_instance.get_entity_by_did(entity_did=entity_did)
print("The response of EntitiesApi->get_entity_by_did:\n")
pprint(api_response)
except Exception as e:
@@ -460,9 +460,9 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
### Return type
@@ -551,3 +551,68 @@ No authorization required
| **422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+# **is_attached**
+
+> Dict[str, str] is_attached(entity_did=entity_did)
+
+Is Attached
+
+### Example
+
+```python
+import time
+import os
+import openapi_client
+from openapi_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = openapi_client.Configuration(
+ host = "http://localhost"
+)
+
+
+# Enter a context with an instance of the API client
+with openapi_client.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = openapi_client.EntitiesApi(api_client)
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
+
+ try:
+ # Is Attached
+ api_response = api_instance.is_attached(entity_did=entity_did)
+ print("The response of EntitiesApi->is_attached:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EntitiesApi->is_attached: %s\n" % e)
+```
+
+### Parameters
+
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
+
+### Return type
+
+**Dict[str, str]**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+| ----------- | ------------------- | ---------------- |
+| **200** | Successful Response | - |
+| **422** | Validation Error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Entity.md b/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
index fc0e2d7..fa7efb2 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
@@ -2,14 +2,15 @@
## Properties
-| Name | Type | Description | Notes |
-| ------------ | ---------- | ----------- | ----- |
-| **did** | **str** | |
-| **name** | **str** | |
-| **ip** | **str** | |
-| **visible** | **bool** | |
-| **other** | **object** | |
-| **attached** | **bool** | |
+| Name | Type | Description | Notes |
+| -------------------- | ---------- | ----------- | ----- |
+| **did** | **str** | |
+| **name** | **str** | |
+| **ip** | **str** | |
+| **visible** | **bool** | |
+| **other** | **object** | |
+| **attached** | **bool** | |
+| **stop_health_task** | **bool** | |
## Example
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md b/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
index 846a81c..006615a 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
@@ -2,13 +2,13 @@
All URIs are relative to _http://localhost_
-| Method | HTTP request | Description |
-| --------------------------------------------------------------- | --------------------------------------- | -------------------- |
-| [**create_service**](ServicesApi.md#create_service) | **POST** /api/v1/service | Create Service |
-| [**delete_service**](ServicesApi.md#delete_service) | **DELETE** /api/v1/{entity_did}/service | Delete Service |
-| [**get_all_services**](ServicesApi.md#get_all_services) | **GET** /api/v1/services | Get All Services |
-| [**get_service_by_did**](ServicesApi.md#get_service_by_did) | **GET** /api/v1/{entity_did}/service | Get Service By Did |
-| [**get_services_by_name**](ServicesApi.md#get_services_by_name) | **GET** /api/v1/services_by_entity_name | Get Services By Name |
+| Method | HTTP request | Description |
+| ----------------------------------------------------------------------------- | --------------------------------------- | --------------------------- |
+| [**create_service**](ServicesApi.md#create_service) | **POST** /api/v1/service | Create Service |
+| [**delete_service**](ServicesApi.md#delete_service) | **DELETE** /api/v1/service | Delete Service |
+| [**get_all_services**](ServicesApi.md#get_all_services) | **GET** /api/v1/services | Get All Services |
+| [**get_service_by_did**](ServicesApi.md#get_service_by_did) | **GET** /api/v1/service | Get Service By Did |
+| [**get_services_without_entity**](ServicesApi.md#get_services_without_entity) | **GET** /api/v1/services_without_entity | Get Services Without Entity |
# **create_service**
@@ -79,7 +79,7 @@ No authorization required
# **delete_service**
-> Dict[str, str] delete_service(entity_did)
+> Dict[str, str] delete_service(entity_did=entity_did)
Delete Service
@@ -103,11 +103,11 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Delete Service
- api_response = api_instance.delete_service(entity_did)
+ api_response = api_instance.delete_service(entity_did=entity_did)
print("The response of ServicesApi->delete_service:\n")
pprint(api_response)
except Exception as e:
@@ -116,9 +116,9 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
### Return type
@@ -212,7 +212,7 @@ No authorization required
# **get_service_by_did**
-> List[Service] get_service_by_did(entity_did, skip=skip, limit=limit)
+> List[Service] get_service_by_did(entity_did=entity_did, skip=skip, limit=limit)
Get Service By Did
@@ -237,13 +237,13 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Get Service By Did
- api_response = api_instance.get_service_by_did(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.get_service_by_did(entity_did=entity_did, skip=skip, limit=limit)
print("The response of ServicesApi->get_service_by_did:\n")
pprint(api_response)
except Exception as e:
@@ -252,11 +252,11 @@ with openapi_client.ApiClient(configuration) as api_client:
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
+| **skip** | **int** | | [optional] [default to 0] |
+| **limit** | **int** | | [optional] [default to 100] |
### Return type
@@ -280,11 +280,11 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **get_services_by_name**
+# **get_services_without_entity**
-> ServicesByName get_services_by_name(entity_name, skip=skip, limit=limit)
+> List[Service] get_services_without_entity(entity_did=entity_did, skip=skip, limit=limit)
-Get Services By Name
+Get Services Without Entity
### Example
@@ -292,7 +292,7 @@ Get Services By Name
import time
import os
import openapi_client
-from openapi_client.models.services_by_name import ServicesByName
+from openapi_client.models.service import Service
from openapi_client.rest import ApiException
from pprint import pprint
@@ -307,30 +307,30 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_name = 'entity_name_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
- # Get Services By Name
- api_response = api_instance.get_services_by_name(entity_name, skip=skip, limit=limit)
- print("The response of ServicesApi->get_services_by_name:\n")
+ # Get Services Without Entity
+ api_response = api_instance.get_services_without_entity(entity_did=entity_did, skip=skip, limit=limit)
+ print("The response of ServicesApi->get_services_without_entity:\n")
pprint(api_response)
except Exception as e:
- print("Exception when calling ServicesApi->get_services_by_name: %s\n" % e)
+ print("Exception when calling ServicesApi->get_services_without_entity: %s\n" % e)
```
### Parameters
-| Name | Type | Description | Notes |
-| --------------- | ------- | ----------- | --------------------------- |
-| **entity_name** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+| Name | Type | Description | Notes |
+| -------------- | ------- | ----------- | --------------------------------------------------- |
+| **entity_did** | **str** | | [optional] [default to 'did:sov:test:1234'] |
+| **skip** | **int** | | [optional] [default to 0] |
+| **limit** | **int** | | [optional] [default to 100] |
### Return type
-[**ServicesByName**](ServicesByName.md)
+[**List[Service]**](Service.md)
### Authorization
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md b/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md
deleted file mode 100644
index 5d25b1e..0000000
--- a/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# ServicesByName
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ------------ | ------------------------------- | ----------- | ----- |
-| **entity** | [**Entity**](Entity.md) | |
-| **services** | [**List[Service]**](Service.md) | |
-
-## Example
-
-```python
-from openapi_client.models.services_by_name import ServicesByName
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of ServicesByName from a JSON string
-services_by_name_instance = ServicesByName.from_json(json)
-# print the JSON string representation of the object
-print ServicesByName.to_json()
-
-# convert the object into a dict
-services_by_name_dict = services_by_name_instance.to_dict()
-# create an instance of ServicesByName from a dict
-services_by_name_form_dict = services_by_name.from_dict(services_by_name_dict)
-```
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/pkgs/clan-cli/tests/openapi_client/models/__init__.py b/pkgs/clan-cli/tests/openapi_client/models/__init__.py
index 822cc4e..4955602 100644
--- a/pkgs/clan-cli/tests/openapi_client/models/__init__.py
+++ b/pkgs/clan-cli/tests/openapi_client/models/__init__.py
@@ -21,7 +21,6 @@ from openapi_client.models.machine import Machine
from openapi_client.models.resolution import Resolution
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.models.status import Status
from openapi_client.models.validation_error import ValidationError
from openapi_client.models.validation_error_loc_inner import ValidationErrorLocInner
diff --git a/pkgs/clan-cli/tests/openapi_client/models/entity.py b/pkgs/clan-cli/tests/openapi_client/models/entity.py
index e478804..0ff4d16 100644
--- a/pkgs/clan-cli/tests/openapi_client/models/entity.py
+++ b/pkgs/clan-cli/tests/openapi_client/models/entity.py
@@ -31,7 +31,8 @@ class Entity(BaseModel):
visible: StrictBool = Field(...)
other: Dict[str, Any] = Field(...)
attached: StrictBool = Field(...)
- __properties = ["did", "name", "ip", "visible", "other", "attached"]
+ stop_health_task: StrictBool = Field(...)
+ __properties = ["did", "name", "ip", "visible", "other", "attached", "stop_health_task"]
class Config:
"""Pydantic configuration"""
@@ -74,7 +75,8 @@ class Entity(BaseModel):
"ip": obj.get("ip"),
"visible": obj.get("visible"),
"other": obj.get("other"),
- "attached": obj.get("attached")
+ "attached": obj.get("attached"),
+ "stop_health_task": obj.get("stop_health_task")
})
return _obj
diff --git a/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py b/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py
deleted file mode 100644
index 0ee9a85..0000000
--- a/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-
-from typing import List
-from pydantic import BaseModel, Field, conlist
-from openapi_client.models.entity import Entity
-from openapi_client.models.service import Service
-
-class ServicesByName(BaseModel):
- """
- ServicesByName
- """
- entity: Entity = Field(...)
- services: conlist(Service) = Field(...)
- __properties = ["entity", "services"]
-
- class Config:
- """Pydantic configuration"""
- allow_population_by_field_name = True
- validate_assignment = True
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.dict(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> ServicesByName:
- """Create an instance of ServicesByName from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self):
- """Returns the dictionary representation of the model using alias"""
- _dict = self.dict(by_alias=True,
- exclude={
- },
- exclude_none=True)
- # override the default output from pydantic by calling `to_dict()` of entity
- if self.entity:
- _dict['entity'] = self.entity.to_dict()
- # override the default output from pydantic by calling `to_dict()` of each item in services (list)
- _items = []
- if self.services:
- for _item in self.services:
- if _item:
- _items.append(_item.to_dict())
- _dict['services'] = _items
- return _dict
-
- @classmethod
- def from_dict(cls, obj: dict) -> ServicesByName:
- """Create an instance of ServicesByName from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return ServicesByName.parse_obj(obj)
-
- _obj = ServicesByName.parse_obj({
- "entity": Entity.from_dict(obj.get("entity")) if obj.get("entity") is not None else None,
- "services": [Service.from_dict(_item) for _item in obj.get("services")] if obj.get("services") is not None else None
- })
- return _obj
-
-
diff --git a/pkgs/clan-cli/tests/openapi_client/test/__init__.py b/pkgs/clan-cli/tests/openapi_client/test/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_default_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_default_api.py
deleted file mode 100644
index c8d82a9..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_default_api.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from openapi_client.api.default_api import DefaultApi # noqa: E501
-
-
-class TestDefaultApi(unittest.TestCase):
- """DefaultApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = DefaultApi() # noqa: E501
-
- def tearDown(self) -> None:
- pass
-
- def test_get(self) -> None:
- """Test case for get
-
- Get # noqa: E501
- """
- pass
-
- def test_health(self) -> None:
- """Test case for health
-
- Health # noqa: E501
- """
- pass
-
- def test_root(self) -> None:
- """Test case for root
-
- Root # noqa: E501
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_entities_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_entities_api.py
deleted file mode 100644
index ecbc5b8..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_entities_api.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from openapi_client.api.entities_api import EntitiesApi # noqa: E501
-
-
-class TestEntitiesApi(unittest.TestCase):
- """EntitiesApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = EntitiesApi() # noqa: E501
-
- def tearDown(self) -> None:
- pass
-
- def test_attach_entity(self) -> None:
- """Test case for attach_entity
-
- Attach Entity # noqa: E501
- """
- pass
-
- def test_create_entity(self) -> None:
- """Test case for create_entity
-
- Create Entity # noqa: E501
- """
- pass
-
- def test_delete_entity(self) -> None:
- """Test case for delete_entity
-
- Delete Entity # noqa: E501
- """
- pass
-
- def test_detach_entity(self) -> None:
- """Test case for detach_entity
-
- Detach Entity # noqa: E501
- """
- pass
-
- def test_get_all_entities(self) -> None:
- """Test case for get_all_entities
-
- Get All Entities # noqa: E501
- """
- pass
-
- def test_get_attached_entities(self) -> None:
- """Test case for get_attached_entities
-
- Get Attached Entities # noqa: E501
- """
- pass
-
- def test_get_entity_by_did(self) -> None:
- """Test case for get_entity_by_did
-
- Get Entity By Did # noqa: E501
- """
- pass
-
- def test_get_entity_by_name(self) -> None:
- """Test case for get_entity_by_name
-
- Get Entity By Name # noqa: E501
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_entity.py b/pkgs/clan-cli/tests/openapi_client/test/test_entity.py
deleted file mode 100644
index 5733915..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_entity.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.entity import Entity # noqa: E501
-
-class TestEntity(unittest.TestCase):
- """Entity unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> Entity:
- """Test Entity
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `Entity`
- """
- model = Entity() # noqa: E501
- if include_optional:
- return Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True
- )
- else:
- return Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True,
- )
- """
-
- def testEntity(self):
- """Test Entity"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_entity_create.py b/pkgs/clan-cli/tests/openapi_client/test/test_entity_create.py
deleted file mode 100644
index e6c4565..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_entity_create.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.entity_create import EntityCreate # noqa: E501
-
-class TestEntityCreate(unittest.TestCase):
- """EntityCreate unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> EntityCreate:
- """Test EntityCreate
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `EntityCreate`
- """
- model = EntityCreate() # noqa: E501
- if include_optional:
- return EntityCreate(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]}
- )
- else:
- return EntityCreate(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- )
- """
-
- def testEntityCreate(self):
- """Test EntityCreate"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_http_validation_error.py b/pkgs/clan-cli/tests/openapi_client/test/test_http_validation_error.py
deleted file mode 100644
index 9c2d93d..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_http_validation_error.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.http_validation_error import HTTPValidationError # noqa: E501
-
-class TestHTTPValidationError(unittest.TestCase):
- """HTTPValidationError unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> HTTPValidationError:
- """Test HTTPValidationError
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `HTTPValidationError`
- """
- model = HTTPValidationError() # noqa: E501
- if include_optional:
- return HTTPValidationError(
- detail = [
- openapi_client.models.validation_error.ValidationError(
- loc = [
- null
- ],
- msg = '',
- type = '', )
- ]
- )
- else:
- return HTTPValidationError(
- )
- """
-
- def testHTTPValidationError(self):
- """Test HTTPValidationError"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_machine.py b/pkgs/clan-cli/tests/openapi_client/test/test_machine.py
deleted file mode 100644
index 1138964..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_machine.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.machine import Machine # noqa: E501
-
-class TestMachine(unittest.TestCase):
- """Machine unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> Machine:
- """Test Machine
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `Machine`
- """
- model = Machine() # noqa: E501
- if include_optional:
- return Machine(
- name = '',
- status = 'online'
- )
- else:
- return Machine(
- name = '',
- status = 'online',
- )
- """
-
- def testMachine(self):
- """Test Machine"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_repositories_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_repositories_api.py
deleted file mode 100644
index ac87716..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_repositories_api.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from openapi_client.api.repositories_api import RepositoriesApi # noqa: E501
-
-
-class TestRepositoriesApi(unittest.TestCase):
- """RepositoriesApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = RepositoriesApi() # noqa: E501
-
- def tearDown(self) -> None:
- pass
-
- def test_get_all_repositories(self) -> None:
- """Test case for get_all_repositories
-
- Get All Repositories # noqa: E501
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_resolution.py b/pkgs/clan-cli/tests/openapi_client/test/test_resolution.py
deleted file mode 100644
index 08ecde0..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_resolution.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.resolution import Resolution # noqa: E501
-
-class TestResolution(unittest.TestCase):
- """Resolution unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> Resolution:
- """Test Resolution
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `Resolution`
- """
- model = Resolution() # noqa: E501
- if include_optional:
- return Resolution(
- requester_name = 'C1',
- requester_did = 'did:sov:test:1122',
- resolved_did = 'did:sov:test:1234',
- other = {test=test},
- timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = 56
- )
- else:
- return Resolution(
- requester_name = 'C1',
- requester_did = 'did:sov:test:1122',
- resolved_did = 'did:sov:test:1234',
- other = {test=test},
- timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
- id = 56,
- )
- """
-
- def testResolution(self):
- """Test Resolution"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_resolution_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_resolution_api.py
deleted file mode 100644
index 7f26f22..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_resolution_api.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from openapi_client.api.resolution_api import ResolutionApi # noqa: E501
-
-
-class TestResolutionApi(unittest.TestCase):
- """ResolutionApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = ResolutionApi() # noqa: E501
-
- def tearDown(self) -> None:
- pass
-
- def test_get_all_resolutions(self) -> None:
- """Test case for get_all_resolutions
-
- Get All Resolutions # noqa: E501
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_service.py b/pkgs/clan-cli/tests/openapi_client/test/test_service.py
deleted file mode 100644
index a681b0d..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_service.py
+++ /dev/null
@@ -1,79 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.service import Service # noqa: E501
-
-class TestService(unittest.TestCase):
- """Service unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> Service:
- """Test Service
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `Service`
- """
- model = Service() # noqa: E501
- if include_optional:
- return Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, )
- )
- else:
- return Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ),
- )
- """
-
- def testService(self):
- """Test Service"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_service_create.py b/pkgs/clan-cli/tests/openapi_client/test/test_service_create.py
deleted file mode 100644
index 588bb66..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_service_create.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.service_create import ServiceCreate # noqa: E501
-
-class TestServiceCreate(unittest.TestCase):
- """ServiceCreate unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ServiceCreate:
- """Test ServiceCreate
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ServiceCreate`
- """
- model = ServiceCreate() # noqa: E501
- if include_optional:
- return ServiceCreate(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234'
- )
- else:
- return ServiceCreate(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- )
- """
-
- def testServiceCreate(self):
- """Test ServiceCreate"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py
deleted file mode 100644
index b9d196d..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-
-from openapi_client.api.services_api import ServicesApi # noqa: E501
-
-
-class TestServicesApi(unittest.TestCase):
- """ServicesApi unit test stubs"""
-
- def setUp(self) -> None:
- self.api = ServicesApi() # noqa: E501
-
- def tearDown(self) -> None:
- pass
-
- def test_create_service(self) -> None:
- """Test case for create_service
-
- Create Service # noqa: E501
- """
- pass
-
- def test_delete_service(self) -> None:
- """Test case for delete_service
-
- Delete Service # noqa: E501
- """
- pass
-
- def test_get_all_services(self) -> None:
- """Test case for get_all_services
-
- Get All Services # noqa: E501
- """
- pass
-
- def test_get_service_by_did(self) -> None:
- """Test case for get_service_by_did
-
- Get Service By Did # noqa: E501
- """
- pass
-
- def test_get_services_by_name(self) -> None:
- """Test case for get_services_by_name
-
- Get Services By Name # noqa: E501
- """
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py b/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py
deleted file mode 100644
index b63992b..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.services_by_name import ServicesByName # noqa: E501
-
-class TestServicesByName(unittest.TestCase):
- """ServicesByName unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ServicesByName:
- """Test ServicesByName
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ServicesByName`
- """
- model = ServicesByName() # noqa: E501
- if include_optional:
- return ServicesByName(
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ),
- services = [
- openapi_client.models.service.Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ), )
- ]
- )
- else:
- return ServicesByName(
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ),
- services = [
- openapi_client.models.service.Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ), )
- ],
- )
- """
-
- def testServicesByName(self):
- """Test ServicesByName"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_status.py b/pkgs/clan-cli/tests/openapi_client/test/test_status.py
deleted file mode 100644
index 8a69573..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_status.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.status import Status # noqa: E501
-
-class TestStatus(unittest.TestCase):
- """Status unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def testStatus(self):
- """Test Status"""
- # inst = Status()
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_validation_error.py b/pkgs/clan-cli/tests/openapi_client/test/test_validation_error.py
deleted file mode 100644
index 3636285..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_validation_error.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.validation_error import ValidationError # noqa: E501
-
-class TestValidationError(unittest.TestCase):
- """ValidationError unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ValidationError:
- """Test ValidationError
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ValidationError`
- """
- model = ValidationError() # noqa: E501
- if include_optional:
- return ValidationError(
- loc = [
- null
- ],
- msg = '',
- type = ''
- )
- else:
- return ValidationError(
- loc = [
- null
- ],
- msg = '',
- type = '',
- )
- """
-
- def testValidationError(self):
- """Test ValidationError"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_validation_error_loc_inner.py b/pkgs/clan-cli/tests/openapi_client/test/test_validation_error_loc_inner.py
deleted file mode 100644
index 545e84d..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_validation_error_loc_inner.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.validation_error_loc_inner import ValidationErrorLocInner # noqa: E501
-
-class TestValidationErrorLocInner(unittest.TestCase):
- """ValidationErrorLocInner unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ValidationErrorLocInner:
- """Test ValidationErrorLocInner
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ValidationErrorLocInner`
- """
- model = ValidationErrorLocInner() # noqa: E501
- if include_optional:
- return ValidationErrorLocInner(
- )
- else:
- return ValidationErrorLocInner(
- )
- """
-
- def testValidationErrorLocInner(self):
- """Test ValidationErrorLocInner"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/clan-cli/tests/test_db_api.py b/pkgs/clan-cli/tests/test_db_api.py
index 2bb519d..cf8f479 100644
--- a/pkgs/clan-cli/tests/test_db_api.py
+++ b/pkgs/clan-cli/tests/test_db_api.py
@@ -26,12 +26,6 @@ def test_health(api_client: ApiClient) -> None:
assert res.status == Status.ONLINE
-def test_entities_empty(api_client: ApiClient) -> None:
- entity = EntitiesApi(api_client=api_client)
- res = entity.get_all_entities()
- assert res == []
-
-
def create_entities(num: int = 10) -> list[EntityCreate]:
res = []
for i in range(num):
diff --git a/pkgs/ui/src/app/access-point/page.tsx b/pkgs/ui/src/app/access-point/page.tsx
index 34f08cd..c4783f0 100644
--- a/pkgs/ui/src/app/access-point/page.tsx
+++ b/pkgs/ui/src/app/access-point/page.tsx
@@ -45,7 +45,7 @@ export default function AccessPoint() {
useEffect(() => {
const interval = setInterval(() => {
onRefresh();
- }, 1000);
+ }, 5000);
return () => clearInterval(interval);
// eslint-disable-next-line react-hooks/exhaustive-deps
diff --git a/pkgs/ui/src/app/client/[client_name]/page.tsx b/pkgs/ui/src/app/client/[client_name]/page.tsx
index 2637d81..e47d6b4 100644
--- a/pkgs/ui/src/app/client/[client_name]/page.tsx
+++ b/pkgs/ui/src/app/client/[client_name]/page.tsx
@@ -10,13 +10,100 @@ import {
CardHeader,
Snackbar,
Typography,
+ CircularProgress,
+ IconButton,
} from "@mui/material";
import CopyToClipboard from "@/components/copy_to_clipboard";
-import { useGetServicesByName } from "@/api/services/services";
-import { attachEntity, detachEntity } from "@/api/entities/entities";
+import {
+ attachEntity,
+ detachEntity,
+ isAttached,
+} from "@/api/entities/entities";
import { mutate } from "swr";
import { Skeleton } from "@mui/material";
-import { Service } from "@/api/model";
+import { Entity, Service } from "@/api/model";
+import useGetEntityByNameOrDid from "@/components/hooks/useGetEntityByNameOrDid";
+import { useGetAllServices } from "@/api/services/services";
+import axios from "axios";
+import CloseIcon from "@mui/icons-material/Close";
+
+interface SnackMessage {
+ message: string;
+ severity: "success" | "error";
+}
+
+type AttachButtonProps = {
+ entity?: Entity;
+ setSnackbarMessage: (message: SnackMessage) => void;
+ setSnackbarOpen: (open: boolean) => void;
+};
+
+const AttachButton = ({
+ entity,
+ setSnackbarMessage,
+ setSnackbarOpen,
+}: AttachButtonProps) => {
+ const [loading, setLoading] = useState(false);
+
+ const handleClick = async () => {
+ setLoading(true);
+ // Call the attach or detach function depending on the isAttached value
+ // and await for the result
+ try {
+ let response = await (entity?.attached
+ ? detachEntity({ entity_did: entity?.did })
+ : attachEntity({ entity_did: entity?.did }));
+
+ if (!entity?.attached) {
+ console.log("calling isAttached");
+ response = await isAttached({ entity_did: entity?.did });
+ console.log("response: ", response);
+ }
+ const msg = {
+ message: response.data.message,
+ severity: "success",
+ } as SnackMessage;
+ setSnackbarMessage(msg);
+ setSnackbarOpen(true);
+ } catch (error) {
+ if (axios.isAxiosError(error)) {
+ // Extract the error message from the error object
+ const errorMessage = error.response?.data.detail[0].msg;
+
+ const msg = {
+ message: `${errorMessage}`,
+ severity: "error",
+ } as SnackMessage;
+ setSnackbarMessage(msg);
+ setSnackbarOpen(true);
+ } else {
+ console.error("error: ", error);
+ }
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ return (
+ <>
+
+ >
+ );
+};
export default function Client({
params,
@@ -25,18 +112,16 @@ export default function Client({
}) {
const { client_name } = params;
+ const { entity: entity } = useGetEntityByNameOrDid(client_name);
const {
data: services,
isLoading: services_loading,
swrKey: entityKeyFunc,
- } = useGetServicesByName({
- entity_name: client_name,
- });
+ } = useGetAllServices();
- const entity = services?.data?.entity;
const clients: Service[] = useMemo(() => {
- if (services?.data?.services) {
- return services.data.services.filter((service) => {
+ if (services?.data) {
+ return services.data.filter((service) => {
if (service.entity_did !== entity?.did) return true;
});
}
@@ -60,47 +145,15 @@ export default function Client({
const cardContentRef = useRef(null);
const [snackbarOpen, setSnackbarOpen] = useState(false);
- const [snackbarMessage, setSnackbarMessage] = useState("");
- const [isAttached, setIsAttached] = useState(entity?.attached);
+ const [snackbarMessage, setSnackbarMessage] = useState<
+ SnackMessage | undefined
+ >(undefined);
const closeSnackBar = () => {
- setSnackbarMessage("");
+ setSnackbarMessage(undefined);
setSnackbarOpen(false);
};
- const onAttachEntity = async () => {
- try {
- if (entity) {
- const response = await attachEntity(entity.did);
- setSnackbarMessage(response.data.message);
- setSnackbarOpen(true);
- } else {
- console.error("no entity");
- }
- } catch (error) {
- console.error(error);
- } finally {
- setIsAttached(true);
- }
- };
-
- const onDetachEntity = async () => {
- try {
- if (entity) {
- const response = await detachEntity(entity.did);
- console.log(response);
- setSnackbarMessage("Entity detached successfully.");
- setSnackbarOpen(true);
- } else {
- console.error("no entity");
- }
- } catch (error) {
- console.error(error);
- } finally {
- setIsAttached(false);
- }
- };
-
if (services_loading) return