From bb57e2246be65c786897a3ab47b9f0bb5db03576 Mon Sep 17 00:00:00 2001 From: David Kinzer Date: Fri, 4 Nov 2016 16:01:08 -0400 Subject: [PATCH] Create behat.yml file with individual suites for DKAN and Custom Tests (#3) * Refactor behat configurations to use suites. REF CIVIC-4257 Changes to be committed: new file: ../config/tests/behat.custom.yml new file: ../config/tests/features/bootstrap/CustomContext.php new file: ../config/tests/features/custom.feature modified: ../dkan/test/behat.yml modified: behat.circleci.yml new file: behat.data_starter.yml modified: behat.docker.yml deleted: behat.yml deleted: features new file: features/bootstrap/custom new file: features/bootstrap/dkan renamed: ../config/tests/features/general.feature -> features/general.feature renamed: ../config/tests/features/resources.feature -> features/resources.feature * Use one script for all tests. REF CIVIC-4257 Now we've added some suite configurations for the different types of tests we can pass a suite parameter to run our tests using the same script. Changes to be committed: modified: ../../circle.yml modified: .scripts/behat-parse-params.rb modified: .scripts/circle-behat.rb new file: tests/behat-parse-params.rb * Update selenium google drivers. REF https://jira.govdelivery.com/browse/CIVIC-4312 Fixes bug. * Fix clamav tests. * Run fix-permissions after deploy. REF CIVIC-4312 Some recline tests are failing because public://general directory is not accessible. * Disable clamav completely. REF CIVIC-4212. * Add assets folder, enable clamav tests. * Fix artifacts folder and run one failing scenario. * Consolidate all files in one place. MinkExtesion is not suite aware so only knows the location of one files folder per profile. I could have done a PR to fix this in MinkExtension but instead I've decided that the easiest course of action is to use a convention of files/ location and symlink back to appropriate sections as needed. TODO: maybe as a good deed I should consider doing a PR to make MinkExtension suite aware. * Cleaup cirle.yml * Update references to data_starter. * Use default file path. Since now by convention all folders are tests files folder are the same we can reference the in the same way. * Fix test. --- .gitignore | 3 + circle.yml | 37 +----- config/tests/behat.custom.yml | 12 ++ .../features/bootstrap/CustomContext.php | 22 ++++ config/tests/features/custom.feature | 13 ++ dkan/.ahoy/.scripts/behat-parse-params.rb | 20 +++ dkan/.ahoy/.scripts/circle-behat.rb | 5 +- dkan/.ahoy/tests/behat-parse-params.rb | 39 ++++++ dkan/test/behat.yml | 2 +- dkan/test/features/widgets.feature | 6 +- .../{ => dkan}/Polling_Places_Madison.csv | 0 dkan/test/files/{ => dkan}/actionplan.pdf | Bin .../{ => dkan}/district_centerpoints_0.csv | 0 dkan/test/files/{ => dkan}/dkan_logo.png | Bin tests/assets/gitignore | 1 + tests/behat.circleci.yml | 7 +- tests/behat.dkan_starter.yml | 43 +++++++ tests/behat.docker.yml | 7 +- tests/behat.yml | 121 ------------------ tests/features | 1 - tests/features/bootstrap/custom | 1 + tests/features/bootstrap/dkan | 1 + .../tests => tests}/features/general.feature | 0 .../features/resources.feature | 4 +- tests/files/custom | 1 + tests/files/dkan | 1 + tests/files/{ => dkan_starter}/eicarcom.html | 0 .../{ => dkan_starter}/postvaccinedeaths.csv | 0 28 files changed, 185 insertions(+), 162 deletions(-) create mode 100644 config/tests/behat.custom.yml create mode 100644 config/tests/features/bootstrap/CustomContext.php create mode 100644 config/tests/features/custom.feature create mode 100644 dkan/.ahoy/tests/behat-parse-params.rb rename dkan/test/files/{ => dkan}/Polling_Places_Madison.csv (100%) rename dkan/test/files/{ => dkan}/actionplan.pdf (100%) rename dkan/test/files/{ => dkan}/district_centerpoints_0.csv (100%) rename dkan/test/files/{ => dkan}/dkan_logo.png (100%) create mode 100644 tests/assets/gitignore create mode 100644 tests/behat.dkan_starter.yml delete mode 100644 tests/behat.yml delete mode 120000 tests/features create mode 120000 tests/features/bootstrap/custom create mode 120000 tests/features/bootstrap/dkan rename {config/tests => tests}/features/general.feature (100%) rename {config/tests => tests}/features/resources.feature (89%) create mode 120000 tests/files/custom create mode 120000 tests/files/dkan rename tests/files/{ => dkan_starter}/eicarcom.html (100%) rename tests/files/{ => dkan_starter}/postvaccinedeaths.csv (100%) diff --git a/.gitignore b/.gitignore index ee35e31a7..17c248a5c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ /docroot/sites/default/**/files /docroot/sites/default/**/private +tests/assets/* +dkan/test/assets/* + # Ignore the dkan test composer folder. /docroot/profiles/dkan/test/vendor diff --git a/circle.yml b/circle.yml index 466063d98..93f7d63b3 100644 --- a/circle.yml +++ b/circle.yml @@ -1,23 +1,16 @@ ## Customize the test machine machine: - - #timezone: - # America/New_York # Set the timezone - - # Version of ruby to use php: version: '5.6.22' - # Override /etc/hosts - #hosts: - #circlehost: 127.0.0.1 - #dev.mycompany.com: 127.0.0.1 - # Add some environment variables environment: PATH: $PATH:$HOME/.config/composer/vendor/bin - # For xvfb / selenium setup (not sure why) - #DISPLAY: ':99.0' + DATABASE_URL: mysql://ubuntu:@127.0.0.1:3306/circle_test + # Timeouts issues happen when selenium tries to spawn a new chrome + # instance. I've nail that down to this selenium issue + # https://github.com/SeleniumHQ/docker-selenium/issues/87 + DBUS_SESSION_BUS_ADDRESS: /dev/null ## Customize checkout ## Note: Only post is supported. checkout: @@ -27,19 +20,8 @@ checkout: ## Customize dependencies dependencies: - - # we automatically cache and restore many dependencies between - # builds. If you need to, you can add custom paths to cache: - #cache_directories: - # - "custom_1" # relative to the build directory - # - "~/custom_2" # relative to the user's home directory cache_directories: - #- "dkan/test/vendor" - #- "~/.composer" - "~/.drush" - # Disable caching sql install backups for now. - #- "backups" - #- "dkan/test/sites/default" pre: - rm /opt/circleci/php/$(phpenv global)/etc/conf.d/xdebug.ini - echo "memory_limit = 256M" > $PHPENV_ROOT/versions/$(phpenv global)/etc/conf.d/memory.ini @@ -58,10 +40,6 @@ dependencies: - 'ahoy drush --yes runserver :8888': background: true - # Setup display for selenium - #- sh -e /etc/init.d/xvfb start - #- sleep 3 - - wget http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar - java -jar selenium-server-standalone-2.53.1.jar -p 4444 : background: true @@ -72,10 +50,9 @@ dependencies: ## Customize test commands test: override: - - ruby dkan/.ahoy/.scripts/circle-behat.rb docroot/profiles/dkan/test/features --tags='~@customizable&&~@fixme&&~@testBug': + - BEHAT_FOLDER=$HOME/$CIRCLE_PROJECT_REPONAME/tests ruby dkan/.ahoy/.scripts/circle-behat.rb dkan/test/features tests/features config/tests/features --tags='~@customizable&&~@fixme&&~@testBug': timeout: 1200 parallel: true - post: - - echo $CIRCLE_ARTIFACTS; cp -av dkan/test/assets $CIRCLE_ARTIFACTS: + - echo $CIRCLE_ARTIFACTS; cp -av tests/assets $CIRCLE_ARTIFACTS: parallel: true diff --git a/config/tests/behat.custom.yml b/config/tests/behat.custom.yml new file mode 100644 index 000000000..63b583096 --- /dev/null +++ b/config/tests/behat.custom.yml @@ -0,0 +1,12 @@ +# behat.yml +default: + suites: + custom: + paths: + - %paths.base%/../config/tests/features + contexts: + - CustomContext + - FeatureContext #Temporary overrides only! + - Drupal\DrupalExtension\Context\MinkContext + - Drupal\DrupalExtension\Context\DrupalContext + - Drupal\DrupalExtension\Context\MessageContext diff --git a/config/tests/features/bootstrap/CustomContext.php b/config/tests/features/bootstrap/CustomContext.php new file mode 100644 index 000000000..b947ea199 --- /dev/null +++ b/config/tests/features/bootstrap/CustomContext.php @@ -0,0 +1,22 @@ + files, :params => params} end +def behat_parse_suite file + default = "dkan_starter" + + return default if file.nil? or file.empty? + + key = file.split('/').reverse[3] + + return default if key.nil? + + types = { + :dkan => "dkan", + :config => "custom", + } + + if types[key.to_sym] + types[key.to_sym] + else + default + end +end diff --git a/dkan/.ahoy/.scripts/circle-behat.rb b/dkan/.ahoy/.scripts/circle-behat.rb index dcf97eeb7..d4b63cbea 100644 --- a/dkan/.ahoy/.scripts/circle-behat.rb +++ b/dkan/.ahoy/.scripts/circle-behat.rb @@ -28,9 +28,10 @@ files[CIRCLE_NODE_INDEX].each_index do |i| file = Pathname(files[CIRCLE_NODE_INDEX][i]).realpath.to_s - puts "RUNNING: ahoy dkan test #{file} --format=pretty --out=std --format=junit --out='#{CIRCLE_ARTIFACTS}/junit' #{params} --colors" + suite = behat_parse_suite(file) + puts "RUNNING: ahoy dkan test #{file} --suite=#{suite} --format=pretty --out=std --format=junit --out='#{CIRCLE_ARTIFACTS}/junit' #{params} --colors" IO.popen( - "ahoy dkan test #{file} --format=pretty --out=std --format=junit --out='#{CIRCLE_ARTIFACTS}/junit' #{params} --colors" + "ahoy dkan test #{file} --suite=#{suite} --format=pretty --out=std --format=junit --out='#{CIRCLE_ARTIFACTS}/junit' #{params} --colors" ) do |io| while line = io.gets print line diff --git a/dkan/.ahoy/tests/behat-parse-params.rb b/dkan/.ahoy/tests/behat-parse-params.rb new file mode 100644 index 000000000..73d36fabf --- /dev/null +++ b/dkan/.ahoy/tests/behat-parse-params.rb @@ -0,0 +1,39 @@ +require "minitest/autorun" +require "./.scripts/behat-parse-params.rb" + +class TestBehatParseParams < MiniTest::Unit::TestCase + + def test_behat_parse_suite + # return dkan for dkan features + expected = "dkan" + actual = behat_parse_suite "/var/www/dkan/test/features/my.feature" + assert_equal expected, actual + + expected = "dkan" + actual = behat_parse_suite "dkan/test/features/my.feature" + assert_equal expected, actual + + # returns custom for custom features. + expected = "custom" + actual = behat_parse_suite "/var/www/config/tests/features/my.feature" + assert_equal expected, actual + + expected = "custom" + actual = behat_parse_suite "config/tests/features/my.feature" + assert_equal expected, actual + + # returns dkan_starter for dkan_starter features or by default + expected = "dkan_starter" + actual = behat_parse_suite "/var/www/tests/features/my.feature" + assert_equal expected, actual + + expected = "dkan_starter" + actual = behat_parse_suite "tests/features/my.feature" + assert_equal expected, actual + + expected = "dkan_starter" + actual = behat_parse_suite nil + assert_equal expected, actual + end + +end diff --git a/dkan/test/behat.yml b/dkan/test/behat.yml index b379f6f0c..9d05f796e 100644 --- a/dkan/test/behat.yml +++ b/dkan/test/behat.yml @@ -1,6 +1,6 @@ default: suites: - default: + dkan: contexts: - FeatureContext #Temporary overrides only! - Drupal\DrupalExtension\Context\MinkContext diff --git a/dkan/test/features/widgets.feature b/dkan/test/features/widgets.feature index a9cd68cbb..15c70ef3a 100644 --- a/dkan/test/features/widgets.feature +++ b/dkan/test/features/widgets.feature @@ -36,7 +36,7 @@ Feature: Widgets Scenario: Adds "New File Widget" block to home page using panels ipe editor When I click on the text " Add file" And I wait for "Configure new Add file" - And I attach the drupal file "actionplan.pdf" to "files[field_basic_file_file_und_0]" + And I attach the drupal file "dkan/actionplan.pdf" to "files[field_basic_file_file_und_0]" And I press "Finish" And I wait and press "Save" Then I should see "actionplan.pdf" @@ -45,7 +45,7 @@ Feature: Widgets When I click on the text " Add image" And I wait for "Configure new Add image" And I fill in "field_basic_image_caption[und][0][value]" with "dkan logo image test" - And I attach the drupal file "dkan_logo.png" to "files[field_basic_image_image_und_0]" + And I attach the drupal file "dkan/dkan_logo.png" to "files[field_basic_image_image_und_0]" And I press "Finish" And I wait and press "Save" Then I should see "dkan logo image test" @@ -105,7 +105,7 @@ Feature: Widgets And I wait for "Configure new Add spotlight" And I fill in "field_basic_spotlight_items[und][0][title]" with "First spot" And I fill in "field_basic_spotlight_items[und][0][link]" with "http://demo.getdkan.com" - And I attach the drupal file "dkan_logo.png" to "files[field_basic_spotlight_items_und_0_fid]" + And I attach the drupal file "dkan/dkan_logo.png" to "files[field_basic_spotlight_items_und_0_fid]" And I press "Finish" And I wait and press "Save" And I wait for "First spot" diff --git a/dkan/test/files/Polling_Places_Madison.csv b/dkan/test/files/dkan/Polling_Places_Madison.csv similarity index 100% rename from dkan/test/files/Polling_Places_Madison.csv rename to dkan/test/files/dkan/Polling_Places_Madison.csv diff --git a/dkan/test/files/actionplan.pdf b/dkan/test/files/dkan/actionplan.pdf similarity index 100% rename from dkan/test/files/actionplan.pdf rename to dkan/test/files/dkan/actionplan.pdf diff --git a/dkan/test/files/district_centerpoints_0.csv b/dkan/test/files/dkan/district_centerpoints_0.csv similarity index 100% rename from dkan/test/files/district_centerpoints_0.csv rename to dkan/test/files/dkan/district_centerpoints_0.csv diff --git a/dkan/test/files/dkan_logo.png b/dkan/test/files/dkan/dkan_logo.png similarity index 100% rename from dkan/test/files/dkan_logo.png rename to dkan/test/files/dkan/dkan_logo.png diff --git a/tests/assets/gitignore b/tests/assets/gitignore new file mode 100644 index 000000000..72e8ffc0d --- /dev/null +++ b/tests/assets/gitignore @@ -0,0 +1 @@ +* diff --git a/tests/behat.circleci.yml b/tests/behat.circleci.yml index e86b2f2a7..44f26addf 100644 --- a/tests/behat.circleci.yml +++ b/tests/behat.circleci.yml @@ -1,5 +1,10 @@ imports: - - behat.yml + # dkan is the default profile + - ../dkan/test/behat.yml + # data_stater will override dkan + - behat.dkan_starter.yml + # custom has the last say + - ../config/tests/behat.custom.yml default: extensions: diff --git a/tests/behat.dkan_starter.yml b/tests/behat.dkan_starter.yml new file mode 100644 index 000000000..e9f6d8956 --- /dev/null +++ b/tests/behat.dkan_starter.yml @@ -0,0 +1,43 @@ +# this default param refers to a profile level configuration +default: + # autoloads can only be handled in behat using PS-0 at the profile level + # otherwise use composer.json and PS-3 + autoload: + # PS-0 forces us to use a symlink inside of the profile level bootstrap + - %paths.base%/features/bootstrap/custom + - %paths.base%/features/bootstrap/dkan + - %paths.base%/features/bootstrap + suites: + # this default parram is for a suite level configuration + dkan_starter: + paths: + - %paths.base%/features + contexts: + - FeatureContext + - Drupal\DrupalExtension\Context\MinkContext + - Drupal\DrupalExtension\Context\DrupalContext + - Drupal\DrupalExtension\Context\MessageContext + - Drupal\DrupalExtension\Context\MarkupContext + - Drupal\DKANExtension\Context\DKANContext + - Drupal\DKANExtension\Context\MailContext + - Drupal\DKANExtension\Context\PageContext + - Drupal\DKANExtension\Context\GroupContext + - Drupal\DKANExtension\Context\WorkflowContext + - Drupal\DKANExtension\Context\DatasetContext + - Drupal\DKANExtension\Context\DataDashboardContext + - Drupal\DKANExtension\Context\ResourceContext + - Drupal\DKANExtension\Context\DatastoreContext + - Drupal\DKANExtension\Context\SearchAPIContext: + search_forms: + default: + form_css: '#dkan-sitewide-dataset-search-form' + form_field: 'edit-search' + form_button: 'edit-submit' + results_css: '.view-dkan-datasets' + result_item_css: '.views-row' + - Devinci\DevinciExtension\Context\JavascriptContext: + maximum_wait: 30 + dkan: + # handle dkan path here to maintain backwards compatibility + paths: + - %paths.base%/../dkan/test/features diff --git a/tests/behat.docker.yml b/tests/behat.docker.yml index bb5f93fa0..2a75370bb 100644 --- a/tests/behat.docker.yml +++ b/tests/behat.docker.yml @@ -1,5 +1,10 @@ imports: - - behat.yml + # dkan is the default profile + - ../dkan/test/behat.yml + # data_stater will override dkan + - behat.dkan_starter.yml + # custom has the last say + - ../config/tests/behat.custom.yml default: extensions: diff --git a/tests/behat.yml b/tests/behat.yml deleted file mode 100644 index 0b90709ec..000000000 --- a/tests/behat.yml +++ /dev/null @@ -1,121 +0,0 @@ -# behat.yml - -default: - suites: - default: - contexts: - - FeatureContext #Temporary overrides only! - - Drupal\DrupalExtension\Context\MinkContext - - Drupal\DrupalExtension\Context\DrupalContext - - Drupal\DrupalExtension\Context\MessageContext - - Drupal\DKANExtension\Context\DKANContext - - Drupal\DKANExtension\Context\MailContext - - Drupal\DKANExtension\Context\PageContext - - Drupal\DKANExtension\Context\GroupContext - - Drupal\DKANExtension\Context\WorkflowContext - - Drupal\DKANExtension\Context\DatasetContext - - Drupal\DKANExtension\Context\DataDashboardContext - - Drupal\DKANExtension\Context\SearchAPIContext: - search_forms: - default: - form_css: '#dkan-sitewide-dataset-search-form' - form_field: 'edit-search' - form_button: 'edit-submit' - results_css: '.view-dkan-datasets' - result_item_css: '.views-row' - - Drupal\DKANExtension\Context\ResourceContext - - Drupal\DKANExtension\Context\DatastoreContext - - Devinci\DevinciExtension\Context\DebugContext: - asset_dump_path: %paths.base%/assets - - Devinci\DevinciExtension\Context\JavascriptContext: - maximum_wait: 30 - formatters: - pretty: - output_styles: - comment: [default, default , [conceal]] - gherkin: - filters: - tags: ~@fixme - extensions: - Behat\MinkExtension: - goutte: - guzzle_parameters: - verify: false - ssl.certificate_authority: false - curl.options: - CURLOPT_SSL_VERIFYPEER: false - CURLOPT_CERTINFO: false - CURLOPT_TIMEOUT: 120 - selenium2: ~ - default_session: 'goutte' - javascript_session: 'selenium2' - browser_name: chrome - files_path: %paths.base%/files - Drupal\DrupalExtension: - blackbox: ~ - drupal: - #TODO Abstract this out. - drupal_root: %paths.base%/../docroot - api_driver: 'drupal' - # @todo fixup these regions for use with new theme. Updated navigation only - region_map: - content: ".region-content" - toolbar: ".tabs--primary" - footer: "#footer" - header: "#header" - modal: "#modalContent" - left header: "#header-left" - right header: "#header-right" - right sidebar: "#column-right" - dashboards: ".view-data-dashboards table tbody" - navigation: '.navigation-wrapper' - breadcrumb: '.breadcrumb' - left_sidebar: '.panel-col-first' - search_area: '.panel-col-last' - dropdown_links: '.comment-main .links.inline.dropdown-menu' - comment: '.comment-main' - navigation: '.navigation-wrapper' - primary tabs: '.tabs--primary' - group subscribe: '.group-subscribe-message' - group block: '.pane-views-group-block-block' - group members: '.view-id-dkan_og_extras_group_members' - facet container: '.radix-layouts-sidebar' - filter by resource format: '.facetapi-facet-field-resourcesfield-format' - filter by author: '.facetapi-facet-author' - filter by tag: '.facetapi-facet-field-tags' - social: '.pane-dkan-sitewide-dkan-sitewide-social' - other access: '.pane-dkan-sitewide-dkan-sitewide-other-access' - datasets: '.view-dkan-datasets' - user profile: '.pane-dkan-sitewide-profile-page-dkan-user-summary' - user page: '.main' - user command center: '.pane-dkan-sitewide-profile-page-dkan-user-summary' - tabs: '.field-group-htabs-wrapper' - content: '.view-content' - groups: '.view-content' - search content results: '.content' - user content: '.view-user-profile-search' - content search: '.form-item-query' - user block: '.pane-views-user-profile-fields-block' - text: - log_out: "Log out" - log_in: "Log in" - selectors: - message_selector: '.alert' - error_message_selector: '.alert.alert-error' - success_message_selector: '.alert.alert-success' - Drupal\DKANExtension: - some_param: test - -docker: - extensions: - Behat\MinkExtension: - base_url: http://web - #base_url: http://datastarter.local - selenium2: - wd_host: http://browser:4444/wd/hub - #wd_host: http://192.168.10.1:4444/wd/hub - browser: chrome - #browser: firefox - Drupal\DrupalExtension: - drupal: - drupal_root: '/var/www/docroot' diff --git a/tests/features b/tests/features deleted file mode 120000 index a021fa634..000000000 --- a/tests/features +++ /dev/null @@ -1 +0,0 @@ -../config/tests/features \ No newline at end of file diff --git a/tests/features/bootstrap/custom b/tests/features/bootstrap/custom new file mode 120000 index 000000000..a8acf1ae1 --- /dev/null +++ b/tests/features/bootstrap/custom @@ -0,0 +1 @@ +../../../config/tests/features/bootstrap/ \ No newline at end of file diff --git a/tests/features/bootstrap/dkan b/tests/features/bootstrap/dkan new file mode 120000 index 000000000..8c7686cc3 --- /dev/null +++ b/tests/features/bootstrap/dkan @@ -0,0 +1 @@ +../../../dkan/test/features/bootstrap/ \ No newline at end of file diff --git a/config/tests/features/general.feature b/tests/features/general.feature similarity index 100% rename from config/tests/features/general.feature rename to tests/features/general.feature diff --git a/config/tests/features/resources.feature b/tests/features/resources.feature similarity index 89% rename from config/tests/features/resources.feature rename to tests/features/resources.feature index 843735ddb..32c6f10b6 100644 --- a/config/tests/features/resources.feature +++ b/tests/features/resources.feature @@ -29,7 +29,7 @@ Feature: Resources And I am on "Resource 01" page When I click "Edit" And I click "Upload" - And I attach the file "postvaccinedeaths.csv" to "field_upload[und][0][resup]" using file resup + And I attach the file "dkan_starter/postvaccinedeaths.csv" to "field_upload[und][0][resup]" using file resup And I wait for the file upload to finish And I press "Save" Then I should see "Resource Resource 01 has been updated" @@ -42,7 +42,7 @@ Feature: Resources And I am on "Resource 01" page And I click "Edit" And I click "Upload" - When I attach the file "eicarcom.html" to "field_upload[und][0][resup]" using file resup + When I attach the file "dkan_starter/eicarcom.html" to "field_upload[und][0][resup]" using file resup And I wait for the file upload to finish Then I should see "A virus has been detected in the file. The file will not be accepted." And I press "Save" diff --git a/tests/files/custom b/tests/files/custom new file mode 120000 index 000000000..af805f5e8 --- /dev/null +++ b/tests/files/custom @@ -0,0 +1 @@ +../../config/tests/files \ No newline at end of file diff --git a/tests/files/dkan b/tests/files/dkan new file mode 120000 index 000000000..b16b20c81 --- /dev/null +++ b/tests/files/dkan @@ -0,0 +1 @@ +../../dkan/test/files/dkan \ No newline at end of file diff --git a/tests/files/eicarcom.html b/tests/files/dkan_starter/eicarcom.html similarity index 100% rename from tests/files/eicarcom.html rename to tests/files/dkan_starter/eicarcom.html diff --git a/tests/files/postvaccinedeaths.csv b/tests/files/dkan_starter/postvaccinedeaths.csv similarity index 100% rename from tests/files/postvaccinedeaths.csv rename to tests/files/dkan_starter/postvaccinedeaths.csv