udata 12.0.2.dev17__py3-none-any.whl → 12.0.2.dev18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of udata might be problematic. Click here for more details.
- udata/commands/tests/test_fixtures.py +2 -3
- udata/core/badges/tests/test_commands.py +2 -4
- udata/core/badges/tests/test_model.py +2 -2
- udata/core/pages/tests/test_api.py +0 -2
- udata/core/spatial/tests/test_api.py +17 -20
- udata/core/spatial/tests/test_models.py +3 -3
- udata/core/user/tests/test_user_model.py +2 -6
- udata/features/identicon/tests/test_backends.py +3 -13
- udata/harvest/tests/ckan/test_ckan_backend.py +300 -337
- udata/harvest/tests/ckan/test_ckan_backend_errors.py +94 -99
- udata/harvest/tests/ckan/test_ckan_backend_filters.py +128 -122
- udata/harvest/tests/ckan/test_dkan_backend.py +39 -51
- udata/harvest/tests/test_actions.py +7 -7
- udata/harvest/tests/test_api.py +2 -4
- udata/harvest/tests/test_base_backend.py +3 -4
- udata/harvest/tests/test_dcat_backend.py +4 -6
- udata/harvest/tests/test_models.py +2 -4
- udata/harvest/tests/test_notifications.py +2 -4
- udata/harvest/tests/test_tasks.py +2 -3
- udata/tests/__init__.py +40 -58
- udata/tests/api/__init__.py +87 -2
- udata/tests/api/test_activities_api.py +17 -23
- udata/tests/api/test_auth_api.py +2 -4
- udata/tests/api/test_contact_points.py +48 -54
- udata/tests/api/test_dataservices_api.py +0 -2
- udata/tests/api/test_datasets_api.py +15 -29
- udata/tests/api/test_me_api.py +4 -6
- udata/tests/api/test_organizations_api.py +19 -38
- udata/tests/api/test_reports_api.py +0 -4
- udata/tests/api/test_reuses_api.py +9 -19
- udata/tests/api/test_swagger.py +2 -3
- udata/tests/api/test_tags_api.py +6 -7
- udata/tests/api/test_transfer_api.py +0 -2
- udata/tests/api/test_user_api.py +8 -10
- udata/tests/apiv2/test_datasets.py +0 -4
- udata/tests/apiv2/test_me_api.py +0 -2
- udata/tests/apiv2/test_organizations.py +0 -2
- udata/tests/apiv2/test_swagger.py +2 -3
- udata/tests/apiv2/test_topics.py +0 -2
- udata/tests/cli/test_cli_base.py +14 -12
- udata/tests/cli/test_db_cli.py +51 -54
- udata/tests/contact_point/test_contact_point_models.py +2 -2
- udata/tests/dataservice/test_csv_adapter.py +2 -5
- udata/tests/dataservice/test_dataservice_rdf.py +3 -6
- udata/tests/dataservice/test_dataservice_tasks.py +36 -38
- udata/tests/dataset/test_csv_adapter.py +2 -5
- udata/tests/dataset/test_dataset_actions.py +2 -4
- udata/tests/dataset/test_dataset_commands.py +2 -4
- udata/tests/dataset/test_dataset_events.py +3 -3
- udata/tests/dataset/test_dataset_model.py +6 -7
- udata/tests/dataset/test_dataset_rdf.py +6 -9
- udata/tests/dataset/test_dataset_recommendations.py +2 -2
- udata/tests/dataset/test_dataset_tasks.py +66 -68
- udata/tests/dataset/test_resource_preview.py +39 -48
- udata/tests/dataset/test_transport_tasks.py +2 -2
- udata/tests/features/territories/__init__.py +0 -6
- udata/tests/features/territories/test_territories_api.py +25 -24
- udata/tests/forms/test_current_user_field.py +2 -2
- udata/tests/forms/test_dict_field.py +2 -4
- udata/tests/forms/test_extras_fields.py +2 -3
- udata/tests/forms/test_image_field.py +2 -2
- udata/tests/forms/test_model_field.py +2 -4
- udata/tests/forms/test_publish_as_field.py +2 -4
- udata/tests/forms/test_user_forms.py +26 -29
- udata/tests/frontend/test_auth.py +2 -3
- udata/tests/frontend/test_csv.py +5 -6
- udata/tests/frontend/test_error_handlers.py +2 -3
- udata/tests/frontend/test_hooks.py +5 -7
- udata/tests/frontend/test_markdown.py +3 -4
- udata/tests/helpers.py +2 -7
- udata/tests/metrics/test_metrics.py +52 -48
- udata/tests/metrics/test_tasks.py +154 -150
- udata/tests/organization/test_csv_adapter.py +2 -5
- udata/tests/organization/test_notifications.py +2 -4
- udata/tests/organization/test_organization_model.py +3 -4
- udata/tests/organization/test_organization_rdf.py +2 -8
- udata/tests/plugin.py +6 -110
- udata/tests/reuse/test_reuse_model.py +3 -4
- udata/tests/site/test_site_api.py +0 -2
- udata/tests/site/test_site_csv_exports.py +0 -2
- udata/tests/site/test_site_metrics.py +2 -4
- udata/tests/site/test_site_model.py +2 -2
- udata/tests/site/test_site_rdf.py +3 -6
- udata/tests/test_activity.py +3 -3
- udata/tests/test_api_fields.py +6 -9
- udata/tests/test_cors.py +0 -2
- udata/tests/test_dcat_commands.py +2 -3
- udata/tests/test_discussions.py +2 -7
- udata/tests/test_mail.py +4 -10
- udata/tests/test_migrations.py +413 -419
- udata/tests/test_model.py +10 -11
- udata/tests/test_notifications.py +2 -3
- udata/tests/test_owned.py +3 -3
- udata/tests/test_routing.py +5 -5
- udata/tests/test_storages.py +6 -5
- udata/tests/test_tags.py +2 -1
- udata/tests/test_topics.py +2 -4
- udata/tests/test_transfer.py +4 -5
- udata/tests/topic/test_topic_tasks.py +25 -27
- udata/tests/user/test_user_rdf.py +2 -8
- udata/tests/workers/test_jobs_commands.py +2 -2
- udata/tests/workers/test_tasks_routing.py +27 -27
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/METADATA +1 -1
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/RECORD +108 -110
- udata/tests/frontend/__init__.py +0 -23
- udata/tests/metrics/conftest.py +0 -15
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/WHEEL +0 -0
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/entry_points.txt +0 -0
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/licenses/LICENSE +0 -0
- {udata-12.0.2.dev17.dist-info → udata-12.0.2.dev18.dist-info}/top_level.txt +0 -0
|
@@ -14,13 +14,11 @@ from udata.core.site.factories import SiteFactory
|
|
|
14
14
|
from udata.core.site.rdf import build_catalog
|
|
15
15
|
from udata.core.user.factories import UserFactory
|
|
16
16
|
from udata.rdf import CONTEXT, DCAT, DCT, HYDRA
|
|
17
|
+
from udata.tests.api import PytestOnlyAPITestCase
|
|
17
18
|
from udata.tests.helpers import assert200, assert404, assert_redirects
|
|
18
19
|
|
|
19
|
-
pytestmark = pytest.mark.usefixtures("clean_db")
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
@pytest.mark.frontend
|
|
23
|
-
class CatalogTest:
|
|
21
|
+
class CatalogTest(PytestOnlyAPITestCase):
|
|
24
22
|
def test_minimal(self, app):
|
|
25
23
|
site = SiteFactory()
|
|
26
24
|
home_url = url_for("api.site", _external=True)
|
|
@@ -142,8 +140,7 @@ class CatalogTest:
|
|
|
142
140
|
assert HYDRA.next not in pagination
|
|
143
141
|
|
|
144
142
|
|
|
145
|
-
|
|
146
|
-
class SiteRdfViewsTest:
|
|
143
|
+
class SiteRdfViewsTest(PytestOnlyAPITestCase):
|
|
147
144
|
def test_expose_jsonld_context(self, client):
|
|
148
145
|
url = url_for("api.site_jsonld_context")
|
|
149
146
|
assert url == "/api/1/site/context.jsonld"
|
udata/tests/test_activity.py
CHANGED
|
@@ -9,7 +9,7 @@ from udata.core.activity.models import Activity, Auditable
|
|
|
9
9
|
from udata.core.organization.factories import OrganizationFactory
|
|
10
10
|
from udata.core.user.factories import UserFactory
|
|
11
11
|
from udata.models import db
|
|
12
|
-
from udata.tests import
|
|
12
|
+
from udata.tests.api import APITestCase
|
|
13
13
|
from udata.tests.helpers import assert_emit, assert_not_emit
|
|
14
14
|
|
|
15
15
|
|
|
@@ -45,7 +45,7 @@ class FakeActivity(Activity):
|
|
|
45
45
|
related_to = db.ReferenceField(FakeSubject)
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
class ActivityTest(
|
|
48
|
+
class ActivityTest(APITestCase):
|
|
49
49
|
def setUp(self):
|
|
50
50
|
self.fake = FakeSubject.objects.create(name="fake")
|
|
51
51
|
self.login()
|
|
@@ -120,7 +120,7 @@ class ActivityTest(WebTestMixin, DBTestMixin, TestCase):
|
|
|
120
120
|
self.assertEqual(Activity.objects(actor=self.user).count(), 1)
|
|
121
121
|
|
|
122
122
|
|
|
123
|
-
class AuditableTest(
|
|
123
|
+
class AuditableTest(APITestCase):
|
|
124
124
|
def test_auditable_signals_emission(self):
|
|
125
125
|
"""It should emit appropriate signals on subject fields creation, update and deletion"""
|
|
126
126
|
with assert_emit(post_save, FakeAuditableSubject.on_create):
|
udata/tests/test_api_fields.py
CHANGED
|
@@ -13,12 +13,9 @@ from udata.core.storages import default_image_basename, images
|
|
|
13
13
|
from udata.factories import ModelFactory
|
|
14
14
|
from udata.models import Badge, BadgeMixin, BadgesList, WithMetrics, db
|
|
15
15
|
from udata.mongo.queryset import DBPaginator, UDataQuerySet
|
|
16
|
+
from udata.tests.api import PytestOnlyDBTestCase
|
|
16
17
|
from udata.utils import faker
|
|
17
18
|
|
|
18
|
-
pytestmark = [
|
|
19
|
-
pytest.mark.usefixtures("clean_db"),
|
|
20
|
-
]
|
|
21
|
-
|
|
22
19
|
BIGGEST_IMAGE_SIZE: int = 500
|
|
23
20
|
|
|
24
21
|
BADGES: dict[str, str] = {
|
|
@@ -166,7 +163,7 @@ class FakeFactory(ModelFactory):
|
|
|
166
163
|
archived = None
|
|
167
164
|
|
|
168
165
|
|
|
169
|
-
class IndexParserTest:
|
|
166
|
+
class IndexParserTest(PytestOnlyDBTestCase):
|
|
170
167
|
index_parser: RequestParser = Fake.__index_parser__
|
|
171
168
|
index_parser_args: list[Argument] = Fake.__index_parser__.args
|
|
172
169
|
index_parser_args_names: set[str] = set([field.name for field in Fake.__index_parser__.args])
|
|
@@ -233,7 +230,7 @@ class IndexParserTest:
|
|
|
233
230
|
assert set(additional_sorts).issubset(set(choices))
|
|
234
231
|
|
|
235
232
|
|
|
236
|
-
class PatchTest:
|
|
233
|
+
class PatchTest(PytestOnlyDBTestCase):
|
|
237
234
|
fake_json = {"url": URL_RAISE_ERROR, "description": None}
|
|
238
235
|
|
|
239
236
|
def test_patch_check(self) -> None:
|
|
@@ -249,7 +246,7 @@ class PatchTest:
|
|
|
249
246
|
patch_and_save(fake, fake_request)
|
|
250
247
|
|
|
251
248
|
|
|
252
|
-
class PatchEmbeddedTest:
|
|
249
|
+
class PatchEmbeddedTest(PytestOnlyDBTestCase):
|
|
253
250
|
fake_json = {
|
|
254
251
|
"url": URL_RAISE_ERROR,
|
|
255
252
|
"description": "desc",
|
|
@@ -268,7 +265,7 @@ class PatchEmbeddedTest:
|
|
|
268
265
|
patch_and_save(fake, fake_request)
|
|
269
266
|
|
|
270
267
|
|
|
271
|
-
class ApplySortAndFiltersTest:
|
|
268
|
+
class ApplySortAndFiltersTest(PytestOnlyDBTestCase):
|
|
272
269
|
def test_filterable_field(self, app) -> None:
|
|
273
270
|
"""A filterable field filters the results."""
|
|
274
271
|
fake1: Fake = FakeFactory(filter_field="test filter")
|
|
@@ -334,7 +331,7 @@ class ApplySortAndFiltersTest:
|
|
|
334
331
|
assert fake2 not in results
|
|
335
332
|
|
|
336
333
|
|
|
337
|
-
class ApplyPaginationTest:
|
|
334
|
+
class ApplyPaginationTest(PytestOnlyDBTestCase):
|
|
338
335
|
def test_default_pagination(self, app) -> None:
|
|
339
336
|
"""Results should be returned with default pagination."""
|
|
340
337
|
[FakeFactory() for _ in range(100)]
|
udata/tests/test_cors.py
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
from udata.tests.api import PytestOnlyDBTestCase
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
class ParseUrlCommandTest:
|
|
4
|
+
class ParseUrlCommandTest(PytestOnlyDBTestCase):
|
|
6
5
|
def test_parse_url(self, cli, requests_mock, caplog) -> None:
|
|
7
6
|
logs = []
|
|
8
7
|
|
udata/tests/test_discussions.py
CHANGED
|
@@ -31,14 +31,11 @@ from udata.models import Dataset, Member
|
|
|
31
31
|
from udata.tests.helpers import capture_mails
|
|
32
32
|
from udata.utils import faker
|
|
33
33
|
|
|
34
|
-
from . import
|
|
35
|
-
from .api import APITestCase
|
|
34
|
+
from .api import APITestCase, DBTestCase
|
|
36
35
|
from .helpers import assert_emit, assert_not_emit
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
class DiscussionsTest(APITestCase):
|
|
40
|
-
modules = []
|
|
41
|
-
|
|
42
39
|
@pytest.mark.options(SPAM_WORDS=["spam"])
|
|
43
40
|
def test_new_discussion(self):
|
|
44
41
|
user = self.login()
|
|
@@ -1018,7 +1015,7 @@ class DiscussionsTest(APITestCase):
|
|
|
1018
1015
|
self.assert403(response)
|
|
1019
1016
|
|
|
1020
1017
|
|
|
1021
|
-
class DiscussionsNotificationsTest(
|
|
1018
|
+
class DiscussionsNotificationsTest(DBTestCase):
|
|
1022
1019
|
def test_notify_user_discussions(self):
|
|
1023
1020
|
owner = UserFactory()
|
|
1024
1021
|
dataset = DatasetFactory(owner=owner)
|
|
@@ -1091,8 +1088,6 @@ class DiscussionsNotificationsTest(TestCase, DBTestMixin):
|
|
|
1091
1088
|
|
|
1092
1089
|
|
|
1093
1090
|
class DiscussionsMailsTest(APITestCase):
|
|
1094
|
-
modules = []
|
|
1095
|
-
|
|
1096
1091
|
def test_new_discussion_mail(self):
|
|
1097
1092
|
user = UserFactory()
|
|
1098
1093
|
owner = UserFactory()
|
udata/tests/test_mail.py
CHANGED
|
@@ -6,7 +6,7 @@ import pytest
|
|
|
6
6
|
from udata.core.organization.factories import OrganizationFactory
|
|
7
7
|
from udata.core.user.factories import UserFactory
|
|
8
8
|
from udata.mail import mail, mail_sent, send
|
|
9
|
-
from udata.tests import
|
|
9
|
+
from udata.tests.api import DBTestCase, PytestOnlyDBTestCase
|
|
10
10
|
from udata.tests.helpers import assert_emit, assert_not_emit
|
|
11
11
|
|
|
12
12
|
SMTPRecipientsRefusedList = ["not-found@udata", "not-found-either@udata"]
|
|
@@ -25,12 +25,8 @@ class FakeMail:
|
|
|
25
25
|
yield FakeSender()
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
app = super().create_app()
|
|
31
|
-
app.config["SEND_MAIL"] = True
|
|
32
|
-
return app
|
|
33
|
-
|
|
28
|
+
@pytest.mark.options(SEND_MAIL=True)
|
|
29
|
+
class MailSendTest(DBTestCase):
|
|
34
30
|
@pytest.fixture(autouse=True)
|
|
35
31
|
def patch_mail(self, mocker):
|
|
36
32
|
mocker.patch("udata.mail.mail", FakeMail())
|
|
@@ -53,9 +49,7 @@ class MailSendTest(TestCase, DBTestMixin):
|
|
|
53
49
|
send("subject", recipients, "base")
|
|
54
50
|
|
|
55
51
|
|
|
56
|
-
|
|
57
|
-
@pytest.mark.frontend
|
|
58
|
-
class MailCampaignTest:
|
|
52
|
+
class MailCampaignTest(PytestOnlyDBTestCase):
|
|
59
53
|
def test_send_mail_campaign_link_new_member(self, app):
|
|
60
54
|
# MTM campaign are only added on web URL (not API ones generated when
|
|
61
55
|
# no front-end is configured)
|