mirror of
https://github.com/umap-project/umap.git
synced 2025-05-06 14:31:50 +02:00
Compare commits
9 commits
e33fc787ab
...
30d9e43cd4
Author | SHA1 | Date | |
---|---|---|---|
![]() |
30d9e43cd4 | ||
![]() |
64f0926e2d | ||
![]() |
3aa0c8fc82 | ||
![]() |
9e2b207dfd | ||
![]() |
998bf87a0b | ||
![]() |
401efc037d | ||
![]() |
471de78ab3 | ||
![]() |
b7adf33237 | ||
![]() |
4bd7bd7d48 |
10 changed files with 27 additions and 8 deletions
|
@ -1,5 +1,5 @@
|
||||||
# Force rtfd to use a recent version of mkdocs
|
# Force rtfd to use a recent version of mkdocs
|
||||||
mkdocs==1.6.1
|
mkdocs==1.6.1
|
||||||
pymdown-extensions==10.12
|
pymdown-extensions==10.12
|
||||||
mkdocs-material==9.5.44
|
mkdocs-material==9.5.47
|
||||||
mkdocs-static-i18n==1.2.3
|
mkdocs-static-i18n==1.2.3
|
||||||
|
|
7
docs/deploy/helm.md
Normal file
7
docs/deploy/helm.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Helm
|
||||||
|
|
||||||
|
To deploy using helm:
|
||||||
|
|
||||||
|
helm install <my-release> oci://registry-1.docker.io/umap/umap
|
||||||
|
|
||||||
|
Helm chart is pushed here: https://hub.docker.com/repository/docker/umap/umap/tags
|
|
@ -1,5 +1,5 @@
|
||||||
# Force rtfd to use a recent version of mkdocs
|
# Force rtfd to use a recent version of mkdocs
|
||||||
mkdocs==1.6.1
|
mkdocs==1.6.1
|
||||||
pymdown-extensions==10.12
|
pymdown-extensions==10.12
|
||||||
mkdocs-material==9.5.44
|
mkdocs-material==9.5.47
|
||||||
mkdocs-static-i18n==1.2.3
|
mkdocs-static-i18n==1.2.3
|
||||||
|
|
|
@ -44,10 +44,10 @@ dependencies = [
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
dev = [
|
dev = [
|
||||||
"hatch==1.13.0",
|
"hatch==1.13.0",
|
||||||
"ruff==0.7.4",
|
"ruff==0.8.1",
|
||||||
"djlint==1.36.1",
|
"djlint==1.36.1",
|
||||||
"mkdocs==1.6.1",
|
"mkdocs==1.6.1",
|
||||||
"mkdocs-material==9.5.44",
|
"mkdocs-material==9.5.47",
|
||||||
"mkdocs-static-i18n==1.2.3",
|
"mkdocs-static-i18n==1.2.3",
|
||||||
"vermin==1.6.0",
|
"vermin==1.6.0",
|
||||||
"pymdown-extensions==10.12",
|
"pymdown-extensions==10.12",
|
||||||
|
|
|
@ -65,7 +65,9 @@ body.login header {
|
||||||
.login-grid .login-openstreetmap-oauth2 {
|
.login-grid .login-openstreetmap-oauth2 {
|
||||||
background-image: url("./openstreetmap.png");
|
background-image: url("./openstreetmap.png");
|
||||||
}
|
}
|
||||||
|
.login-grid .login-keycloak {
|
||||||
|
background-image: url("./keycloak.png");
|
||||||
|
}
|
||||||
|
|
||||||
/* **************************** */
|
/* **************************** */
|
||||||
/* home */
|
/* home */
|
||||||
|
|
BIN
umap/static/umap/keycloak.png
Normal file
BIN
umap/static/umap/keycloak.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
|
@ -1,6 +1,7 @@
|
||||||
import copy
|
import copy
|
||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import factory
|
import factory
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
|
@ -41,7 +42,7 @@ class LicenceFactory(factory.django.DjangoModelFactory):
|
||||||
|
|
||||||
class TileLayerFactory(factory.django.DjangoModelFactory):
|
class TileLayerFactory(factory.django.DjangoModelFactory):
|
||||||
name = "Test zoom layer"
|
name = "Test zoom layer"
|
||||||
url_template = "http://{s}.test.org/{z}/{x}/{y}.png"
|
url_template = "https://{s}.test.org/osmfr/{z}/{x}/{y}.png"
|
||||||
attribution = "Test layer attribution"
|
attribution = "Test layer attribution"
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -152,3 +153,8 @@ def login_required(response):
|
||||||
redirect_url = reverse("login")
|
redirect_url = reverse("login")
|
||||||
assert j["login_required"] == redirect_url
|
assert j["login_required"] == redirect_url
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def mock_tiles(route):
|
||||||
|
path = Path(__file__).parent / "fixtures/empty_tile.png"
|
||||||
|
route.fulfill(path=path)
|
||||||
|
|
BIN
umap/tests/fixtures/empty_tile.png
vendored
Normal file
BIN
umap/tests/fixtures/empty_tile.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 103 B |
|
@ -6,6 +6,8 @@ from pathlib import Path
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
|
from ..base import mock_tiles
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def browser_context_args(browser_context_args):
|
def browser_context_args(browser_context_args):
|
||||||
|
@ -23,7 +25,7 @@ def set_timeout(context):
|
||||||
@pytest.fixture(autouse=True)
|
@pytest.fixture(autouse=True)
|
||||||
def mock_osm_tiles(page):
|
def mock_osm_tiles(page):
|
||||||
if not bool(os.environ.get("PWDEBUG", False)):
|
if not bool(os.environ.get("PWDEBUG", False)):
|
||||||
page.route("*/**/osmfr/**", lambda route: route.fulfill())
|
page.route("*/**/osmfr/**", mock_tiles)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import json
|
import json
|
||||||
import os
|
|
||||||
import platform
|
import platform
|
||||||
import re
|
import re
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
@ -10,6 +9,7 @@ from playwright.sync_api import expect
|
||||||
|
|
||||||
from umap.models import DataLayer
|
from umap.models import DataLayer
|
||||||
|
|
||||||
|
from ..base import mock_tiles
|
||||||
from .helpers import save_and_get_json
|
from .helpers import save_and_get_json
|
||||||
|
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
@ -72,6 +72,8 @@ def test_umap_import_from_file(live_server, tilelayer, page):
|
||||||
|
|
||||||
|
|
||||||
def test_umap_import_from_textarea(live_server, tilelayer, page, settings):
|
def test_umap_import_from_textarea(live_server, tilelayer, page, settings):
|
||||||
|
page.route("https://tile.openstreetmap.fr/hot/**", mock_tiles)
|
||||||
|
|
||||||
settings.UMAP_ALLOW_ANONYMOUS = True
|
settings.UMAP_ALLOW_ANONYMOUS = True
|
||||||
page.goto(f"{live_server.url}/map/new/")
|
page.goto(f"{live_server.url}/map/new/")
|
||||||
page.get_by_role("button", name="Open browser").click()
|
page.get_by_role("button", name="Open browser").click()
|
||||||
|
|
Loading…
Reference in a new issue