40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import pytest
|
|
from specklepy.api.models import ServerInfo
|
|
|
|
|
|
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):
|
|
server = client.server.get()
|
|
|
|
assert isinstance(server, ServerInfo)
|
|
|
|
def test_server_apps(self, client):
|
|
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
|