Skip to content

Commit

Permalink
Fix pulish dataset successfully test
Browse files Browse the repository at this point in the history
See #38
  • Loading branch information
gabrielbdornas committed Sep 4, 2021
1 parent fd97441 commit f14d57f
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 23 deletions.
1 change: 1 addition & 0 deletions dpckan/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from dpckan.tests.dpckan_test import clone_online_repo
from dpckan.tests.dpckan_test import get_file_name
from dpckan.tests.dpckan_test import get_file_path
from dpckan.tests.dpckan_test import get_ckan_instance
7 changes: 7 additions & 0 deletions dpckan/tests/dpckan_test.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import os
from click.testing import CliRunner
import unittest
from ckanapi import RemoteCKAN

def clone_online_repo(file):
"""
Expand All @@ -19,6 +20,12 @@ def get_file_name(file):
"""
return file.split("/")[-1].split(".")[0]

def get_ckan_instance(ckan_host, ckan_key):
ckan_host = os.environ.get(ckan_host)
ckan_key = os.environ.get(ckan_key)
ckan_instance = RemoteCKAN(ckan_host, apikey=ckan_key)
return ckan_instance

def get_file_path():
"""
Find tests files current directory where it must be executed.
Expand Down
51 changes: 28 additions & 23 deletions dpckan/tests/test_dataset_publish_dataset_successfully.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import ipdb
import os
import json
from click.testing import CliRunner
import unittest
from dpckan.tests import clone_online_repo
from dpckan.tests import get_file_path
from dpckan.create_dataset import create
from dpckan.create_dataset import create_cli
from dpckan.tests import (clone_online_repo, get_file_path, get_ckan_instance)
from dpckan.functions import (delete_dataset, datapackage_path,
load_complete_datapackage)
load_complete_datapackage, is_dataset_published)

class TestDatasetPublishDatasetSuccessfully(unittest.TestCase):
"""
Expand All @@ -19,28 +19,33 @@ def test_homologa_env(self):
runner = CliRunner()
with runner.isolated_filesystem():
clone_online_repo(__file__)
result = runner.invoke(create)
# Deleting dataset after test
ckan_instance = get_ckan_instance('CKAN_HOST', 'CKAN_KEY')
path_datapackage = datapackage_path()
dataset_dict = json.loads(load_complete_datapackage(path_datapackage))
delete_dataset(os.environ.get('CKAN_HOST'), os.environ.get('CKAN_KEY'), dataset_dict['name'])
self.assertEqual(result.exit_code, 0)

def test_prod_env(self):
"""
Testing dataset publication sucessfully producao environment
"""
runner = CliRunner()
with runner.isolated_filesystem():
clone_online_repo(__file__)
result = runner.invoke(create, ['--host', f"{os.environ.get('CKAN_HOST_PRODUCAO')}",
'--key', f"{os.environ.get('CKAN_KEY_PRODUCAO')}"])
dataset_dict = dict(load_complete_datapackage(path_datapackage))
dataset_name = dataset_dict['name']
# Deleting dataset before test
if is_dataset_published(ckan_instance, dataset_name):
delete_dataset(ckan_instance, dataset_name)
# Publish dataset
result = runner.invoke(create_cli)
# Deleting dataset after test
path_datapackage = datapackage_path()
dataset_dict = json.loads(load_complete_datapackage(path_datapackage))
delete_dataset(os.environ.get('CKAN_HOST_PRODUCAO'), os.environ.get('CKAN_KEY_PRODUCAO'), dataset_dict['name'])
delete_dataset(ckan_instance, dataset_name)
self.assertEqual(result.exit_code, 0)

# def test_prod_env(self):
# """
# Testing dataset publication sucessfully producao environment
# """
# runner = CliRunner()
# with runner.isolated_filesystem():
# clone_online_repo(__file__)
# result = runner.invoke(create_cli, ['--ckan-host', f"{os.environ.get('CKAN_HOST_PRODUCAO')}",
# '--ckan-key', f"{os.environ.get('CKAN_KEY_PRODUCAO')}"])
# # Deleting dataset after test
# path_datapackage = datapackage_path()
# dataset_dict = json.loads(lerDadosJsonMapeado(path_datapackage))
# delete_dataset(os.environ.get('CKAN_HOST_PRODUCAO'), os.environ.get('CKAN_KEY_PRODUCAO'), dataset_dict['name'])
# self.assertEqual(result.exit_code, 0)

if __name__ == '__main__':
unittest.main()

0 comments on commit f14d57f

Please sign in to comment.