Skip to content

Commit

Permalink
Merge branch '2.9-tests' into dev-v2.9
Browse files Browse the repository at this point in the history
  • Loading branch information
amercader committed May 24, 2023
2 parents d7d1801 + 97945fb commit 13c6d75
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 43 deletions.
41 changes: 7 additions & 34 deletions .circleci/config.yml
Expand Up @@ -2,10 +2,6 @@ version: 2
defaults:
init_environemnt: &init_environment
run: |
# SOLR config
cp ~/project/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml
service jetty9 restart || true # erroring out but does seem to work
# Database Creation
psql --host=ckan-postgres --username=ckan --command="CREATE USER ${CKAN_POSTGRES_USER} WITH PASSWORD '${CKAN_POSTGRES_PWD}' NOSUPERUSER NOCREATEDB NOCREATEROLE;"
createdb --encoding=utf-8 --host=ckan-postgres --username=ckan --owner=${CKAN_POSTGRES_USER} ${CKAN_POSTGRES_DB}
Expand All @@ -29,7 +25,7 @@ defaults:
npm install
;;
esac
apt install -y postgresql-client solr-jetty openjdk-8-jdk
apt install -y postgresql-client
run_tests: &run_tests
# Tests Backend, split across containers by segments
run: |
Expand Down Expand Up @@ -86,41 +82,19 @@ defaults:
redis_image: &redis_image
image: redis:3
name: ckan-redis
jobs:
test-python-2:
docker:
- image: python:2-stretch
<<: *ckan_env
- <<: *pg_image
- <<: *redis_image

parallelism: 4
solr_image: &solr_image
image: ckan/ckan-solr:2.9
name: ckan-solr

steps:
- checkout

- <<: *install_deps
- run: |
# Python Dependencies
pip install -r requirement-setuptools.txt
pip install -r requirements-py2.txt
pip install -r dev-requirements.txt
python setup.py develop
pip check
- <<: *init_environment
- <<: *run_tests
- store_test_results:
path: ~/junit
- <<: *start_test_server
- <<: *run_front_tests
- store_artifacts:
path: ~/project/cypress/screenshots
jobs:
test-python-3:
docker:
- image: python:3-stretch
- image: python:3.9-buster
<<: *ckan_env
- <<: *pg_image
- <<: *redis_image
- <<: *solr_image

parallelism: 4

Expand Down Expand Up @@ -150,5 +124,4 @@ workflows:
version: 2
build_and_test:
jobs:
- test-python-2
- test-python-3
2 changes: 2 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -18,6 +18,8 @@ Bugfixes
- `CVE-2023-32321 <https://github.com/ckan/ckan/security/advisories/GHSA-446m-hmmm-hm8m>`_: fix
potential path traversal, remote code execution, information disclosure and
DOS vulnerabilities via crafted resource ids.
- Names are now quoted in From and To addresses in emails, meaning that site titles with
commas no longer break email clients. (`#7508 <https://github.com/ckan/ckan/pull/7508>`_)

Migration notes
---------------
Expand Down
2 changes: 1 addition & 1 deletion ckan/__init__.py
@@ -1,6 +1,6 @@
# encoding: utf-8

__version__ = '2.9.9b'
__version__ = '2.9.9'

__description__ = 'CKAN Software'
__long_description__ = \
Expand Down
3 changes: 2 additions & 1 deletion ckan/lib/uploader.py
Expand Up @@ -294,7 +294,8 @@ def get_directory(self, id):
real_storage = os.path.realpath(self.storage_path)
directory = os.path.join(real_storage, id[0:3], id[3:6])
if directory != os.path.realpath(directory):
raise logic.ValidationError({'upload': ['Invalid storage directory']})
raise logic.ValidationError(
{'upload': ['Invalid storage directory']})
return directory

def get_path(self, id):
Expand Down
8 changes: 4 additions & 4 deletions ckan/tests/logic/auth/test_delete.py
Expand Up @@ -26,7 +26,7 @@ def test_no_org_user_cant_delete(self):
user = factories.User()
org = factories.Organization()
dataset = factories.Dataset(
owner_org=org["id"], resources=[factories.Resource()]
owner_org=org["id"], resources=[{"url": "https://example.com/data.csv"}]
)

response = auth_delete.resource_delete(
Expand All @@ -41,7 +41,7 @@ def test_org_user_can_delete(self):
org_users = [{"name": user["name"], "capacity": "editor"}]
org = factories.Organization(users=org_users)
dataset = factories.Dataset(
owner_org=org["id"], resources=[factories.Resource()], user=user
owner_org=org["id"], resources=[{"url": "https://example.com/data.csv"}], user=user
)

response = auth_delete.resource_delete(
Expand All @@ -67,7 +67,7 @@ def test_no_org_user_cant_delete_2(self):
user = factories.User()
org = factories.Organization()
dataset = factories.Dataset(
owner_org=org["id"], resources=[factories.Resource()]
owner_org=org["id"], resources=[{"url": "https://example.com/data.csv"}]
)

resource_view = factories.ResourceView(
Expand All @@ -88,7 +88,7 @@ def test_org_user_can_delete_2(self):
org_users = [{"name": user["name"], "capacity": "editor"}]
org = factories.Organization(users=org_users)
dataset = factories.Dataset(
owner_org=org["id"], resources=[factories.Resource()], user=user
owner_org=org["id"], resources=[{"url": "https://example.com/data.csv"}], user=user
)

resource_view = factories.ResourceView(
Expand Down
6 changes: 4 additions & 2 deletions ckanext/datapusher/tests/test_interfaces.py
Expand Up @@ -41,8 +41,10 @@ def setup_class(self, clean_db, test_request_context):
if not tests.is_datastore_supported():
pytest.skip("Datastore not supported")

resource = factories.Resource(url_type="datastore")
self.dataset = factories.Dataset(resources=[resource])
self.dataset = factories.Dataset(
resources=[
{"url_type": "datastore"}
])
with test_request_context():
self.sysadmin_user = factories.User(
name="testsysadmin", sysadmin=True
Expand Down
2 changes: 1 addition & 1 deletion test-core-circle-ci.ini
Expand Up @@ -11,7 +11,7 @@ ckan.redis.url = redis://ckan-redis:6379/1

sqlalchemy.url = postgresql://ckan_default:pass@ckan-postgres/ckan_test

solr_url = http://localhost:8080/solr
solr_url = http://ckan-solr:8983/solr/ckan

[loggers]
keys = root, ckan, sqlalchemy
Expand Down

0 comments on commit 13c6d75

Please sign in to comment.