80 lines
2.0 KiB
Python
80 lines
2.0 KiB
Python
import pytest
|
|
|
|
import requests_cache
|
|
from favro_sync import secrets
|
|
from favro_sync.favro_client import FavroClient, OrganizationId, SeqId
|
|
|
|
needs_secrets = pytest.mark.skipif(
|
|
not secrets.has_secrets(),
|
|
reason='Secrets required',
|
|
)
|
|
|
|
|
|
@needs_secrets
|
|
def test_create_client():
|
|
client = create_client()
|
|
assert client is not None
|
|
client.check_logged_in()
|
|
|
|
|
|
@needs_secrets
|
|
def test_get_card():
|
|
client = create_client()
|
|
card = client.get_card(SeqId(11368))
|
|
|
|
assert_valid_card(card)
|
|
|
|
assert card.detailed_description is not None
|
|
assert len(card.dependencies) == 1
|
|
assert len(card.attachments) == 0
|
|
assert len(card.custom_fields) == 2
|
|
|
|
|
|
@needs_secrets
|
|
def test_get_archived_card():
|
|
client = create_client()
|
|
card = client.get_card(SeqId(8723))
|
|
assert card.is_archived
|
|
|
|
|
|
@needs_secrets
|
|
def test_get_card_with_color_custom_field():
|
|
client = create_client()
|
|
card = client.get_card(SeqId(8779))
|
|
assert len(card.custom_fields) > 0
|
|
|
|
|
|
@needs_secrets
|
|
def test_get_cards():
|
|
client = create_client()
|
|
for card in client.get_cards(todo_list=True):
|
|
assert_valid_card(card)
|
|
|
|
@needs_secrets
|
|
def test_get_collections():
|
|
client = create_client()
|
|
for collection in client.get_collections():
|
|
print(collection)
|
|
assert collection.collection_id is not None
|
|
assert collection.organization_id is not None
|
|
assert collection.name is not None
|
|
assert collection.background is not None
|
|
assert collection.is_archived is not None
|
|
assert collection.widget_common_id is None
|
|
|
|
def create_client():
|
|
session = requests_cache.CachedSession('output/test-http-cache.sqlite')
|
|
return FavroClient(
|
|
favro_org_id=OrganizationId(secrets.favro_org_id()),
|
|
favro_username=secrets.favro_username(),
|
|
favro_password=secrets.favro_password(),
|
|
read_only=True,
|
|
session=session,
|
|
)
|
|
|
|
|
|
def assert_valid_card(card):
|
|
assert card is not None
|
|
assert card.name is not None
|
|
assert card.is_archived is not None
|