aboutsummaryrefslogtreecommitdiffstats
path: root/spec/services
AgeCommit message (Collapse)Author
2017-12-14Refs: #5281@2h; Code Analysis first bugfixRobert
- Rebased #5006 upoon master and created #5281 from #5006 - Setup regression test based on client provided input - Fixed bug with multiple spurious directory occurances
2017-12-14Refs: #5006@12h;Robert
Implementing allowed vs foreign line lookup for the zip service - Adapting `lib/stif/netex_file.rb` to expose the already implemented matching - `app/services/zip_service.rb` augmented to check for allowed lines and returning forbidden lines - Specs with fixtures and using the beforementioned new zip support in the specs - Fixture directories for the new specs
2017-12-14Refs: #5006@3h;Robert
Zip Support for Specs, allowing to create zip archives in memory * create zip archive from hash or directory tree * Metaspecs -- commented out - for potential refactoring of Zip Support - as readable documentation on how to use Zip Support
2017-10-24Refs: #4633@0.5h;Robert
Speced and implemented ZipService to return additional directories in the entry's `spurious` field.
2017-08-25HTTPService spec: Remove upload mock expectationsTeddy Wing
These relied on the previous behaviour of `#post_resource` handling uploads. This is no longer the case. Instead, you have to call `HTTPService.upload` manually and pass the result to `#post_resource` via the `params` argument (like in `WorkbenchImportWorker#params`).
2017-08-25Remove `RetryService`Teddy Wing
This is no longer being used as the `WorkbenchImportWorker` was refactored and it was decided that we don't want to enable retries for imports. For example, imagine you have an hour-long import that fails after 50 minutes. We retry three times and now we've wasted 2.5 hours of your time just to tell you that the import failed. Thus the decision was to remove it.
2017-08-21Refs: #4273@20h; Reverse Engeneeiring RubyZip fixed ZipServiceRobert
- Replzed Lazy Enum over get_next_entry and group by with explicit looping and yielding to an instance level enumerator that yields streams per subdir (wich represents a referential). - Fixtures and Specs that use a REAL usecase. Next: Get rid of metadata kludge (should fix failing specs)
2017-08-03Merge branch '1726-WorkbenchImport-for-multi-Netex-import'Robert
2017-08-03Merge pull request #50 from ↵Robert Dober
af83/3511-cron-job-to-notify-parent-WorkbenchImport-of-sub-import-status--rb201708011853 3511 cron job to notify parent workbench import of sub import status rb201708011853
2017-08-02Hotfix for Jenkins, removed specs needing `unzip`Robert
2017-08-02ParentImportNotifier spec: Extract `let` for `workbench_import`Teddy Wing
Make Robert happy :) Refs #3511
2017-08-01Unneeded FileService Implementation and Specs removed (deliberately after ↵Robert
merge to keep a reference in feature branch)
2017-08-01Add a service that notifies parent imports of sub-import statusTeddy Wing
A new service, `ParentImportNotifier`, will be called by a Cron job every 5 minutes. This service will query all finished sub-imports that haven't yet notified their parent, and tell them to do so. factories/workbench_imports.rb: Add a `WorkbenchImport` factory. This is currently incomplete. We'll want to correctly initialise the `file` attribute eventually. import.rb: factories/imports.rb: In order to get the test setup to work correctly, we skip the `before_create` callback on `Import`. This is because that callback initialises `status` to "new". We want to be able to set any status value in our tests to test things properly. Thus the callback messes with our buttermilk. For all imports created by the factory, skip this callback. In order to skip the callback, I had to put it in its own method and pass the method name to `#skip_callback`. That's why the callback is now in a new method in `Import`. Adds an empty `#notify_parent` method in `Import`. For now this doesn't do anything, but eventually it will be filled in to perform the actual notification. I this changeset, all we're doing is setting up the connecting logic to notify the right things from the Cron job. import_spec.rb: Remove the `.class_name` validation because we removed that previously in `Import`. The `belongs_to` is now a polymorphic association, with no class name specified. parent_import_notifier_spec.rb: Needed to use `create` instead of `build_stubbed` in a lot of these cases so that I could validate the query. Really don't like this because now this set of tests is SUPER SLOW. If you have any ideas for how to speed it up, let's do that. Refs #3511
2017-08-01Refs: #3507@2h; CR Step 4Robert
- Added tests for HTTPService (regression) - Removed some dead code (Workbench model spec, Import factory) - Changed front_end_host to rails_host in config
2017-07-31Refs: #3507@3h; CR finishedRobert
2017-07-31Refs: #3507@2h CR 2nd legRobert
2017-07-31Refs: #3507_1726@6h Code ReviewRobert
2017-07-27Refs: 3507@2.5h; Specing WorkbenchImportWorker failure and DB behaviorRobert
- speced and implemented Import instance behavior (status, total_steps, current_step) - failure behavior and it's impact to the above
2017-07-27Fixes: #3507@1.5h Retries & Error Handling in WorkbenchImportWorkerRobert
2017-07-27Refs: #3507@0.25h; Added information to retry callbacks in RetryService (for ↵Robert
logging)
2017-07-26Refs: #3507@1.5h; RetryService speced and implmentedRobert
2017-07-26Refs: #3507@4h; Finished Basic WorkbenchImportWorkerRobert
- speced but missing error treatment
2017-07-25Refs: #3507;20h Specing and Implementing the ZipServiceRobert