Fixes#180
URL middleware unused, but retained in expectation that we will need it shortly.
Fixed a bit of lint, mostly by reformatting or commenting out currently unused code.
* Add empty filter case
* Filtering dataframes moved to engine instead of rest
* minor changes from PR review
* Minor fixes from PR review
Pass {} instead of none if no filter
chain exceptions
typos
First cut at test for stateManager/world. Test data for REST responses factored out into separate file for shared use by Universe and World tests. Also cleaned up some debugging code.
* Use HTTPStatus for all responses
More informative than just the code as an int
* Fill out REST error handling
* Test error routes
* Use HTTP Status for tests too
* factor mime type request into function
* Better mimetype errors
* 404 -> 400 error for bad key
REST API now requires that the server sort all dataframe responses by dimension index (var or obs index), allowing the client (front-end) to assume responses will be sorted. Given that the dataframe usually has a natural ordering, and the server gets to arbitrarily assign indices, this is the most computationally efficient design.
This PR includes changes to the REST API spec, and removing the explicit sort in the front-end code.
Jest tests for part of util/stateManager
* reorganize test directories
* lint
* add Jest config to eslint
* add Jest config to eslint
* lint
* fix babel configuration for tests
* start at kvCache tests
* reorganize test directories
* lint
* add Jest config to eslint
* add Jest config to eslint
* lint
* fix babel configuration for tests
* start at kvCache tests
* fix cache flush bug manifest by new test cases
* new kvCache tests
* skeletal universe test
* fix race in test case
* more universe test cases
* Upgrade version of scanpy
* /data/var
This works for everything except the case where there is only one gene. Anndata flattens X when there is only one var thus causing the transpose to fail.
* Fix edge case when an axis (obs/var) only contains 1 element