kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
59 wiersze
1.8 KiB
Python
59 wiersze
1.8 KiB
Python
|
import logging
|
||
|
|
||
|
import requests_mock
|
||
|
import typesense
|
||
|
|
||
|
from funkwhale_api.typesense import tasks
|
||
|
|
||
|
|
||
|
def test_add_tracks_to_index_fails(mocker, caplog):
|
||
|
logger = logging.getLogger("funkwhale_api.typesense.tasks")
|
||
|
caplog.set_level(logging.INFO)
|
||
|
logger.addHandler(caplog.handler)
|
||
|
|
||
|
client = typesense.Client(
|
||
|
{
|
||
|
"api_key": "api_key",
|
||
|
"nodes": [{"host": "host", "port": "port", "protocol": "protocol"}],
|
||
|
"connection_timeout_seconds": 2,
|
||
|
}
|
||
|
)
|
||
|
|
||
|
with requests_mock.Mocker() as r_mocker:
|
||
|
r_mocker.post(
|
||
|
"protocol://host:port/collections/canonical_fw_data/documents/import",
|
||
|
json=[{"name": "data"}],
|
||
|
)
|
||
|
mocker.patch.object(typesense, "Client", return_value=client)
|
||
|
mocker.patch.object(
|
||
|
typesense.client.ApiCall,
|
||
|
"post",
|
||
|
side_effect=typesense.exceptions.TypesenseClientError("Hello"),
|
||
|
)
|
||
|
tasks.add_tracks_to_index([1, 2, 3])
|
||
|
assert "Can't build index" in caplog.text
|
||
|
|
||
|
|
||
|
def test_build_canonical_index_success(mocker, caplog, factories):
|
||
|
logger = logging.getLogger("funkwhale_api.typesense.tasks")
|
||
|
caplog.set_level(logging.INFO)
|
||
|
logger.addHandler(caplog.handler)
|
||
|
|
||
|
client = typesense.Client(
|
||
|
{
|
||
|
"api_key": "api_key",
|
||
|
"nodes": [{"host": "host", "port": "port", "protocol": "protocol"}],
|
||
|
"connection_timeout_seconds": 2,
|
||
|
}
|
||
|
)
|
||
|
|
||
|
factories["music.Track"].create_batch(size=5)
|
||
|
|
||
|
with requests_mock.Mocker() as r_mocker:
|
||
|
mocker.patch.object(typesense, "Client", return_value=client)
|
||
|
|
||
|
r_mocker.post("protocol://host:port/collections", json={"name": "data"})
|
||
|
|
||
|
tasks.build_canonical_index()
|
||
|
assert "Launching async task to add " in caplog.text
|