mirror of
https://github.com/umap-project/umap.git
synced 2025-05-04 05:31:50 +02:00
wip: use django channels in playwright tests
This commit is contained in:
parent
a5db41595b
commit
4cc9540119
4 changed files with 24 additions and 11 deletions
|
@ -4,11 +4,11 @@ from django.core.signing import TimestampSigner
|
|||
from .websocket_server import (
|
||||
JoinRequest,
|
||||
JoinResponse,
|
||||
ListPeersResponse,
|
||||
OperationMessage,
|
||||
PeerMessage,
|
||||
Request,
|
||||
ValidationError,
|
||||
PeerMessage,
|
||||
ListPeersResponse,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ export class SyncEngine {
|
|||
|
||||
start(authToken) {
|
||||
this.transport = new WebSocketTransport(
|
||||
this._umap.properties.websocketURI,
|
||||
Utils.template(this._umap.properties.websocketURI, { id: this._umap.id }),
|
||||
authToken,
|
||||
this
|
||||
)
|
||||
|
|
|
@ -5,6 +5,7 @@ import time
|
|||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from channels.testing import ChannelsLiveServerTestCase
|
||||
from playwright.sync_api import expect
|
||||
|
||||
from ..base import mock_tiles
|
||||
|
@ -87,3 +88,15 @@ def websocket_server():
|
|||
yield ds_proc
|
||||
# Shut it down at the end of the pytest session
|
||||
ds_proc.terminate()
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def channels_live_server(request, settings):
|
||||
server = ChannelsLiveServerTestCase()
|
||||
server.serve_static = False
|
||||
server._pre_setup()
|
||||
settings.WEBSOCKET_FRONT_URI = f"{server.live_server_ws_url}/ws/sync/{{id}}/"
|
||||
|
||||
yield server
|
||||
|
||||
server._post_teardown()
|
||||
|
|
|
@ -12,7 +12,7 @@ DATALAYER_UPDATE = re.compile(r".*/datalayer/update/.*")
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_markers(
|
||||
new_page, live_server, websocket_server, tilelayer
|
||||
new_page, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -80,7 +80,7 @@ def test_websocket_connection_can_sync_markers(
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_polygons(
|
||||
context, live_server, websocket_server, tilelayer
|
||||
context, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -164,7 +164,7 @@ def test_websocket_connection_can_sync_polygons(
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_map_properties(
|
||||
new_page, live_server, websocket_server, tilelayer
|
||||
new_page, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -196,7 +196,7 @@ def test_websocket_connection_can_sync_map_properties(
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_datalayer_properties(
|
||||
new_page, live_server, websocket_server, tilelayer
|
||||
new_page, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -225,7 +225,7 @@ def test_websocket_connection_can_sync_datalayer_properties(
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_cloned_polygons(
|
||||
context, live_server, websocket_server, tilelayer
|
||||
context, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -288,7 +288,7 @@ def test_websocket_connection_can_sync_cloned_polygons(
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_websocket_connection_can_sync_late_joining_peer(
|
||||
new_page, live_server, websocket_server, tilelayer
|
||||
new_page, live_server, channels_live_server, tilelayer
|
||||
):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
|
@ -349,7 +349,7 @@ def test_websocket_connection_can_sync_late_joining_peer(
|
|||
|
||||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_should_sync_datalayers(new_page, live_server, websocket_server, tilelayer):
|
||||
def test_should_sync_datalayers(new_page, live_server, channels_live_server, tilelayer):
|
||||
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||
map.settings["properties"]["syncEnabled"] = True
|
||||
map.save()
|
||||
|
@ -422,7 +422,7 @@ def test_should_sync_datalayers(new_page, live_server, websocket_server, tilelay
|
|||
|
||||
@pytest.mark.xdist_group(name="websockets")
|
||||
def test_create_and_sync_map(
|
||||
new_page, live_server, websocket_server, tilelayer, login, user
|
||||
new_page, live_server, channels_live_server, tilelayer, login, user
|
||||
):
|
||||
# Create a syncable map with peerA
|
||||
peerA = login(user, prefix="Page A")
|
||||
|
|
Loading…
Reference in a new issue