9fa6b661eb
* chore: update dev container * feat(client): add server version request * docs(client): enhanced server version docstring * test(client): sever version test * test(base): type check for union type * refactor(base): move _ attrs to `RegisteringBase` * refactor: some light cleanup * chore(container): add pylint line length * feat(metrics): add "Invite Action" * feat(client): pass server version to resources * feat(models): pending stream collaborator model * fix(client): do not parse if request res is null * feat(exceptions): add unsupported exception to distinguish for new invites as of server 2.6.4 * feat(client): add stream invite queries/mutations * test(client): test stream invites * feat(client): incorporate last invites changes
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import pytest
|
|
from specklepy.api.models import ServerInfo
|
|
from specklepy.api.client import SpeckleClient
|
|
|
|
|
|
class TestServer:
|
|
@pytest.fixture(scope="module")
|
|
def token_info(self):
|
|
return {
|
|
"token": None,
|
|
"name": "super secret token",
|
|
"scopes": ["streams:read", "streams:write"],
|
|
"lifespan": 9001,
|
|
}
|
|
|
|
def test_server_get(self, client: SpeckleClient):
|
|
server = client.server.get()
|
|
|
|
assert isinstance(server, ServerInfo)
|
|
|
|
def test_server_version(self, client: SpeckleClient):
|
|
version = client.server.version()
|
|
|
|
assert isinstance(version, tuple)
|
|
assert isinstance(version[0], int)
|
|
assert len(version) >= 3
|
|
|
|
def test_server_apps(self, client: SpeckleClient):
|
|
apps = client.server.apps()
|
|
|
|
assert isinstance(apps, list)
|
|
assert len(apps) >= 1
|
|
assert any(app["name"] == "Speckle Web Manager" for app in apps)
|
|
|
|
def test_server_create_token(self, client, token_info):
|
|
token_info["token"] = client.server.create_token(
|
|
name=token_info["name"],
|
|
scopes=token_info["scopes"],
|
|
lifespan=token_info["lifespan"],
|
|
)
|
|
|
|
assert isinstance(token_info["token"], str)
|
|
|
|
def test_server_revoke_token(self, client, token_info):
|
|
revoked = client.server.revoke_token(token=token_info["token"])
|
|
|
|
assert revoked is True
|