udata 7.0.6__py2.py3-none-any.whl → 7.0.6.dev28180__py2.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/__init__.py +1 -1
- udata/commands/__init__.py +3 -0
- udata/commands/dcat.py +4 -7
- udata/core/activity/api.py +1 -1
- udata/core/activity/models.py +3 -4
- udata/core/activity/tasks.py +5 -6
- udata/core/dataset/factories.py +4 -2
- udata/core/dataset/models.py +5 -2
- udata/core/dataset/rdf.py +25 -65
- udata/core/dataset/search.py +1 -0
- udata/core/spatial/tests/test_api.py +10 -7
- udata/core/topic/factories.py +2 -2
- udata/harvest/backends/dcat.py +24 -128
- udata/harvest/tests/dcat/bnodes.xml +1 -7
- udata/harvest/tests/test_dcat_backend.py +9 -82
- udata/rdf.py +1 -22
- udata/search/__init__.py +2 -2
- udata/static/chunks/{11.a23c110811a9ac943478.js → 11.c0ccea08914b6b41568e.js} +3 -3
- udata/static/chunks/{11.a23c110811a9ac943478.js.map → 11.c0ccea08914b6b41568e.js.map} +1 -1
- udata/static/chunks/{13.0889e093f8664e38568c.js → 13.526a25163ababaa44409.js} +2 -2
- udata/static/chunks/{13.0889e093f8664e38568c.js.map → 13.526a25163ababaa44409.js.map} +1 -1
- udata/static/chunks/{16.f41599478d3e97ad9a30.js → 16.7901839b4227881947f6.js} +2 -2
- udata/static/chunks/{16.f41599478d3e97ad9a30.js.map → 16.7901839b4227881947f6.js.map} +1 -1
- udata/static/chunks/{19.2b534a26af8b17e9170b.js → 19.471d5a2a08eef6e5338a.js} +3 -3
- udata/static/chunks/{19.2b534a26af8b17e9170b.js.map → 19.471d5a2a08eef6e5338a.js.map} +1 -1
- udata/static/chunks/{5.7115454a1183e5c12eef.js → 5.534e0531d0e2b150146f.js} +3 -3
- udata/static/chunks/{5.7115454a1183e5c12eef.js.map → 5.534e0531d0e2b150146f.js.map} +1 -1
- udata/static/chunks/{6.16bb24fb8240f2746488.js → 6.e56975229e6065f68d2a.js} +3 -3
- udata/static/chunks/{6.16bb24fb8240f2746488.js.map → 6.e56975229e6065f68d2a.js.map} +1 -1
- udata/static/chunks/{9.3e752966ff14e47e11f2.js → 9.534426728626f11f4571.js} +2 -2
- udata/static/chunks/{9.3e752966ff14e47e11f2.js.map → 9.534426728626f11f4571.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/api/test_datasets_api.py +45 -45
- udata/tests/api/test_me_api.py +14 -13
- udata/tests/dataset/test_dataset_actions.py +2 -2
- udata/tests/dataset/test_dataset_commands.py +3 -3
- udata/tests/dataset/test_dataset_model.py +1 -2
- udata/tests/organization/test_organization_model.py +3 -3
- udata/tests/organization/test_organization_rdf.py +3 -3
- udata/tests/reuse/test_reuse_model.py +2 -2
- udata/tests/search/test_adapter.py +12 -12
- udata/tests/search/test_results.py +4 -4
- udata/tests/site/test_site_api.py +3 -3
- udata/tests/site/test_site_metrics.py +3 -3
- udata/tests/site/test_site_rdf.py +6 -6
- udata/tests/test_activity.py +0 -12
- udata/tests/test_transfer.py +17 -18
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/METADATA +4 -10
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/RECORD +54 -60
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/entry_points.txt +0 -1
- udata/harvest/tests/csw_dcat/XSLT.xml +0 -4298
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-1.xml +0 -1291
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-3.xml +0 -1139
- udata/harvest/tests/csw_dcat/geonetwork-iso-page-5.xml +0 -1266
- udata/harvest/tests/dcat/evian.json +0 -464
- udata/migrations/2024-03-22-migrate-activity-kwargs-to-extras.py +0 -16
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/LICENSE +0 -0
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/WHEEL +0 -0
- {udata-7.0.6.dist-info → udata-7.0.6.dev28180.dist-info}/top_level.txt +0 -0
|
@@ -14,7 +14,7 @@ from udata.utils import clean_string
|
|
|
14
14
|
from udata.search import reindex, as_task_param
|
|
15
15
|
from udata.search.commands import index_model
|
|
16
16
|
from udata.core.dataset.search import DatasetSearch
|
|
17
|
-
from udata.core.dataset.factories import DatasetFactory, ResourceFactory,
|
|
17
|
+
from udata.core.dataset.factories import DatasetFactory, ResourceFactory, VisibleDatasetFactory
|
|
18
18
|
from udata.tests.api import APITestCase
|
|
19
19
|
|
|
20
20
|
from . import FakeSearch
|
|
@@ -104,35 +104,35 @@ class SearchAdaptorTest:
|
|
|
104
104
|
assertHasArgument(parser, 'page_size', int)
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
@pytest.mark.options(SEARCH_SERVICE_API_URL="smtg
|
|
107
|
+
@pytest.mark.options(SEARCH_SERVICE_API_URL="smtg")
|
|
108
108
|
class IndexingLifecycleTest(APITestCase):
|
|
109
109
|
|
|
110
110
|
@patch('requests.delete')
|
|
111
111
|
def test_producer_should_send_a_message_without_payload_if_not_indexable(self, mock_req):
|
|
112
|
-
fake_data =
|
|
112
|
+
fake_data = DatasetFactory(id='61fd30cb29ea95c7bc0e1211')
|
|
113
113
|
|
|
114
114
|
reindex.run(*as_task_param(fake_data))
|
|
115
115
|
|
|
116
116
|
search_service_url = current_app.config['SEARCH_SERVICE_API_URL']
|
|
117
|
-
url = f'{search_service_url}{DatasetSearch.search_url}{str(fake_data.id)}/unindex'
|
|
117
|
+
url = f'{search_service_url}{DatasetSearch.search_url}/{str(fake_data.id)}/unindex'
|
|
118
118
|
mock_req.assert_called_with(url)
|
|
119
119
|
|
|
120
120
|
@patch('requests.post')
|
|
121
121
|
def test_producer_should_send_a_message_with_payload_if_indexable(self, mock_req):
|
|
122
122
|
resource = ResourceFactory(schema=Schema(url="http://localhost/my-schema"))
|
|
123
|
-
fake_data =
|
|
123
|
+
fake_data = VisibleDatasetFactory(id='61fd30cb29ea95c7bc0e1211', resources=[resource])
|
|
124
124
|
|
|
125
125
|
reindex.run(*as_task_param(fake_data))
|
|
126
126
|
|
|
127
127
|
expected_value = {
|
|
128
128
|
'document': DatasetSearch.serialize(fake_data)
|
|
129
129
|
}
|
|
130
|
-
url = f"{current_app.config['SEARCH_SERVICE_API_URL']}{DatasetSearch.search_url}index"
|
|
130
|
+
url = f"{current_app.config['SEARCH_SERVICE_API_URL']}{DatasetSearch.search_url}/index"
|
|
131
131
|
mock_req.assert_called_with(url, json=expected_value)
|
|
132
132
|
|
|
133
133
|
@patch('requests.Session.post')
|
|
134
134
|
def test_index_model(self, mock_req):
|
|
135
|
-
fake_data =
|
|
135
|
+
fake_data = VisibleDatasetFactory(id='61fd30cb29ea95c7bc0e1211')
|
|
136
136
|
|
|
137
137
|
index_model(DatasetSearch, start=None, reindex=False, from_datetime=None)
|
|
138
138
|
|
|
@@ -146,7 +146,7 @@ class IndexingLifecycleTest(APITestCase):
|
|
|
146
146
|
@patch('requests.post')
|
|
147
147
|
@patch('requests.Session.post')
|
|
148
148
|
def test_reindex_model(self, mock_session, mock_req):
|
|
149
|
-
fake_data =
|
|
149
|
+
fake_data = VisibleDatasetFactory(id='61fd30cb29ea95c7bc0e1211')
|
|
150
150
|
|
|
151
151
|
index_model(DatasetSearch, start=datetime.datetime(2022, 2, 20, 20, 2), reindex=True)
|
|
152
152
|
|
|
@@ -167,10 +167,10 @@ class IndexingLifecycleTest(APITestCase):
|
|
|
167
167
|
|
|
168
168
|
@patch('requests.Session.post')
|
|
169
169
|
def test_index_model_from_datetime(self, mock_req):
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
fake_data =
|
|
173
|
-
|
|
170
|
+
VisibleDatasetFactory(id='61fd30cb29ea95c7bc0e1211',
|
|
171
|
+
last_modified_internal=datetime.datetime(2020, 1, 1))
|
|
172
|
+
fake_data = VisibleDatasetFactory(id='61fd30cb29ea95c7bc0e1212',
|
|
173
|
+
last_modified_internal=datetime.datetime(2022, 1, 1))
|
|
174
174
|
|
|
175
175
|
index_model(DatasetSearch, start=None, from_datetime=datetime.datetime(2023, 1, 1))
|
|
176
176
|
mock_req.assert_not_called()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from udata.tests.api import APITestCase
|
|
2
2
|
from udata.search.result import SearchResult
|
|
3
|
-
from udata.core.dataset.factories import
|
|
3
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
4
4
|
from udata.core.dataset.search import DatasetSearch
|
|
5
5
|
from udata.models import Dataset
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ class ResultTest(APITestCase):
|
|
|
9
9
|
def test_results_get_objects(self):
|
|
10
10
|
data = []
|
|
11
11
|
for _ in range(3):
|
|
12
|
-
random_dataset =
|
|
12
|
+
random_dataset = VisibleDatasetFactory()
|
|
13
13
|
data.append(DatasetSearch.serialize(random_dataset))
|
|
14
14
|
|
|
15
15
|
search_class = DatasetSearch.temp_search()
|
|
@@ -30,10 +30,10 @@ class ResultTest(APITestCase):
|
|
|
30
30
|
def test_results_should_not_fail_on_missing_objects(self):
|
|
31
31
|
data = []
|
|
32
32
|
for _ in range(3):
|
|
33
|
-
random_dataset =
|
|
33
|
+
random_dataset = VisibleDatasetFactory()
|
|
34
34
|
data.append(DatasetSearch.serialize(random_dataset))
|
|
35
35
|
|
|
36
|
-
to_delete_random_dataset =
|
|
36
|
+
to_delete_random_dataset = VisibleDatasetFactory()
|
|
37
37
|
data.append(DatasetSearch.serialize(to_delete_random_dataset))
|
|
38
38
|
|
|
39
39
|
search_class = DatasetSearch.temp_search()
|
|
@@ -5,7 +5,7 @@ from flask import url_for
|
|
|
5
5
|
from udata.core.site.models import Site
|
|
6
6
|
from udata.core.site.models import current_site
|
|
7
7
|
from udata.core.site.factories import SiteFactory
|
|
8
|
-
from udata.core.dataset.factories import
|
|
8
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
9
9
|
from udata.core.reuse.factories import VisibleReuseFactory
|
|
10
10
|
from udata.core.user.factories import AdminFactory
|
|
11
11
|
|
|
@@ -22,7 +22,7 @@ class SiteAPITest(APITestCase):
|
|
|
22
22
|
def test_get_home_datasets(self):
|
|
23
23
|
site = SiteFactory.create(
|
|
24
24
|
id=self.app.config['SITE_ID'],
|
|
25
|
-
settings__home_datasets=
|
|
25
|
+
settings__home_datasets=VisibleDatasetFactory.create_batch(3)
|
|
26
26
|
)
|
|
27
27
|
current_site.reload()
|
|
28
28
|
|
|
@@ -46,7 +46,7 @@ class SiteAPITest(APITestCase):
|
|
|
46
46
|
self.assertEqual(len(response.json), len(site.settings.home_reuses))
|
|
47
47
|
|
|
48
48
|
def test_set_home_datasets(self):
|
|
49
|
-
ids = [d.id for d in
|
|
49
|
+
ids = [d.id for d in VisibleDatasetFactory.create_batch(3)]
|
|
50
50
|
|
|
51
51
|
self.login(AdminFactory())
|
|
52
52
|
response = self.put(url_for('api.home_datasets'), ids)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
-
from udata.core.dataset.factories import DatasetFactory,
|
|
3
|
+
from udata.core.dataset.factories import DatasetFactory, VisibleDatasetFactory, OrganizationFactory
|
|
4
4
|
from udata.core.reuse.factories import VisibleReuseFactory
|
|
5
5
|
from udata.harvest.tests.factories import HarvestSourceFactory
|
|
6
6
|
from udata.core.site.factories import SiteFactory
|
|
@@ -34,11 +34,11 @@ class SiteMetricTest:
|
|
|
34
34
|
id=app.config['SITE_ID']
|
|
35
35
|
)
|
|
36
36
|
DatasetFactory.create_batch(2)
|
|
37
|
-
|
|
37
|
+
VisibleDatasetFactory.create_batch(3)
|
|
38
38
|
|
|
39
39
|
site.count_datasets()
|
|
40
40
|
|
|
41
|
-
assert site.get_metrics()['datasets'] ==
|
|
41
|
+
assert site.get_metrics()['datasets'] == 3
|
|
42
42
|
|
|
43
43
|
def test_resources_metric(self, app):
|
|
44
44
|
site = SiteFactory.create(
|
|
@@ -6,7 +6,7 @@ from rdflib import URIRef, Literal, Graph
|
|
|
6
6
|
from rdflib.namespace import RDF, FOAF
|
|
7
7
|
from rdflib.resource import Resource
|
|
8
8
|
|
|
9
|
-
from udata.core.dataset.factories import
|
|
9
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
10
10
|
from udata.core.dataset.models import Dataset
|
|
11
11
|
from udata.core.organization.factories import OrganizationFactory
|
|
12
12
|
from udata.core.site.factories import SiteFactory
|
|
@@ -26,7 +26,7 @@ class CatalogTest:
|
|
|
26
26
|
site = SiteFactory()
|
|
27
27
|
home_url = url_for('api.site', _external=True)
|
|
28
28
|
uri = url_for('api.site_rdf_catalog', _external=True)
|
|
29
|
-
datasets =
|
|
29
|
+
datasets = VisibleDatasetFactory.create_batch(3)
|
|
30
30
|
catalog = build_catalog(site, datasets)
|
|
31
31
|
graph = catalog.graph
|
|
32
32
|
|
|
@@ -59,8 +59,8 @@ class CatalogTest:
|
|
|
59
59
|
site = SiteFactory()
|
|
60
60
|
org = OrganizationFactory()
|
|
61
61
|
user = UserFactory()
|
|
62
|
-
datasets =
|
|
63
|
-
datasets +=
|
|
62
|
+
datasets = VisibleDatasetFactory.create_batch(2, owner=user)
|
|
63
|
+
datasets += VisibleDatasetFactory.create_batch(2, organization=org)
|
|
64
64
|
catalog = build_catalog(site, datasets)
|
|
65
65
|
graph = catalog.graph
|
|
66
66
|
|
|
@@ -82,7 +82,7 @@ class CatalogTest:
|
|
|
82
82
|
page=1, page_size=page_size, _external=True)
|
|
83
83
|
uri_last = url_for('api.site_rdf_catalog_format', format='json',
|
|
84
84
|
page=2, page_size=page_size, _external=True)
|
|
85
|
-
|
|
85
|
+
VisibleDatasetFactory.create_batch(total)
|
|
86
86
|
|
|
87
87
|
# First page
|
|
88
88
|
datasets = Dataset.objects.paginate(1, page_size)
|
|
@@ -208,7 +208,7 @@ class SiteRdfViewsTest:
|
|
|
208
208
|
assert_redirects(response, expected_url)
|
|
209
209
|
|
|
210
210
|
def test_catalog_rdf_paginate(self, client):
|
|
211
|
-
|
|
211
|
+
VisibleDatasetFactory.create_batch(4)
|
|
212
212
|
url = url_for('api.site_rdf_catalog_format', format='n3', page_size=3)
|
|
213
213
|
next_url = url_for('api.site_rdf_catalog_format', format='n3',
|
|
214
214
|
page=2, page_size=3, _external=True)
|
udata/tests/test_activity.py
CHANGED
|
@@ -27,18 +27,6 @@ class ActivityTest(WebTestMixin, DBTestMixin, TestCase):
|
|
|
27
27
|
self.assertEqual(len(activities), 1)
|
|
28
28
|
self.assertIsInstance(activities[0], FakeActivity)
|
|
29
29
|
|
|
30
|
-
def test_create_and_retrieve_with_extras(self):
|
|
31
|
-
FakeActivity.objects.create(actor=self.user, related_to=self.fake, extras={'some_key': 'some_value',
|
|
32
|
-
'other_key': 'other_value'})
|
|
33
|
-
|
|
34
|
-
activities = Activity.objects(actor=self.user)
|
|
35
|
-
|
|
36
|
-
self.assertEqual(len(activities), 1)
|
|
37
|
-
self.assertEqual(activities[0].extras['some_key'], 'some_value')
|
|
38
|
-
self.assertEqual(activities[0].extras['other_key'], 'other_value')
|
|
39
|
-
self.assertIsInstance(activities[0], FakeActivity)
|
|
40
|
-
|
|
41
|
-
|
|
42
30
|
def test_create_and_retrieve_for_org(self):
|
|
43
31
|
org = OrganizationFactory()
|
|
44
32
|
FakeActivity.objects.create(
|
udata/tests/test_transfer.py
CHANGED
|
@@ -7,15 +7,14 @@ from udata.features.transfer.actions import request_transfer, accept_transfer
|
|
|
7
7
|
from udata.features.transfer.notifications import (
|
|
8
8
|
transfer_request_notifications
|
|
9
9
|
)
|
|
10
|
-
from udata.models import Member
|
|
10
|
+
from udata.models import Member
|
|
11
|
+
from udata.core.user.metrics import update_owner_metrics
|
|
12
|
+
from udata.core.organization.metrics import update_org_metrics
|
|
11
13
|
|
|
12
14
|
from udata.utils import faker
|
|
13
|
-
from udata.core.dataset.factories import
|
|
15
|
+
from udata.core.dataset.factories import VisibleDatasetFactory
|
|
14
16
|
from udata.core.organization.factories import OrganizationFactory
|
|
15
|
-
from udata.core.
|
|
16
|
-
from udata.core.user.factories import UserFactory
|
|
17
|
-
from udata.core.user.metrics import update_owner_metrics # noqa needed to register signals
|
|
18
|
-
from udata.tests.helpers import assert_emit
|
|
17
|
+
from udata.core.user.factories import UserFactory
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
pytestmark = pytest.mark.usefixtures('clean_db')
|
|
@@ -33,7 +32,7 @@ class TransferStartTest:
|
|
|
33
32
|
|
|
34
33
|
def test_request_transfer_owner_to_user(self):
|
|
35
34
|
user = UserFactory()
|
|
36
|
-
dataset =
|
|
35
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
37
36
|
recipient = UserFactory()
|
|
38
37
|
comment = faker.sentence()
|
|
39
38
|
|
|
@@ -44,7 +43,7 @@ class TransferStartTest:
|
|
|
44
43
|
user = UserFactory()
|
|
45
44
|
member = Member(user=user, role='admin')
|
|
46
45
|
org = OrganizationFactory(members=[member])
|
|
47
|
-
dataset =
|
|
46
|
+
dataset = VisibleDatasetFactory(owner=user, organization=org)
|
|
48
47
|
recipient = UserFactory()
|
|
49
48
|
comment = faker.sentence()
|
|
50
49
|
|
|
@@ -53,7 +52,7 @@ class TransferStartTest:
|
|
|
53
52
|
|
|
54
53
|
def test_request_transfer_user_to_organization(self):
|
|
55
54
|
user = UserFactory()
|
|
56
|
-
dataset =
|
|
55
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
57
56
|
recipient = OrganizationFactory()
|
|
58
57
|
comment = faker.sentence()
|
|
59
58
|
|
|
@@ -62,7 +61,7 @@ class TransferStartTest:
|
|
|
62
61
|
|
|
63
62
|
def test_request_transfer_not_authorized_not_owner(self):
|
|
64
63
|
user = UserFactory()
|
|
65
|
-
dataset =
|
|
64
|
+
dataset = VisibleDatasetFactory(owner=UserFactory())
|
|
66
65
|
recipient = UserFactory()
|
|
67
66
|
comment = faker.sentence()
|
|
68
67
|
|
|
@@ -74,7 +73,7 @@ class TransferStartTest:
|
|
|
74
73
|
user = UserFactory()
|
|
75
74
|
member = Member(user=user, role='editor')
|
|
76
75
|
org = OrganizationFactory(members=[member])
|
|
77
|
-
dataset =
|
|
76
|
+
dataset = VisibleDatasetFactory(organization=org)
|
|
78
77
|
recipient = UserFactory()
|
|
79
78
|
comment = faker.sentence()
|
|
80
79
|
|
|
@@ -84,7 +83,7 @@ class TransferStartTest:
|
|
|
84
83
|
|
|
85
84
|
def test_request_transfer_to_self(self):
|
|
86
85
|
user = UserFactory()
|
|
87
|
-
dataset =
|
|
86
|
+
dataset = VisibleDatasetFactory(owner=user)
|
|
88
87
|
comment = faker.sentence()
|
|
89
88
|
|
|
90
89
|
login_user(user)
|
|
@@ -95,7 +94,7 @@ class TransferStartTest:
|
|
|
95
94
|
user = UserFactory()
|
|
96
95
|
member = Member(user=user, role='admin')
|
|
97
96
|
org = OrganizationFactory(members=[member])
|
|
98
|
-
dataset =
|
|
97
|
+
dataset = VisibleDatasetFactory(owner=user, organization=org)
|
|
99
98
|
comment = faker.sentence()
|
|
100
99
|
|
|
101
100
|
login_user(user)
|
|
@@ -108,7 +107,7 @@ class TransferAcceptTest:
|
|
|
108
107
|
def test_recipient_user_can_accept_transfer(self):
|
|
109
108
|
owner = UserFactory()
|
|
110
109
|
recipient = UserFactory()
|
|
111
|
-
subject =
|
|
110
|
+
subject = VisibleDatasetFactory(owner=owner)
|
|
112
111
|
transfer = TransferFactory(owner=owner,
|
|
113
112
|
recipient=recipient,
|
|
114
113
|
subject=subject)
|
|
@@ -137,7 +136,7 @@ class TransferAcceptTest:
|
|
|
137
136
|
owner = UserFactory()
|
|
138
137
|
admin = UserFactory()
|
|
139
138
|
org = OrganizationFactory(members=[Member(user=admin, role='admin')])
|
|
140
|
-
subject =
|
|
139
|
+
subject = VisibleDatasetFactory(owner=owner)
|
|
141
140
|
transfer = TransferFactory(owner=owner,
|
|
142
141
|
recipient=org,
|
|
143
142
|
subject=subject)
|
|
@@ -173,7 +172,7 @@ class TransferAcceptTest:
|
|
|
173
172
|
owner = UserFactory()
|
|
174
173
|
editor = UserFactory()
|
|
175
174
|
org = OrganizationFactory(members=[Member(user=editor, role='editor')])
|
|
176
|
-
subject =
|
|
175
|
+
subject = VisibleDatasetFactory(organization=org)
|
|
177
176
|
transfer = TransferFactory(owner=owner,
|
|
178
177
|
recipient=org,
|
|
179
178
|
subject=subject)
|
|
@@ -186,7 +185,7 @@ class TransferAcceptTest:
|
|
|
186
185
|
class TransferNotificationsTest:
|
|
187
186
|
def test_pending_transfer_request_for_user(self):
|
|
188
187
|
user = UserFactory()
|
|
189
|
-
datasets =
|
|
188
|
+
datasets = VisibleDatasetFactory.create_batch(2, owner=user)
|
|
190
189
|
recipient = UserFactory()
|
|
191
190
|
comment = faker.sentence()
|
|
192
191
|
transfers = {}
|
|
@@ -207,7 +206,7 @@ class TransferNotificationsTest:
|
|
|
207
206
|
|
|
208
207
|
def test_pending_transfer_request_for_org(self):
|
|
209
208
|
user = UserFactory()
|
|
210
|
-
datasets =
|
|
209
|
+
datasets = VisibleDatasetFactory.create_batch(2, owner=user)
|
|
211
210
|
recipient = UserFactory()
|
|
212
211
|
member = Member(user=recipient, role='editor')
|
|
213
212
|
org = OrganizationFactory(members=[member])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 7.0.6
|
|
3
|
+
Version: 7.0.6.dev28180
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -132,18 +132,13 @@ for publishing udata's roadmap and for building consensus around it.
|
|
|
132
132
|
It is collectively taken care of by members of the
|
|
133
133
|
[OpenDataTeam](https://github.com/opendatateam).
|
|
134
134
|
|
|
135
|
-
[readthedocs-url]: https://udata.readthedocs.io/en/
|
|
135
|
+
[readthedocs-url]: https://udata.readthedocs.io/en/latest/
|
|
136
136
|
|
|
137
137
|
# Changelog
|
|
138
138
|
|
|
139
|
-
##
|
|
139
|
+
## Current (in progress)
|
|
140
140
|
|
|
141
|
-
-
|
|
142
|
-
- Fix, do not fail on spatial coverage harvesting exception and allow literal spatial BBOX from Arcgis [2998](https://github.com/opendatateam/udata/pull/2998)
|
|
143
|
-
- Mock calls to example.com [#3000](https://github.com/opendatateam/udata/pull/3000)
|
|
144
|
-
- Fix duplicate logs in console commands [#2996](https://github.com/opendatateam/udata/pull/2996)
|
|
145
|
-
- Refactor `Activity.kwargs` into `Activity.extras` to facilitate its usage [#2999](https://github.com/opendatateam/udata/pull/2999)
|
|
146
|
-
- :warning: Datasets without resources are now visible and indexable [#2997](https://github.com/opendatateam/udata/pull/2997)
|
|
141
|
+
- Nothing yet
|
|
147
142
|
|
|
148
143
|
## 7.0.5 (2024-03-20)
|
|
149
144
|
|
|
@@ -158,7 +153,6 @@ It is collectively taken care of by members of the
|
|
|
158
153
|
- Topic: add spatial field [#2988](https://github.com/opendatateam/udata/pull/2988)
|
|
159
154
|
- Topic: add last_modified field [#2987](https://github.com/opendatateam/udata/pull/2987)
|
|
160
155
|
- Add stacktraces to CSV errors [#2990](https://github.com/opendatateam/udata/pull/2990)
|
|
161
|
-
- Fix harvesting of DCT.conformsTo for complex inner information [#2994](https://github.com/opendatateam/udata/pull/2994)
|
|
162
156
|
|
|
163
157
|
## 7.0.4 (2024-02-27)
|
|
164
158
|
|