Skip to content

Commit

Permalink
run isort, black, pflake8
Browse files Browse the repository at this point in the history
  • Loading branch information
To-Ki-O committed Mar 27, 2023
1 parent f299ca9 commit 69c9ac8
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 56 deletions.
51 changes: 26 additions & 25 deletions ckanext/feedback/tests/controllers/test_download.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
import pytest

from ckanext.feedback.models.download import DownloadSummary
from ckanext.feedback.controllers.download import DownloadController
from ckanext.feedback.command.feedback import create_utilization_tables, create_resource_tables, create_download_tables, get_engine

from unittest.mock import patch

from flask import Flask
from ckan.tests import factories
import pytest
from ckan import model
from ckan.tests import factories
from flask import Flask

from ckanext.feedback.command.feedback import (
create_download_tables,
create_resource_tables,
create_utilization_tables,
get_engine,
)
from ckanext.feedback.controllers.download import DownloadController
from ckanext.feedback.models.download import DownloadSummary
from ckanext.feedback.models.session import session


def get_download_count(resource_id):
def get_downloads(resource_id):
count = (
session.query(DownloadSummary.download)
.filter(DownloadSummary.resource_id == resource_id)
Expand All @@ -23,39 +26,37 @@ def get_download_count(resource_id):


@pytest.mark.usefixtures('clean_db', 'with_plugins', 'with_request_context')
class TestDownloadController():
class TestDownloadController:
model.repo.init_db()
engine = get_engine('db', '5432', 'ckan_test', 'ckan', 'ckan')
create_utilization_tables(engine)
create_resource_tables(engine)
create_download_tables(engine)

@pytest.fixture
def init_table(self):
def test_increment_resource_download(self):
resource = factories.Resource()
yield resource
session.query(model.resource.Resource).delete()
session.query(model.package.Package).delete()
session.commit()

def test_increment_resource_download(self, init_table):
DownloadController.increment_resource_downloads(init_table['id'])
assert get_download_count(init_table['id']) == 1
DownloadController.increment_resource_downloads(resource['id'])
assert get_downloads(resource['id']) == 1

@patch('ckanext.feedback.controllers.download.download')
def test_extended_download(self, mocker, init_table):
def test_extended_download(self, mocker):
resource = factories.Resource()
self.app = Flask(__name__)
self.ctx = self.app.app_context()
self.ctx.push()
self.ctx.pop()
download = mocker.patch('ckanext.feedback.controllers.download.download')

with self.app.test_request_context(headers={'Sec-Fetch-Dest': 'image'}):
DownloadController.extended_download('package_type', init_table['package_id'], init_table['id'], None)
assert get_download_count(init_table['id']) is None
DownloadController.extended_download(
'package_type', resource['package_id'], resource['id'], None
)
assert get_downloads(resource['id']) is None
assert download

with self.app.test_request_context(headers={'Sec-Fetch-Dest': 'document'}):
DownloadController.extended_download('package_type', init_table['package_id'], init_table['id'], None)
assert get_download_count(init_table['id']) == 1
DownloadController.extended_download(
'package_type', resource['package_id'], resource['id'], None
)
assert get_downloads(resource['id']) == 1
assert download
57 changes: 26 additions & 31 deletions ckanext/feedback/tests/services/download/test_summary.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
import pytest
from ckan import model
from ckan.tests import factories

from ckanext.feedback.command.feedback import (
create_download_tables,
create_resource_tables,
create_utilization_tables,
get_engine,
)
from ckanext.feedback.models.download import DownloadSummary
from ckanext.feedback.models.session import session
from ckanext.feedback.services.download.summary import (
get_package_downloads,
get_resource_downloads,
increment_resource_downloads
increment_resource_downloads,
)

from ckanext.feedback.command.feedback import create_utilization_tables, create_resource_tables, create_download_tables, get_engine

from ckan.tests import factories
from ckan import model

from ckanext.feedback.models.session import session


def get_download_count(resource_id):
def get_downloads(resource_id):
count = (
session.query(DownloadSummary.download)
.filter(DownloadSummary.resource_id == resource_id)
Expand All @@ -32,42 +34,35 @@ class TestDownloadView:
create_resource_tables(engine)
create_download_tables(engine)

@pytest.fixture
def init_table(self):
def test_increment_resource_downloads(self):
resource = factories.Resource()
yield resource
session.query(model.resource.Resource).delete()
session.query(model.package.Package).delete()
session.query(DownloadSummary).delete()
session.commit()
increment_resource_downloads(resource['id'])
assert get_downloads(resource['id']) == 1
increment_resource_downloads(resource['id'])
assert get_downloads(resource['id']) == 2

def test_increment_resource_downloads(self, init_table):
increment_resource_downloads(init_table['id'])
assert get_download_count(init_table['id']) == 1
increment_resource_downloads(init_table['id'])
assert get_download_count(init_table['id']) == 2

# (ToDo) test if there are two resources data related to one package_id ?
def test_get_package_download(self, init_table):
assert get_package_downloads(init_table['package_id']) == 0
def test_get_package_download(self):
resource = factories.Resource()
assert get_package_downloads(resource['package_id']) == 0
download_summary = DownloadSummary(
id=str('test_id'),
resource_id=init_table['id'],
resource_id=resource['id'],
download=1,
created='2023-03-31 01:23:45.123456',
updated='2023-03-31 01:23:45.123456',
)
session.add(download_summary)
assert get_package_downloads(init_table['package_id']) == 1
assert get_package_downloads(resource['package_id']) == 1

def test_get_resource_download(self, init_table):
assert get_resource_downloads(init_table['id']) == 0
def test_get_resource_download(self):
resource = factories.Resource()
assert get_resource_downloads(resource['id']) == 0
download_summary = DownloadSummary(
id=str('test_id'),
resource_id=init_table['id'],
resource_id=resource['id'],
download=1,
created='2023-03-31 01:23:45.123456',
updated='2023-03-31 01:23:45.123456',
)
session.add(download_summary)
assert get_resource_downloads(init_table['id']) == 1
assert get_resource_downloads(resource['id']) == 1

0 comments on commit 69c9ac8

Please sign in to comment.