* #10 - Creating auxiliary client class to generate configuration class based on cachet's component list.
* Updating the python version in codacy to reduce false positives
* Moving some of the cachet operations to the client class to clean up the configuration class and making better constants
* Refactoring status to have proper classes and adding more tests. Refactoring the requests tests to use requests-mock.
* Removing unused imports from test_scheduler
* Adding more tests and the ability to run the client from command line
* Updating README and client arg parsing
* Fixing broken unit tests
* feat(multihreading): each url has it's own thread
* Fixing broken unit tests
* Improving readability when there are multiple URLs registerd and creating new action to upload metrics
* Improving error message when there's no file found
* Bumping the version
Co-authored-by: Alex Berenshtein <aberenshtein@yotpo.com>
* Return status as integer
During the first start the if statement on line 237 does not get evaluated correctly and will not "return"
Therefore by any restart the first evaluation triggers a update even if the original status is same.
* Prevent unecessery push
By a case where allowed_fails > 0 and one failure is received the url monitor pushes a unnecessary update as the component state was not changed, resulting in a notification of "component is operational", but in fact the component was still operation before the update.
This creates another api call (get) towards the cachet, but it is a better trade-off to prevent unnecessary notifications for end-users.
During the first start the if statement on line 237 does not get evaluated correctly and will not "return"
Therefore by any restart the first evaluation triggers a update even if the original status is same.
* Add header option
* Add header option
* Add unit test for headers
* Add client header
* Remove environ for HEADER
environ does not support dictionaries, so HEADER can't be passed.
* Migrating to python 3.7.2, but docker image is not working properly.
Need to continue investigating why it's not properly running.
* Trying to fix the build and fixing logging in the scheduler initialization.
* Trying to fix the build
* Collecting test results
* Fixing the dockerfile
* Updating the development dependencies