Releases: ThomasAitken/Scrapy-Testmaster
New Setting
Added "TESTMASTER_IGNORE_SPIDER_ARGS" setting.
Final Fix to Config Management
Uncovered an old bug preventing the application of the header inclusion-exclusion rule in the case of the input request, and cleaned up deepcopy logic for separating validation/cleansed results from the results for testcase-writing.
Small fix to unittest validation
A change to request and item cleaning brought with it a bug. Resolved here
Result is Cleaned before Evaluation on Parse/Update
Previously, fields like "SKIPPED_FIELDS" were being ignored outside of the context of unittests. No longer!
First Major Release
Version 1.0. Validation occurs with unittest syntax, various minor fixes, better testing set-up, new command: clear
Alternate Project Name Issue Resolved
All commands can now handle an inner project name differing from the outer directory. The directory structure has not changed, but this alteration has made this more attractive.
Added Example Project
Added an example project to more concretely demonstrate some of the affordances of this library. Updated the README to explain this example project, and also corrected an error in my description of how to produce a valid FormRequest using the REQUESTS_TO_ADD field in a local config file. Finally, cleaned up some ugly code in middleware.py, and made a small change in utils.py which will hopefully resolve the bug whereby it was impossible to update spiders with custom arguments that were edited within the spider's init function.
Update overwrite fix
Fixed bug whereby the update
command was observing the max fixtures value in overwrites (i.e. refusing to write over a fixture if the # of fixtures >= the max fixtures value).
Another tweak to parse to account for another possible case.
Discovered an edge case where a problem was arising for the parse command. If you tried to trigger testmaster parse
with depth > 1 and specifying a callback which outputs one or more requests which directly inherit the callback value from the initial request (i.e. request.callback = response.request.callback), then the callback value was being set to a function within parse.py (prepare_request.callback
), rather than the appropriate function of the spider.
Custom Tests Fix
Because of some Iterator silliness, only the first custom validation method was being tried previously. Now resolved.