Does not overwrite cached files, and refactors the test suite
Refactors the happy path tests to reduce redundancy
Fixes a mistake - not sure why the tests passed before the last commit - and refactors the rest of the test suite
Extracts the cache functionality into a new class. The downloader should not be in charge of the locally cached files
Fills out the CacheManager class with a suite of tests
Refactoring to reduce duplication
Adds dependency injection of the CacheManager. I think this will make the downloader class more flexible
Extracts code about the remote file handling to a RemoteManager class
Moves the RemoteManager class into a new repository package
Adds tests for the RemoteManager class. The downloader keeps getting simpler
Removes the open method from the public API. Tests the error handling.
Renamed the file_downloader module, it is likely to contain more classes on the theme
Reorganises all the tests into their respective packages. I hope it will aid reuse, and later extraction.
Renames the test suite config file to avoid collisions
Some more housekeeping for the package