Commit Graph
1044 Commits
Author SHA1 Message Date
Carl Eberhard e68c90329a QA: allow grunt watch on qunit tests, add stubs for metrics-logger and hda-base 2014-04-11 13:34:06 -04:00
Carl Eberhard 588f9712e2 QA: update anon API tests due to d46493c 2014-04-11 10:20:09 -04:00
Greg Von Kuster 8bce650dda Add a new tool shed mercurial utility module named hg_util.py and begin to extract hg related utility functions out of the shed_util_common.py module. Enhance the functions that display the mercurial changeset rev and hash string to display one or the other or both. Display only the rev and not the hash string on the prominent grids in the tool shed, but continue to display the hash string on admin grids. 2014-04-10 17:11:01 -04:00
John Chilton 7b2c20cc46 Outline workflow editor tests. 2014-04-10 13:31:48 -05:00
Greg Von Kuster 9c29c424d9 Fix in the tool shed install and test framework for a recently relocated function. 2014-04-10 07:20:27 -04:00
Greg Von Kuster 27e60943bf The basis of this change set is to provide some fixes to certain Tool Shed functions for supporting changing HTTP protocols over time (ie.e, https <-> http). In doing this, I've refactored several functions and moved most of the Tool Shed <-> Galaxy URL munging functions to the Tool Shed's common_util.py module. Ive renamed the munging functions to clarify what each of them does. Several duplicate functions have been eliminated from the code as well. 2014-04-09 10:11:48 -04:00
Carl Eberhard 2187795562 QA: upgrade browser testing framework and tests to use casperjs 1.1-beta3 and phantomjs 1.9.2 2014-04-07 13:27:55 -04:00
Carl Eberhard 5245708a2f merge next-stable 2014-04-07 10:11:07 -04:00
Carl Eberhard b5b2635b0a Fix encoding/serialization of returned data from HDA create API 2014-04-07 10:10:26 -04:00
John Chilton bb9634e7ee Unit testing framework for client code.
This work is based on QUnit and tests are runnable in-browser without any external dependencies or via command-line using grunt and PhantomJS. See README.txt in `test/qunit` directory for more information on how to run tests.

A test case is defined by an HTML and JavaScript source file. The file `test-common.js` will bootstrap most of the minimal HTML needed for qunit and configure require so nearly all testing logic is isolated into test js file. An example test is included that demonstrates how to build tests using requirejs's `define` and target backbone components. Tests can target non-backbone code as well.

Sinon is included for stubbing out server interactions, etc... when testing backbone components. This seems to be a popular fallback for backbone projects not using Jasmine.
2014-04-03 16:20:59 -05:00
Greg Von Kuster ffa19b77a5 Add a new RepositoryGridFilterManager to the Tool Shed framework to support filtering the repositories displayed in the many Tool Shed grids. The current filters are CERTIFIED_LEVEL_ONE, CERTIFIED_LEVEL_ONE_SUITE and CERTIFIED_LEVEL_TWO, CERTIFIED_LEVEL_TWO_SUITE. The "level one" filters display repositories or suites that have been certified by the Tool Shed's install and test framework. The "level two" filters are not yet supported (the query enhancements are trivial, but not yet done) since no repositories in the test or main Tool Shed have been certified at this level (this level requires reviews and approvals by IUC members). When set, filters are stored in session cookies. Filters are easy to set. The Javascript event handler (e.g. checking a filter checkbox) would make a call something like: trans.app.repository_grid_filter_manager.set_filter( trans.app.repository_grid_filter_manager.filters.CERTIFIED_LEVEL_ONE ). 2014-04-02 15:18:40 -04:00
Greg Von Kuster a1c9b006e8 Really fix broken tool shed functional test. 2014-03-30 16:35:44 -04:00
John Chilton d590921b6f Add unit test for extra primary dataset collection.
Tests overridding various output properties (ext, dbkey, name, visible) with file name and galaxy.json, collecting from new_file_path versus job_working_directory, setting job output associations, and logic related to adding outputs to copied histories.
2014-03-28 18:33:03 -05:00
Carl Eberhard 5c02088a6f History/HDA API: normalize exceptions and exception codes; Fix ability to history/view a history shared with another user 2014-03-27 12:17:18 -04:00
John Chilton c0d365b386 Merged in jmchilton/galaxy-central-fork-1 (pull request #350)
Make requests dependency mandatory for testing
2014-03-26 16:22:34 -05:00
John Chilton 03303e51f2 Merged in jmchilton/galaxy-central-fork-1 (pull request #348)
Enhance workflows API to allow extracting workflow from history.
2014-03-26 16:21:15 -05:00
Dave Bouvier aa5eed03e8 Add check to ensure that repositories cannot be created unless at least one category has been defined. 2014-03-26 10:11:54 -04:00
Carl Eberhard 18aebddc48 History/HDA API: begin normalizing exceptions and return codes; Browser testing: update and expand history/hda testing, add importable/published permissions testing, transfer upload functions to api module 2014-03-25 16:59:27 -04:00
John Chilton 34e76f3360 Drop functional test for jobs that fails randomly. 2014-03-20 16:15:20 -05:00
John Chilton ccafc2de5a Drop unit incorrect unit tests added in 410a13e and 01933aa.
Workflow run template was causing these methods to be called wrong (and has been for a LONG time), this in turn caused me to misunderstand what the spec for how other_values in tool parameters should operate when writing the tests.

The real underlying bug should be fixed with 55cf8bb.
2014-03-20 16:12:52 -05:00
Dave Bouvier df5bf71009 Functional test script for installing, updating, uninstalling, and reinstalling a repository. 2014-03-20 16:53:25 -04:00
Dave Bouvier 6997b1d7ad Functional test script for granting admin privileges on a repository. 2014-03-20 15:28:26 -04:00
John Chilton c02c19011a Force use of requests in API tests, eliminate hacked together compatibility layer. 2014-03-20 10:43:57 -05:00
Carl Eberhard fe45f5b408 Testing: update browser tests to use new empty history message 2014-03-19 14:19:23 -04:00
John Chilton c425907780 Merged in jmchilton/galaxy-central-fork-1 (pull request #347)
Check ftype attribute (if defined) on test output datasets.
2014-03-18 12:42:23 -05:00
John Chilton fea5843942 Add ability to extract workflow from a history to workflows API. 2014-03-17 10:44:09 -05:00
John Chilton e892a28b1a Start work on stand-alone module for extracting workflows from histories.
In particular, this moves get_job_dict out of workflow controller. I am making big changes to this downstream in dataset collection work so I want unit tests - additionally get_job_dict isn't really a great name for what this becomes - so I am renaming it to summarize.
2014-03-17 10:44:09 -05:00
John Chilton cb40e02a51 Add tool functional test for parallelism with optional inputs.
This functionality is broken without patch from pull request #334. To run this broken test:

% # First two exports are optional but speed up testing and force newest test framework.
% export GALAXY_TEST_DEFAULT_INTERACTOR=api;
% export GALAXY_TEST_DB_TEMPLATE=https://github.com/jmchilton/galaxy-bootstrap/raw/master/src/main/resources/com/github/jmchilton/galaxybootstrap/universe.sqlite
% ./run_functional_tests.sh -framework -id parallelism_optional
2014-03-16 20:41:42 -05:00
John Chilton 76d3c7aece PEP-8 fixes, var name fixes, and unit tests for SecurityHelper.
Tests cover nearly all functionality - in particular newly added per-kind key generation.
2014-03-16 19:55:47 -05:00
John Chilton 8d1b6a8c74 Check ftype attribute (if defined) on test output datasets.
Only works for newer API driven tests.
2014-03-14 10:12:41 -05:00
Dave Bouvier 6ca1e39d6a More informative logging when the env.sh file doesn't meet expectations. 2014-03-07 10:38:16 -05:00
John Chilton 28749c8c80 Merged in jmchilton/galaxy-central-fork-1 (pull request #342)
Refactor History Contents to Support Multiple Types
2014-03-04 07:25:07 -06:00
John Chilton be13bd26a7 Test cases for filtering tool parameters on other parameter values.
Includes test case that is broken without JJ's contributions in pull request #343.
2014-02-28 14:49:46 -06:00
John Chilton fb9d65f76e Add test cases for need_late_validation of select parameters.
Two of these fail without JJ's work in pull request 336, additionally these verify 336 doesn't break GATK support for instance.
2014-02-28 12:42:30 -06:00
Greg Von Kuster 32a8bfe9e1 Minor fixes for installing tool dependencies and counting repositories processed during the tool shed's install and test runs. 2014-02-28 08:52:52 -05:00
John Chilton 77a0d8f277 Start rework of API test mixin TestsDataset into an plain object.
Mirroring the newer WorkflowPopulator and LibraryPopulator.
2014-02-27 18:06:36 -06:00
John Chilton 347e4dd046 Infrastructure for library API testing.
Doesn't really test libraries extensively, but adds enough infrastructure to enable a library dataset to history copy test via API.
2014-02-27 18:06:36 -06:00
John Chilton a18dbc0a07 Initial work on test cases for history contents API. 2014-02-27 18:06:36 -06:00
Greg Von Kuster 913b91a3a7 Variable name fix for the tool shed's install and test framework. 2014-02-25 08:52:11 -05:00
Greg Von Kuster 81ccc0e3b9 Keep track of the time taken to install and test each repository in the Tool Shed's install and test framework. 2014-02-24 11:58:58 -05:00
John Chilton 4f2e94251c Introduce DatasetMatcher to simplify DatasetToolParameter...
This reduces code duplication related dataset_collectors now and abstracts out important functionality I reuse further to collect dataset collections downstream.

Was originally added in 28d43f4 as DatasetParamContext and backed out of right away. I have reworked it so that it no longer breaks implicit conversion, the relevant classes and methods have less generic names, and it has a healthy set of test cases.

In addition to basic tests on matching datasets to parameters, selections, and implicit conversions - these tests include testing of dataset security inconjuction with data_destination tools as well as filtering data parameters on other data parameters.
2014-02-21 22:09:57 -06:00
John Chilton f661553201 Rearrange unit tests.
Move tests that were in tests/unit but could logically be placed into tests/unit/tools or tests/unit/jobs into these directory.
2014-02-21 22:09:57 -06:00
John Chilton ec849c3741 Unit tests for various data tool parameter handling.
Test optional datasets can be used in tool evaluation (in test_evaluation.py).

Add test_data_parameters.py which test many random DataToolParameter behaviors. Test various paths to DataToolParameter.to_python - including recently enhanced ability to use optional dataset with 'multiple=True' data parameters. Test filtering on datatypes, implicit conversion options (both existing conversions and new ones) both when building HTML forms and picking intial values for workflows. Test special handling of hidden datasets. Tests picking intial datasets when optional and without repeats when used in subsequent calls.
2014-02-21 22:09:57 -06:00
Dave Bouvier a9210d976f Fix the install database connection specification for the install and test framework. 2014-02-21 16:05:53 -05:00
John Chilton 11eb55edff Fix Python 2.7ism in test_evaluation.py. 2014-02-21 14:57:09 -06:00
Dave Bouvier 7a1ec4e819 Merge bugfix from stable. 2014-02-21 13:17:21 -05:00
Dave Bouvier ae5f9444be Fix for certain cases where the tool test results' installation_errors dict would be populated with incorrect values. 2014-02-21 13:16:48 -05:00
Dave Bouvier c71b65a170 Fix missing import in install and test framework. 2014-02-21 08:57:49 -05:00
John Chilton a70419971f Add functional tests for @kellrott's workflow usage additions. 2014-02-20 20:27:26 -06:00
John Chilton 9a06cdd454 Fix mock-requests PUT action.
Should fix failing history import/export test on buildbot server that doesn't have requests dependency available.
2014-02-20 15:28:06 -06:00