diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ea29183 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + time: "04:00" + open-pull-requests-limit: 10 + allow: + - dependency-type: direct + - dependency-type: indirect + ignore: + - dependency-name: pdoc3 + versions: + - "> 0.7.0, < 0.8" + - dependency-name: pdoc3 + versions: + - ">= 0.7.a, < 0.8" diff --git a/CHANGELOG.md b/CHANGELOG.md index d726b89..1fa0751 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog +## [v0.30.0](https://github.com/SebRut/pygrocy/tree/v0.30.0) (2021-08-23) + +[Full Changelog](https://github.com/SebRut/pygrocy/compare/v0.29.0...v0.30.0) + +**Implemented enhancements:** + +- Done time should be optional, as it is for execute\_chore call [\#176](https://github.com/SebRut/pygrocy/issues/176) +- Add debug mode [\#167](https://github.com/SebRut/pygrocy/issues/167) + +**Fixed bugs:** + +- Sending no time when tracking chore gives an error [\#175](https://github.com/SebRut/pygrocy/issues/175) +- Lovelace not accessible [\#158](https://github.com/SebRut/pygrocy/issues/158) + +**Closed issues:** + +- grocy.update\_generic Entity\_type not callable [\#159](https://github.com/SebRut/pygrocy/issues/159) + +**Merged pull requests:** + +- make done\_time optional for complete\_task [\#181](https://github.com/SebRut/pygrocy/pull/181) ([SebRut](https://github.com/SebRut)) +- pin down tzlocal to \<3.0 [\#180](https://github.com/SebRut/pygrocy/pull/180) ([SebRut](https://github.com/SebRut)) +- add execute chore tests [\#179](https://github.com/SebRut/pygrocy/pull/179) ([SebRut](https://github.com/SebRut)) +- pin dependencies in setup.py [\#178](https://github.com/SebRut/pygrocy/pull/178) ([SebRut](https://github.com/SebRut)) +- update & fix tests for grocy 3.1.0 [\#177](https://github.com/SebRut/pygrocy/pull/177) ([SebRut](https://github.com/SebRut)) +- Update responses requirement from ~=0.13.3 to ~=0.13.4 [\#173](https://github.com/SebRut/pygrocy/pull/173) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Update iso8601 requirement from ~=0.1.14 to ~=0.1.16 [\#171](https://github.com/SebRut/pygrocy/pull/171) ([dependabot[bot]](https://github.com/apps/dependabot)) +- switch from general requests logging to custom http logging events [\#169](https://github.com/SebRut/pygrocy/pull/169) ([SebRut](https://github.com/SebRut)) +- add basic request/response logging capability [\#168](https://github.com/SebRut/pygrocy/pull/168) ([SebRut](https://github.com/SebRut)) +- Upgrade to GitHub-native Dependabot [\#166](https://github.com/SebRut/pygrocy/pull/166) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) +- Update responses requirement from ~=0.13.2 to ~=0.13.3 [\#165](https://github.com/SebRut/pygrocy/pull/165) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) +- Update responses requirement from ~=0.13.1 to ~=0.13.2 [\#164](https://github.com/SebRut/pygrocy/pull/164) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) +- add tojson helper method [\#163](https://github.com/SebRut/pygrocy/pull/163) ([SebRut](https://github.com/SebRut)) +- Update responses requirement from ~=0.13.0 to ~=0.13.1 [\#162](https://github.com/SebRut/pygrocy/pull/162) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) +- Update responses requirement from ~=0.12.1 to ~=0.13.0 [\#161](https://github.com/SebRut/pygrocy/pull/161) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) + ## [v0.29.0](https://github.com/SebRut/pygrocy/tree/v0.29.0) (2021-03-03) [Full Changelog](https://github.com/SebRut/pygrocy/compare/v0.28.0...v0.29.0) @@ -214,7 +250,6 @@ - Update coveralls requirement from ~=2.0.0 to ~=2.1.1 [\#104](https://github.com/SebRut/pygrocy/pull/104) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) - Update pdoc3 requirement from ~=0.8.1 to ~=0.8.3 [\#102](https://github.com/SebRut/pygrocy/pull/102) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) - Update responses requirement from ~=0.10.14 to ~=0.10.15 [\#101](https://github.com/SebRut/pygrocy/pull/101) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) -- add all fields from chore details api call [\#98](https://github.com/SebRut/pygrocy/pull/98) ([SebRut](https://github.com/SebRut)) ## [v0.15.0](https://github.com/SebRut/pygrocy/tree/v0.15.0) (2020-05-25) @@ -238,6 +273,7 @@ - upgrade used grocy version [\#100](https://github.com/SebRut/pygrocy/pull/100) ([SebRut](https://github.com/SebRut)) - Feature/91 task api [\#99](https://github.com/SebRut/pygrocy/pull/99) ([SebRut](https://github.com/SebRut)) +- add all fields from chore details api call [\#98](https://github.com/SebRut/pygrocy/pull/98) ([SebRut](https://github.com/SebRut)) - finish abstraction from api [\#96](https://github.com/SebRut/pygrocy/pull/96) ([SebRut](https://github.com/SebRut)) - fix travis build [\#93](https://github.com/SebRut/pygrocy/pull/93) ([SebRut](https://github.com/SebRut)) - Update responses requirement from ~=0.10.12 to ~=0.10.14 [\#89](https://github.com/SebRut/pygrocy/pull/89) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview)) diff --git a/README.md b/README.md index 6defed5..e270dab 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,10 @@ [![Development Build Status](https://api.travis-ci.com/SebRut/pygrocy.svg?branch=develop)](https://travis-ci.com/SebRut/pygrocy) [![PyPI](https://img.shields.io/pypi/v/pygrocy.svg)](https://pypi.org/project/pygrocy/) ![Python Version](https://img.shields.io/badge/python-3.6%20%7C%203.8%20%7C%203.9-blue) -![Grocy Version](https://img.shields.io/badge/grocy-3.0.1-yellow) +![Grocy Version](https://img.shields.io/badge/grocy-3.1.0-yellow) [![Coverage Status](https://coveralls.io/repos/github/SebRut/pygrocy/badge.svg?branch=master)](https://coveralls.io/github/SebRut/pygrocy?branch=master) [![CodeFactor](https://www.codefactor.io/repository/github/sebrut/pygrocy/badge)](https://www.codefactor.io/repository/github/sebrut/pygrocy) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit) - [Documentation](https://sebrut.github.io/pygrocy/) ## Installation @@ -34,5 +33,9 @@ for entry in grocy.stock(): print("{} in stock for product id {}".format(entry.available_amount, entry.id)) ``` +# Support + +If you need help using pygrocy check the [discussions](https://github.com/SebRut/pygrocy/issues) section. Feel free to create an issue for feature requests, bugs and errors in the library. + ## Development testing You need tox and Python 3.6/8/9 to run the tests. Navigate to the root dir of `pygrocy` and execute `tox` to run the tests. diff --git a/pygrocy/base.py b/pygrocy/base.py index fe714d8..96b852c 100644 --- a/pygrocy/base.py +++ b/pygrocy/base.py @@ -1,10 +1,20 @@ +import json + + def get_val(obj): - if hasattr(obj, 'as_dict'): - as_attr = getattr(obj, 'as_dict') + if hasattr(obj, "as_dict"): + as_attr = getattr(obj, "as_dict") return as_attr() return obj class DataModel(object): + def toJson(self): + return json.dumps(self.as_dict()) + def as_dict(self): - return {k: get_val(getattr(self, k)) for k, v in self.__class__.__dict__.items() if isinstance(v, property)} + return { + k: get_val(getattr(self, k)) + for k, v in self.__class__.__dict__.items() + if isinstance(v, property) + } diff --git a/pygrocy/data_models/product.py b/pygrocy/data_models/product.py index 1fae201..bb98038 100644 --- a/pygrocy/data_models/product.py +++ b/pygrocy/data_models/product.py @@ -7,13 +7,22 @@ GrocyApiClient, LocationData, MissingProductResponse, - ProductBarcode, + ProductBarcodeData, ProductData, ProductDetailsResponse, ShoppingListItem, ) +class ProductBarcode(DataModel): + def __init__(self, data: ProductBarcodeData): + self._barcode = data.barcode + + @property + def barcode(self) -> str: + return self._barcode + + class Product(DataModel): def __init__(self, data): self._init_empty() @@ -55,7 +64,7 @@ def _init_from_MissingProductResponse(self, response: MissingProductResponse): def _init_from_ProductDetailsResponse(self, response: ProductDetailsResponse): self._available_amount = response.stock_amount self._best_before_date = response.next_best_before_date - self._barcodes = response.barcodes + self._barcodes = [ProductBarcode(data) for data in response.barcodes] if response.product: self._init_from_ProductData(response.product) diff --git a/pygrocy/grocy.py b/pygrocy/grocy.py index 83f22f9..adc79e6 100644 --- a/pygrocy/grocy.py +++ b/pygrocy/grocy.py @@ -1,3 +1,4 @@ +import logging from datetime import datetime from typing import List @@ -25,12 +26,23 @@ from .grocy_api_client import UserDto # noqa: F401 from .grocy_api_client import DEFAULT_PORT_NUMBER, GrocyApiClient, TransactionType +_LOGGER = logging.getLogger(__name__) +_LOGGER.setLevel(logging.INFO) + class Grocy(object): def __init__( - self, base_url, api_key, port: int = DEFAULT_PORT_NUMBER, verify_ssl=True + self, + base_url, + api_key, + port: int = DEFAULT_PORT_NUMBER, + verify_ssl=True, + debug=False, ): - self._api_client = GrocyApiClient(base_url, api_key, port, verify_ssl) + self._api_client = GrocyApiClient(base_url, api_key, port, verify_ssl, debug) + + if debug: + _LOGGER.setLevel(logging.DEBUG) def stock(self) -> List[Product]: raw_stock = self._api_client.get_stock() @@ -42,8 +54,8 @@ def expiring_products(self, get_details: bool = False) -> List[Product]: return self.due_products(get_details) def due_products(self, get_details: bool = False) -> List[Product]: - raw_due_prodcuts = self._api_client.get_volatile_stock().due_products - due_products = [Product(resp) for resp in raw_due_prodcuts] + raw_due_products = self._api_client.get_volatile_stock().due_products + due_products = [Product(resp) for resp in raw_due_products] if get_details: for item in due_products: @@ -183,7 +195,7 @@ def tasks(self) -> List[Task]: raw_tasks = self._api_client.get_tasks() return [Task(task) for task in raw_tasks] - def complete_task(self, task_id, done_time): + def complete_task(self, task_id, done_time: datetime = datetime.now()): return self._api_client.complete_task(task_id, done_time) def meal_plan(self, get_details: bool = False) -> List[MealPlanItem]: diff --git a/pygrocy/grocy_api_client.py b/pygrocy/grocy_api_client.py index e283ce9..4cb183b 100644 --- a/pygrocy/grocy_api_client.py +++ b/pygrocy/grocy_api_client.py @@ -1,5 +1,6 @@ import base64 import json +import logging from datetime import datetime from enum import Enum from typing import List @@ -19,6 +20,9 @@ DEFAULT_PORT_NUMBER = 9192 +_LOGGER = logging.getLogger(__name__) +_LOGGER.setLevel(logging.INFO) + class ShoppingListItem(object): def __init__(self, parsed_json): @@ -365,9 +369,9 @@ def missing_products(self) -> List[MissingProductResponse]: return self._missing_products -class ProductBarcode(object): +class ProductBarcodeData(object): def __init__(self, parsed_json): - self._barcode = parsed_json.get("barcode") + self._barcode = str(parsed_json.get("barcode")) @property def barcode(self) -> str: @@ -398,7 +402,7 @@ def __init__(self, parsed_json): def _parse_barcodes(self, parsed_json): barcodes_raw = parsed_json.get("product_barcodes", "") if barcodes_raw is not None: - self._barcodes = [ProductBarcode(barcode) for barcode in barcodes_raw] + self._barcodes = [ProductBarcodeData(barcode) for barcode in barcodes_raw] def _parse_location(self, parsed_json): raw_location = parsed_json.get("location") @@ -432,7 +436,7 @@ def last_price(self) -> float: return self._last_price @property - def barcodes(self) -> List[ProductBarcode]: + def barcodes(self) -> List[ProductBarcodeData]: return self._barcodes @property @@ -535,11 +539,25 @@ def __init__(self, parsed_json): ) +def _enable_debug_mode(): + _LOGGER.setLevel(logging.DEBUG) + + class GrocyApiClient(object): def __init__( - self, base_url, api_key, port: int = DEFAULT_PORT_NUMBER, verify_ssl=True + self, + base_url, + api_key, + port: int = DEFAULT_PORT_NUMBER, + verify_ssl=True, + debug=False, ): + if debug: + _enable_debug_mode() + self._base_url = "{}:{}/api/".format(base_url, port) + _LOGGER.debug(f"generated base url: {self._base_url}") + self._api_key = api_key self._verify_ssl = verify_ssl if self._api_key == "demo_mode": @@ -550,6 +568,11 @@ def __init__( def _do_get_request(self, end_url: str): req_url = urljoin(self._base_url, end_url) resp = requests.get(req_url, verify=self._verify_ssl, headers=self._headers) + + _LOGGER.debug("-->\tGET /%s", end_url) + _LOGGER.debug("<--\t%d for /%s", resp.status_code, end_url) + _LOGGER.debug("\t\t%s", resp.content) + if resp.status_code >= 400: raise GrocyError(resp) @@ -561,6 +584,12 @@ def _do_post_request(self, end_url: str, data: dict): resp = requests.post( req_url, verify=self._verify_ssl, headers=self._headers, json=data ) + + _LOGGER.debug("-->\tPOST /%s", end_url) + _LOGGER.debug("\t\t%s", data) + _LOGGER.debug("<--\t%d for /%s", resp.status_code, end_url) + _LOGGER.debug("\t\t%s", resp.content) + if resp.status_code >= 400: raise GrocyError(resp) if len(resp.content) > 0: @@ -578,6 +607,12 @@ def _do_put_request(self, end_url: str, data): resp = requests.put( req_url, verify=self._verify_ssl, headers=up_header, data=data ) + + _LOGGER.debug("-->\tPUT /%s", end_url) + _LOGGER.debug("\t\t%s", data) + _LOGGER.debug("<--\t%d for /%s", resp.status_code, end_url) + _LOGGER.debug("\t\t%s", resp.content) + if resp.status_code >= 400: raise GrocyError(resp) @@ -587,6 +622,11 @@ def _do_put_request(self, end_url: str, data): def _do_delete_request(self, end_url: str): req_url = urljoin(self._base_url, end_url) resp = requests.get(req_url, verify=self._verify_ssl, headers=self._headers) + + _LOGGER.debug("-->\tDELETE /%s", end_url) + _LOGGER.debug("<--\t%d for /%s", resp.status_code, end_url) + _LOGGER.debug("\t\t%s", resp.content) + if resp.status_code >= 400: raise GrocyError(resp) diff --git a/requirements-dev.txt b/requirements-dev.txt index bae9ff1..1f4c2a6 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,4 @@ -responses~=0.12.1 -tzlocal~=2.1 -iso8601~=0.1.14 +responses~=0.13.4 pre-commit isort pytest diff --git a/setup.py b/setup.py index b98bffc..2ab2e97 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="pygrocy", - version="0.29.0", + version="0.30.0", author="Sebastian Rutofski", author_email="kontakt@sebastian-rutofski.de", description="", @@ -14,7 +14,13 @@ url="https://github.com/sebrut/pygrocy", license="MIT", packages=setuptools.find_packages(), - install_requires=["requests", "iso8601", "pytz", "tzlocal", "deprecation"], + install_requires=[ + "requests", + "iso8601~=0.1.16", + "pytz~=2021.1", + "tzlocal>=2.1,<3.0", + "deprecation~=2.1.0", + ], classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", diff --git a/test/cassettes/test_battery/TestBattery.test_charge_battery.yaml b/test/cassettes/test_battery/TestBattery.test_charge_battery.yaml index 7776745..26e4f86 100644 --- a/test/cassettes/test_battery/TestBattery.test_charge_battery.yaml +++ b/test/cassettes/test_battery/TestBattery.test_charge_battery.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"tracked_time": "2021-02-13T21:43:24.942943+00:00"}' + body: '{"tracked_time": "2021-08-21T19:42:48.452104+00:00"}' headers: Accept-Encoding: - gzip, deflate @@ -11,7 +11,7 @@ interactions: Content-Type: - application/json User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: POST @@ -19,9 +19,9 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA3WMQQqAIBBFrxKzTnCm2ngZsXQhlYWNRER3z7Jty/9475/gLShAhBp6w+zioQvJ - gKMZRmc1+9lliSShkCSwqQhV2yjqshSXXQ/RGf7Ejc28/top2CU8ZzKnZbz3XxXSNF03xQBpFpQA - AAA= + H4sIAAAAAAAEA3WMQQqAIBQFrxJvraDWoryMmLqIUsN+RER3L6ptu/dgZg4MHlrWDL0lCmU3z2eg + Yt0YvKEhBmgooSQXLVeykp1ulG5aMJS8GVeCpQ9cyMb5l16Tz+mOCYZ3PvHPSes0nRfZ1FG0jgAA + AA== headers: Access-Control-Allow-Headers: - '*' @@ -36,13 +36,13 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 21:43:25 GMT + - Sat, 21 Aug 2021 19:42:48 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_battery/TestBattery.test_get_batteries_valid.yaml b/test/cassettes/test_battery/TestBattery.test_get_batteries_valid.yaml index 5030527..522f6a4 100644 --- a/test/cassettes/test_battery/TestBattery.test_get_batteries_valid.yaml +++ b/test/cassettes/test_battery/TestBattery.test_get_batteries_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,9 +15,10 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA72QuwrDMAxFfyV4jkGSExr7V0oxbmLa0MeQaEgp+ffaEGzwkHYqaLrco4N0fItx - EEagqMXZMfvpZVNwdzNbnlx/84Pl8eFDkYBAIklqK9SmQaO6gD79wtbPoeM4dPurmy4+IVrriCis - SJlWhxFrvYmpFMfgH2JVimOwJ0b4/WIglEASuoyki5tSHINdsc5bvr16E+MhI+vpA4WJUyDlAQAA + H4sIAAAAAAAEA6XRUQuCMBAH8K8i9+xgd3Pp9lUixtJRkvWgC4rou7dKk4FpEOzlD3f3427rG9QV + aExha7137dX0sbGdN7615cFVxtdHBxqIEzIuGfKE55pQyxxSOLmLN64LNdaH2nJv2537tCilGBIT + mJDQUoUH9/SNUoyG+AXlzwkkE1Q6Qy2Kf1ARoyHOoWHTn9HXcYjxYmwZNs1iNMRZVI0Tls7bo5iP + LQO6itEQJ9DTuWmWjKkv3DwAZYKjyzkCAAA= headers: Access-Control-Allow-Headers: - '*' @@ -32,13 +33,13 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 21:15:30 GMT + - Sat, 21 Aug 2021 19:42:48 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_battery/TestBattery.test_get_battery_details_valid.yaml b/test/cassettes/test_battery/TestBattery.test_get_battery_details_valid.yaml index e0062fd..2524b54 100644 --- a/test/cassettes/test_battery/TestBattery.test_get_battery_details_valid.yaml +++ b/test/cassettes/test_battery/TestBattery.test_get_battery_details_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,10 +15,11 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA0WPzWoDIRDHX0XmnIVVk1I99hlKe5SpDq2wq0EnaZaQd8/YtBQ8iL//l1f4QGZq - G/gr5AQeNOyg4EpyfXmg8ZKox5aPnGsR8I6tYeFNUUldmdlYkZw6pZAHfn1TjdbKpGIt3OoiNH5h - +yThUnbGJSTcukhnQa1+h9gIWfycV+qM61GY5OppNpO2Sju/194+iRoj5/NYp+G2gwU7h0f2GC+W - edJmMoc/y/N/d9ziQj3EeioMfi/fpAsHqcvrT/fvxDFhRDnnRpTVylh/cHLgdgf3L2b9LwEAAA== + H4sIAAAAAAAEA0WPQWrDMBBFryJmbYEl1QnSGbos7VJM5aEV2FKQJklNyN07blMKs3v89//c4B2Z + qW0QbpBnCGaAgitBgGdSha7qjw8wU08tnzjXIvgNW8PCm6Iyd2VH62CAc6c55h2/vKpGa2VSqRZu + dRGaPrF9kHApvOASZ9w6hHGAVq8xNUKWNOeVOuN6EolYjR6tNk4ZH55McAfRYOJ8kYXmPsCCneOv + V8Y/ApM2oxqPwZowHf9705YW6jHVc2EIB3mUvjhKWV5/mh/z9gG7ynuvjdXOKOvC5OXg/g0id9sR + LwEAAA== headers: Access-Control-Allow-Headers: - '*' @@ -33,13 +34,13 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 21:23:11 GMT + - Sat, 21 Aug 2021 19:42:48 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_error.yaml b/test/cassettes/test_chores/TestChores.test_execute_chore_invalid.yaml similarity index 70% rename from test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_error.yaml rename to test/cassettes/test_chores/TestChores.test_execute_chore_invalid.yaml index 398e46e..8811b32 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_error.yaml +++ b/test/cassettes/test_chores/TestChores.test_execute_chore_invalid.yaml @@ -1,13 +1,13 @@ interactions: - request: - body: '{"product_id": 3000, "list_id": null, "product_amount": null}' + body: '{"tracked_time": "2021-08-23T08:17:14.341685+00:00"}' headers: Accept-Encoding: - gzip, deflate Connection: - keep-alive Content-Length: - - '61' + - '52' Content-Type: - application/json User-Agent: @@ -15,10 +15,10 @@ interactions: accept: - application/json method: POST - uri: https://localhost/api/stock/shoppinglist/add-product + uri: https://localhost/api/chores/1000/execute response: body: - string: '{"error_message":"Product does not exist or is inactive"}' + string: '{"error_message":"Chore does not exist"}' headers: Access-Control-Allow-Headers: - '*' @@ -31,13 +31,13 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:37:31 GMT + - Mon, 23 Aug 2021 08:17:14 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 400 message: Bad Request diff --git a/test/cassettes/test_grocy/TestGrocy.test_get_tasks_valid.yaml b/test/cassettes/test_chores/TestChores.test_execute_chore_valid.yaml similarity index 53% rename from test/cassettes/test_grocy/TestGrocy.test_get_tasks_valid.yaml rename to test/cassettes/test_chores/TestChores.test_execute_chore_valid.yaml index dfc933f..b19bf11 100644 --- a/test/cassettes/test_grocy/TestGrocy.test_get_tasks_valid.yaml +++ b/test/cassettes/test_chores/TestChores.test_execute_chore_valid.yaml @@ -1,26 +1,27 @@ interactions: - request: - body: null + body: '{"tracked_time": "2021-08-23T08:17:14.341685+00:00"}' headers: Accept-Encoding: - gzip, deflate Connection: - keep-alive + Content-Length: + - '52' + Content-Type: + - application/json User-Agent: - python-requests/2.25.1 accept: - application/json - method: GET - uri: https://localhost/api/tasks + method: POST + uri: https://localhost/api/chores/1/execute response: body: string: !!binary | - H4sIAAAAAAAEA9VUTWvDMAz9K8bnBvLRZmt+QGHXsdsYxsRaappYwXZWwth/n8SSht3SkctuQvKz - 9Pz0/PoprZGVzOROOt0Bhc/Qa+tFPINotNcNCIPoqW4g1N720aKTlRvallIDKKMjw/I0T5P0MSlS - PoqOc3Ooou0gRN31M7AmUIN+VLfuOgTbODAqohoC+KXi8apqD4Sg4nLRrWNWirSs9kV1eJBfu4lQ - vhA6ob8I7YywXe/xg2h5rMeVhI5JdrifUEGQjQnxlZNCLzpcWLB1gvxlfn69jeff/56fO/yr+XkL - pvc/WVomLQK2A5tBvKMX17OOIiJ5hUJw4omzDVCOfMQGEhcYw3rSRz56l4t+HLmxauXCmreOl3Cd - avns/fXfwKYE3r4BnWLYgdoEAAA= + H4sIAAAAAAAEA3WNywrCMBBFf0XuOoUkCpb5mSEmAxbbRKYJUsR/lz5curtncc59Y0gg5w3ivajw + RgZVQ3xI4jpMAoK33nW27/z5ZHtyV3IXGKSShW8Lt1n0J2p5cVQJ9ZDnGqbn30LLawNkDfa5HR5O + buP4+QLriBPloAAAAA== headers: Access-Control-Allow-Headers: - '*' @@ -35,13 +36,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:24:36 GMT + - Mon, 23 Aug 2021 08:17:14 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_chores/TestChores.test_execute_chore_valid_with_data.yaml b/test/cassettes/test_chores/TestChores.test_execute_chore_valid_with_data.yaml new file mode 100644 index 0000000..5012525 --- /dev/null +++ b/test/cassettes/test_chores/TestChores.test_execute_chore_valid_with_data.yaml @@ -0,0 +1,49 @@ +interactions: +- request: + body: '{"tracked_time": "2020-12-01T15:00:00+00:00", "done_by": 1}' + headers: + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '59' + Content-Type: + - application/json + User-Agent: + - python-requests/2.25.1 + accept: + - application/json + method: POST + uri: https://localhost/api/chores/1/execute + response: + body: + string: !!binary | + H4sIAAAAAAAEA3WNywrCMBBFf0XuOoU0QSzzM0NMBiy2iUwTRMR/lz5curtncc59Y0yg3hvEW1Hh + jQyqhniXxHWcBQRnXd/ZoXP+ZAdyns4XGKSSha8vbovoT9Ty5KgS6iEvNcyPv4WW1wbIGuxzOzyc + 3Kbp8wVSZJlQoAAAAA== + headers: + Access-Control-Allow-Headers: + - '*' + Access-Control-Allow-Methods: + - GET, POST, PUT, DELETE, OPTIONS + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Mon, 23 Aug 2021 08:23:57 GMT + Server: + - nginx/1.20.1 + Transfer-Encoding: + - chunked + X-Powered-By: + - PHP/8.0.9 + status: + code: 200 + message: OK +version: 1 diff --git a/test/cassettes/test_chores/TestChores.test_get_chore_details.yaml b/test/cassettes/test_chores/TestChores.test_get_chore_details.yaml index 4dcd071..cc04d91 100644 --- a/test/cassettes/test_chores/TestChores.test_get_chore_details.yaml +++ b/test/cassettes/test_chores/TestChores.test_get_chore_details.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,14 +15,14 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA71Su27DMAz8FUOzDfiRJoHnjl07C6rEOEL1MPRIYgT591K2nKRAC3TqKB7vyOPp - SvjROiD9lUhBetKRkhimsUDe2NkU2p5BFNIU4QjFwJwAgx0CPHdyDNIa0puoVElGcNIKGqYxccWE - IpJXDoaomENKxgWbPOJtgyVnz5Q7YAGQJzX4wPSYwLqtq3pfNdui3vabrn/ZPQS4NQc5rFODY/yT - CpSg1qgJyfUsrJQ9gctP5r0cjAYT1vUcM8Jq7HyCVmHSlG3ZlRtEDVwChQvwmJzSpTkta2n04Oh8 - sRYbkeujBjo6KyIPuMuDlpdYocTJF8vNTNtowr263FGaAO7EFLLTqRgP8pQO25BbSRTzaCVZh5TZ - cq9d1dXrvfZIyTjli3qTacIaoB94qRx4Uk9mcuivoG3xjm8sH6TDOQuwrDwPfi78PcItCgrpR8Wm - LEmeZ42Sh+iAHqSCp5FodgnB4weZP8ojjvRl7u73VfvN/W/RJat37ym6n7wXCfg39/O03/zfvgDM - fl2XoQMAAA== + H4sIAAAAAAAEA61SuW7DMAz9FYOzAsROennu2LWzoEqMI1SHIclJjCD/XspH4gJN0aEjj/fI98gz + yL0PCPUZtIJ6w8AJSyG8iaMrrD+iKrQr0h6LRgSFDhgojDLoNmnvoHadMQxaDNornvo2Y1VPJFqu + AjadEYEgU12JPkJdlQyCP3IZUCQklLYYk7AtQat1Va7W1arcFOVLvS3rzeMNLr3b6WaemYKQn1wR + BffO9FCvM60x/oBhCESMunEWXZoXC8Ipb4lwUZpJoWQV27AtVR2eEscTyi5r5GNzXtTzLmLg2amK + ASFjZ5G3watOJtriBhoWmAu5f/JpahXWdy5ds6N72iUMB2GgJoOETPpAZpYXBkZEkpDlIjFNHpWr + 6mn26JmWnupcjsxEMcCUd8g/yJ3xwJTOEqYjv6L1xTvFhN/pQFPGwrjsgF8m/n607KLSsTWinyhh + OavVMnUB+U4bXIwkqaP1kV5ieI3bEfKTXLXTf3zTfu9gWeqsnA72k/Ki+m/tD79oH6bdU3/5Ag6u + hmKNAwAA headers: Access-Control-Allow-Headers: - '*' @@ -37,13 +37,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:45:41 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_chores/TestChores.test_get_chores_valid.yaml b/test/cassettes/test_chores/TestChores.test_get_chores_valid.yaml index 11a8450..d804760 100644 --- a/test/cassettes/test_chores/TestChores.test_get_chores_valid.yaml +++ b/test/cassettes/test_chores/TestChores.test_get_chores_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,13 +15,15 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA62UzW6DMBCEX8XiHCQDIQlce21vlXqoKuTiDbZC1hF2mkRV370bSvjpAVQayZcR - npU/z5jXT09LL/UCb+HlylSQ/ZIo9kDfH5TAAiRz5gSlZRqZU8DehVOVMXsyl8K6zFUi34HMnK5N - IQ+5zzd+EDC+SpdRGm9oJ8LZZWBpj3C0F86QH5022LqSJPGD0I8CFpIloUWuenQmyZIZLC90JN7O - aicIa3WB1wOY7GihqmHwWJZfi4YzJFOPs5M3zhIEDajpdtrlCpBtS2Mq8o0h8tWfEG8XE/Vd8xG9 - yGsJoyFhJxvCR3FCtqcY5S3FQlQScBRw7Ue8f9TJDBvAcOD6B2DYAS6HgJ1sAJ+pmE5pLNhJ6Vwx - JQ4HQMvMT2djp5jZMviA6kL3gE6Nkm/8OdEmPo8Z52m9aP588kF74yF6JyfQpdD0ZMYbHMxr8Lpf - izthroaYnZzApISfDEpxsUygZC8gEexVTqDPSZj+anfqdp3w2zfFWA7QiQUAAA== + H4sIAAAAAAAEA72Vy27bMBBFf4Xg2gJEyUojbdtlu2vRRRAIrDg2iUikQNJ1jCD/3tGLZdrUcoy2 + gDZjz8Nzz/Xo7okqQSu2oY00FuoXgeYd0Iq+l1zvQRBvjtA6ojTxEsg37qU1pqMb2nLna2958wCi + 9mosytKMJWmWpLeEldWWVfktZmp49DU4zOEec+ERmoNXRoeqsiwTliU5I1leFSU+WDW2rgWW1Ea3 + J1qlS6dQz51Tez2MN/XBgR0X0Ye2/XPmkEarIed5M6mQxSqEYFGhBY4Dxt0flG8kaLJrjbFrAuRv + EmCWjaVx1bUCINZJ8d91mrYP9IdwXvQDdIZ8GcTZ0J2yiHb6YlJzZB1/YM2xbiyMPAf2zvOuR9cs + BmBh/y02FMr1LT/NLWk8q1eNP6AFd6qFaOTzQieP6YRg/tEf+VGTDg0qFn/uuRWgz8JhSfYulnnV + nQucF1XXwkGDXQIH016DQ7K/jac4g2ectgZoGwMKwQzoM54ML5Xek6NUjSSS9z1oR8x0TQovidkR + +A72hBy1l2fJ4V0Jtrrorozk8iQtSJpW44P9ryX31rtSxMKEYEUYwRWeuvPH9ed/63IRsoRtY9P/ + LxFuYhFCsCICuuOT0YKfHOFakK8gNLghXBHmGnf8+q7658Lc/wAM46fSfQcAAA== headers: Access-Control-Allow-Headers: - '*' @@ -36,13 +38,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -54,7 +56,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -62,13 +64,13 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA41Sy27CMBD8lchnIiWh0JJr+ws9W8ZeiFU/Ij+ACPHvXWOnSQ+VKvnifczs7Oyd - 8ME6IP2dSEF60pINMUxjgLwPzJxBVMFeQflKmioMUB1ZGJy1GusEeO7kGKQ1pDdRqQ0ZwUkraJjG - hKCZiUypCWtLQrDJY2KHEWevlDtgAbBeavCB6RFzXdM1dfNWt/uq2fcv2373uvRza07yPLMFx/gX - FQhBrUGanjRPYKXsBVz5Mu/l2WgwoYyVJ12Ff4MauAUKN+AxCaO5Ls1oafTgaFpThsA+HzXQ0VkR - ecAZlr5CPqeWpjnCtI0mzFBlPdIEcBemsDsZwXiQl7TIljw2RDGPEpJkSE797Kmd9/SGLSVPeUbf - ljZhDdAjbmhlc1JTrP4AbatP/CPCSTrkyYms80m8Dvzfuj0CCulHxaYCSdZco+QhOqAnqWBFiWKz - Cx4P43kgix/pVJL6w+FQt129basOT+SAD6n+8i5Jzat+fAOYw2Oh8QIAAA== + H4sIAAAAAAAEA41Sy27DIBD8FYuzLRk7qWpf21/oGRHYxKg8LMBJrCj/3sWP2D1UqsQFdmdmZ5YH + EZ3zQNoHUZK0NCeWG7ySj47bC8gsuhvokCmbxQ6yE4+dd86QnEgIwqs+KmdJawetc9KDV06yOPaJ + wXA7cK1H7F0Kko+BtMeceHdjwgOPgN3KQIjc9AipyooWZVXQOqNNe6Bt/bahhbNndVm1oufim0mk + YM6iSFsmWq3dFfx04SGoizVg4zLQPOPu+TehhXtkcAcxJEts7kvzOTYE8CzFM1MgLgwGWO+dHERE + /Q03Sa+FDbK+cOMGG1eiJRZlI/gr11P8XER1xfjoMyeaBxw+GQUUf6VTvq/pvGM6S52JmbleYNJZ + YCfM5bXY5GJZ7icYl33hHfFn5VFlLsz+Jtn9w//XdUBCqUKv+bhQkr1Wr0QcPLCz0rCTRKtz+gE/ + w/Qptj2k75G8N01T0KqoaVbV7bHBg1J/7SxZnUN+/gBvfkZ84QIAAA== headers: Access-Control-Allow-Headers: - '*' @@ -83,13 +85,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -101,7 +103,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -109,14 +111,13 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA71Sy27DIBD8FYuzI/mRppGv7S/0jCisE1QMFuA0VpR/766NHR8aqace2dnZ3Znh - xuTZeWDNjWnFGlaxnFnRYYG9GRAWVBbPkH3pKM9gs9Y457FFQZBe91E7yxo7GJOzHrx2isexJ7Ia - cYqWOw+nwQiiJFyJMSD+ihXvvrn0ICIgTXcQouh6uqGoil1x3JWHrDg0+7p5oe7El862+rQsjV7I - L65wBHfWjEgupsHGuAv49BQh6JPtwMblOi+sch12bqBlMCvzKq/zPaIWrpHDFeRAQvncTMc6PgTw - fHKsxkbkhqED3nunBhnxlgctHbFAxEmGpWbRucHGtTrbqG0EfxEG2SXdKaO+kK8lu+fMiIBSSDpM - mSW/itWvI1ISzuU8vUo05SzwT3QqBU7TSUwK/R06l33gG8ut9rhnBuaTp8Xbwt8jPOBApUNvxJhG - su2uXss4eOCtNrBZiWLnEAJ+kOmjPOKgL4OOrL+lXn4LqX8WHUldtVN0v2nPCPg39dO2Z/rvPzDl - y2GhAwAA + H4sIAAAAAAAEA9VSSW7DMAz8isGzAlhO0MXX9gs9C6pEJ0JlydCSxgjy91JeEl8K9NqjRM5wZsgr + qJMPCO0VjIa2YeBkT094sygd6iqdsPoySZ3QVZ31PgADjVEFMyTjHbQuW8tgwGC8FmkcCliPxGLU + LuAxW1kgS13LMUL7zCD4b6ECyoQEMj3GJPuBkE3d8F3d7Pi+4q/tgbf7pwdaedeZ4zoyBam+hCYK + 4Z0doa0LrbX+jGF6yBjN0fXo0qorSKd9T4Sb0koKnDVszw5UdXhJAi+ocrEo5uYi1IscMYiSFGdA + yJh7FEPwOqtEKh6gScBaKP1LTEur7H126f47h2dcwnCWdiKXKpkzZclvDKyMZKHYRWK6Z1TfM3oh + 0UtdqJmZNjnBtHcoPimdecEku1hYlvyOva8+6E34zgSaMhdmsRN++/H3pZUUtYmDleNCCdtZg1Ep + BxSdsbgZSVbn6COdxHQajyWUI9l45/V6H8X7bwsrVv+H89sPmEga1YkDAAA= headers: Access-Control-Allow-Headers: - '*' @@ -131,13 +132,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -149,7 +150,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -157,14 +158,14 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA71Su27DMAz8FUOzDfiRJoHnjl07C6rEOEL1MPRIYgT591K2nKRAC3TqKB7vyOPp - SvjROiD9lUhBetKRkhimsUDe2NkU2p5BFNIU4QjFwJwAgx0CPHdyDNIa0puoVElGcNIKGqYxccWE - IpJXDoaomENKxgWbPOJtgyVnz5Q7YAGQJzX4wPSYwLqtq3pfNdui3vabrn/ZPQS4NQc5rFODY/yT - CpSg1qgJyfUsrJQ9gctP5r0cjAYT1vUcM8Jq7HyCVmHSlG3ZlRtEDVwChQvwmJzSpTkta2n04Oh8 - sRYbkeujBjo6KyIPuMuDlpdYocTJF8vNTNtowr263FGaAO7EFLLTqRgP8pQO25BbSRTzaCVZh5TZ - cq9d1dXrvfZIyTjli3qTacIaoB94qRx4Uk9mcuivoG3xjm8sH6TDOQuwrDwPfi78PcItCgrpR8Wm - LEmeZ42Sh+iAHqSCp5FodgnB4weZP8ojjvRl7u73VfvN/W/RJat37ym6n7wXCfg39/O03/zfvgDM - fl2XoQMAAA== + H4sIAAAAAAAEA61SuW7DMAz9FYOzAsROennu2LWzoEqMI1SHIclJjCD/XspH4gJN0aEjj/fI98gz + yL0PCPUZtIJ6w8AJSyG8iaMrrD+iKrQr0h6LRgSFDhgojDLoNmnvoHadMQxaDNornvo2Y1VPJFqu + AjadEYEgU12JPkJdlQyCP3IZUCQklLYYk7AtQat1Va7W1arcFOVLvS3rzeMNLr3b6WaemYKQn1wR + BffO9FCvM60x/oBhCESMunEWXZoXC8Ipb4lwUZpJoWQV27AtVR2eEscTyi5r5GNzXtTzLmLg2amK + ASFjZ5G3watOJtriBhoWmAu5f/JpahXWdy5ds6N72iUMB2GgJoOETPpAZpYXBkZEkpDlIjFNHpWr + 6mn26JmWnupcjsxEMcCUd8g/yJ3xwJTOEqYjv6L1xTvFhN/pQFPGwrjsgF8m/n607KLSsTWinyhh + OavVMnUB+U4bXIwkqaP1kV5ieI3bEfKTXLXTf3zTfu9gWeqsnA72k/Ki+m/tD79oH6bdU3/5Ag6u + hmKNAwAA headers: Access-Control-Allow-Headers: - '*' @@ -179,13 +180,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -197,7 +198,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -205,13 +206,13 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA41SQW7DIBD8CuKcSCSN09TnPqE9I4rXMSoGBDiJFeXvXQyO3UOlSr54dmdmZ5c7 - lZ31QOs7VQ2t6YFuqBE9AvSjAxI7Zc7k2inZkU44ByYQaxAGUsWO2JbABfxIemtih9QGgvTKRWUN - rc2g9YY68Mo2PI4uiU6NesTWgjdiDIhXiHh75dKDiIDtqocQRe+wtmd7tmWn7e5I2LE+vNTV68KX - 1rTqPJtFL+Q3b1CCW4M2NWWTsNYW5yy/IgR1Nj2YWKbKg67g36IGbpHDDeSQcvHcl2a0fAjgeVpc - lkBeGHrgzttmkBFnWHjFfC4tpBkRvR1MnKXKepSJ4C9CI3uHSYSM6pL2uKOPDdUiYIQUGdLt5j2x - 555OSCl1LrP6rtAaa4B/4YbK4ZN6SlOO/w69JZ/4j3CrPPrkQs45Ga+B/5/uiIKNCk6LsUjStZdT - Mg4eeKs0rCwxbL5CwIcxPZDlHumpPNO/bVlFGKunD63+ul2Kmlf9+AFyYJEsAwMAAA== + H4sIAAAAAAAEA41Sy27DIBD8FcTZkew8qpZzP6E9IwrrGBUDApzEivLvXYwdu4dKlbiw7MzszHKn + snMBKLtTrSg7VtSKHq/0owOSOm3P5Npp2ZFOeA82EmexDOSUOuJaAhcII+mdTR2tqIIog/ZJO0uZ + HYypqIegneJp9Jl0ajQjts51JcZI2amiwV25DCASYLPuISbRe0Ts632zq/e75kCaN3Zs2OFlRUtn + W31epFIQ8psrpODOogirM60xDmecLiJGfbY92DTPU0bclH8TWrglDjeQQ3bES1+ez/EhQuA5sEKB + uDj0wH1wapAJ9VfcJL08rJClIno32LQQzbFomyBchKGsqaiQSV8wveZRUSMiDp+NAoo/06mf6bxi + OvM7l4UZKSaYchb4F+ZSVo3l7GJe9zv0jnziHfGtDqhSHoq/Cb8t/H9dRyRUOnojxpmSbrW8lmkI + wFttYCOJVkv6ET/D9CnWPeTv8fR+2NUnUtdsOij1186y1RLy4wexp4rX8wIAAA== headers: Access-Control-Allow-Headers: - '*' @@ -226,13 +227,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -244,7 +245,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -252,13 +253,13 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA41Sy27DIBD8FYtzItlp85DP/YT2jChs4lUxIB5JrCj/3iVgxVVVqUeWmdmdnb0x - OVgPrL8xVKxnW7ZiRoxUYO8DNHFAc2ouA8qhGYRzYEKjBOqJYAqC9OgiWsN6k7ReMQcereJxcllg - BtaqElOYgd5euPQgIhAaRwhRjI4om3bTrtvDuts17a5/fem3e+pUBaQ1RzzNEtEL+cUVSXBraKCe - tQT1Vmt7Bl+fIgQ8mRFMrEOVORfln6IGrpHDFWTKtnjB5RktTwE8zzsqEsQLaQTuvFVJRprhyavN - 568naa6I0SYTZ6lqD00Efxaa2B05ETLiOa+xY/cV0yKQhWwZcky/93QgSv3nsqh3laasAf5JG6oZ - Z/Xspub8BqNtPuhN5SN66lM+is9H42Xh/9HtSFBhcFpMVZItezmUMXngR9SwaElmSwqBDuNxIM88 - 8qks3e/nK8nu/8ouWy2rvn8D344MJe4CAAA= + H4sIAAAAAAAEA41S0W7DIAz8lcjPqdS03bTleZ+wPSMGbmONAALSNqr67zMhUTNpk/aI8d35zr6B + 6lxAaG9AGtqnGqzs+QnvHVapI3uqLh2pruqk92hjpSWZEWrQGFUgn8hZaO1gTA0eAzkt0ugzwdI4 + V7Uc49IY3EWogDIhd1OPMcneM2S33TWb7W7T7KvmtT007f6ZlWYC5eyRTgtFClJ9Cc0UwlkeqN3W + EJwx7oxhesgY6WR7tGkeqMy4Kv8ktHhNAq+ohmxJlL48nxNDxCByOoWCcXHoUfjg9KAS6z9wk/Ty + 8YAsFdm7waaFaDZGNmE4SwNtU4NUic4cX3OvwcjIw2ejyOK/pPPC6cz/QhVmpphg2lkUn5xL2SuX + s4t5t2/Yu+qD34w/UmCV8lH8Tfh14f/rOuTDoOiNHGdKWGt5UmkIKI5kcCXJVkv6kY9hOorHHvJ5 + rL0flsvI3v/aWbZaQr5/A+DuqM3gAgAA headers: Access-Control-Allow-Headers: - '*' @@ -273,13 +274,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -291,7 +292,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -299,13 +300,13 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA41SwW7DIAz9FcS5lZJu66qcd91t046IgdugEoOANK2q/vtMIWsuk3bEvGe/9+wr - V70LwLsrN5p3fMtXHOVABf7RA0u9wQObeqN61kvvASNzyN4danmJTKJmX6ARYn4SVUNUwfhkHPIO - R2tX3EMwTot08bnpBHC0F0LW8p1XkcFNQgWQCQhuBohJDp44m2bTrJvdut2yZts9P3Uvr48GyuHe - HAg13DWtplkOQVKQ6ig0NRQOaWrHG6oGZ607QahPGaM54ACYqsYie1GeR5QPhHMScAY1Zpei4LJi - J8YIQeQYC5J4cRxA+OD0qBJpePDq8PnrQZorcnAjprlVTctggnCSltgtOZEqmVNOteW3FbcykoVs - GfIm59Sa39R2cySkVpXubaVphyC+KaF6Brl7dlNP4Q0Gxz7pTeW9CTSnfBSf98HLwv8Xmc9Nm+it - vNSWfDnLG5XGAGJvLCxGktmyhUhncj+Xxz7y4Szct818M9n9X7vLVkvUtx8vzWmgEQMAAA== + H4sIAAAAAAAEA41STW/CMAz9K1HORaKAEOt519027RhliaERqRMlKQUh/vucpoVeJu3oj/fs9+w7 + V60LwJs7N5o3+4qj7Cjkny2w1Bo8saE1qmWt9B4wMofsw6GWt8gkavYNGiHmkFdcQ1TB+GQc8gZ7 + ayvuIRinRbr5TDoAnO2NOqf0iJs6gxuECiATULvpICbZecJs1pt6td6s6i2r35pd3Wz3LwLl8GhO + 1NWNO1XDvA61pCDVWWgiFA5parOueHDWuguEMZAxmhN2gGnar6y8SM/0pYBwTQKuoPqsUJS+vK0T + fYQgsoGlk3Cx70D44HSvEs1/4cbRc+EFmTOycz2mmWjyyWCCcJGWN3XFpUrmQm7Wj4pbGWn5LBRo + +NOr9dOrw2wE7akKM1GMMO0QxA/5Uk5P6axiOv87dI59UUz4owk0pRSKvhG/TPz/eDsi1CZ6K28T + JV/O8kalPoA4GguLkSS1uB/pNcYXed0hP8tS+2H+k6z9r5tlqcXkxy/+qSp3AwMAAA== headers: Access-Control-Allow-Headers: - '*' @@ -320,13 +321,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:34:46 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_generic/TestGeneric.test_delete_generic_error.yaml b/test/cassettes/test_generic/TestGeneric.test_delete_generic_error.yaml index c56a6ae..a8be9e0 100644 --- a/test/cassettes/test_generic/TestGeneric.test_delete_generic_error.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_delete_generic_error.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -30,13 +30,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 13:12:37 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 404 message: Not Found diff --git a/test/cassettes/test_generic/TestGeneric.test_delete_generic_success.yaml b/test/cassettes/test_generic/TestGeneric.test_delete_generic_success.yaml index da02ff5..52be036 100644 --- a/test/cassettes/test_generic/TestGeneric.test_delete_generic_success.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_delete_generic_success.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,9 +15,9 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA0WNSwoCMRBEryJZO5CPCOYc7kNI2iGYz5DOICLe3W5HmV11Vb2ul0hRWGHEUVRf - gOTV413RGQFDT8tIrQpb15zJWsFFP7ilpVaT1JPSXG2VPfmTbqQCOHxZ/mAgaG796b5jjHjENFeI - bjS3IvQt4d3eHi50IILC/dG+aA7qYk/KmjO1mb0lyBG3rfcHvUz3sNEAAAA= + H4sIAAAAAAAEA0WN3QoCIRCFXyXm2gV/Isjn6F5Ep0XyZ3GUiOjd05bYu+HMd873huBBKwbZJgQN + N0sPAQw8kqtha6Fk0LnHOKKOxts2KcmlWLhchJxoySPj+2FaSEjNpu1fc6OylvoyUyQZWKKwZvSm + FdMJ6y8XDGp5Gldx0ON1jBwudRJXfRZaXYZ0Nu8Bo6fd8/kCH9CrIckAAAA= headers: Access-Control-Allow-Headers: - '*' @@ -32,13 +32,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 13:12:37 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_generic/TestGeneric.test_generic_add_invalid.yaml b/test/cassettes/test_generic/TestGeneric.test_generic_add_invalid.yaml index 781ed43..f3cd7d6 100644 --- a/test/cassettes/test_generic/TestGeneric.test_generic_add_invalid.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_generic_add_invalid.yaml @@ -11,7 +11,7 @@ interactions: Content-Type: - application/json User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: POST @@ -32,13 +32,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 13:07:14 GMT + - Sat, 21 Aug 2021 19:42:49 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 400 message: Bad Request diff --git a/test/cassettes/test_generic/TestGeneric.test_generic_add_valid.yaml b/test/cassettes/test_generic/TestGeneric.test_generic_add_valid.yaml index 87097cb..6eed861 100644 --- a/test/cassettes/test_generic/TestGeneric.test_generic_add_valid.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_generic_add_valid.yaml @@ -19,7 +19,7 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA6tWSi5KTSxJTYnPT8pKTS6Jz0xRslIyVaoFAFvm3pQZAAAA + H4sIAAAAAAAEA6tWSi5KTSxJTYnPT8pKTS6Jz0xRslIyU6oFAAJYmJYZAAAA headers: Access-Control-Allow-Headers: - '*' @@ -34,7 +34,7 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 13:06:48 GMT + - Mon, 10 May 2021 12:18:47 GMT Server: - nginx/1.18.0 Transfer-Encoding: diff --git a/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_data.yaml b/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_data.yaml index 36c6279..07a6d58 100644 --- a/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_data.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_data.yaml @@ -11,7 +11,7 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - '*/*' method: PUT @@ -32,13 +32,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 11:40:26 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 400 message: Bad Request diff --git a/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_id.yaml b/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_id.yaml index 8051a70..a925704 100644 --- a/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_id.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_generic_update_invalid_id.yaml @@ -18,28 +18,7 @@ interactions: uri: https://localhost/api/objects/batteries/1000 response: body: - string: '{"error_message":"Call to a member function update() on null","error_details":{"stack_trace":"#0 - \/var\/www\/vendor\/slim\/slim\/Slim\/Handlers\/Strategies\/RequestResponse.php(43): - Grocy\\Controllers\\GenericEntityApiController->EditObject()\n#1 \/var\/www\/vendor\/slim\/slim\/Slim\/Routing\/Route.php(384): - Slim\\Handlers\\Strategies\\RequestResponse->__invoke()\n#2 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(81): - Slim\\Routing\\Route->handle()\n#3 \/var\/www\/middleware\/JsonMiddleware.php(13): - Slim\\MiddlewareDispatcher->handle()\n#4 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(209): - Grocy\\Middleware\\JsonMiddleware->__invoke()\n#5 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(81): - class@anonymous->handle()\n#6 \/var\/www\/vendor\/slim\/slim\/Slim\/Routing\/Route.php(341): - Slim\\MiddlewareDispatcher->handle()\n#7 \/var\/www\/vendor\/slim\/slim\/Slim\/Routing\/RouteRunner.php(84): - Slim\\Routing\\Route->run()\n#8 \/var\/www\/middleware\/AuthMiddleware.php(48): - Slim\\Routing\\RouteRunner->handle()\n#9 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(313): - Grocy\\Middleware\\AuthMiddleware->__invoke()\n#10 \/var\/www\/vendor\/slim\/slim\/Slim\/Middleware\/RoutingMiddleware.php(59): - class@anonymous->handle()\n#11 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(147): - Slim\\Middleware\\RoutingMiddleware->process()\n#12 \/var\/www\/vendor\/slim\/slim\/Slim\/Middleware\/ErrorMiddleware.php(107): - class@anonymous->handle()\n#13 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(147): - Slim\\Middleware\\ErrorMiddleware->process()\n#14 \/var\/www\/middleware\/CorsMiddleware.php(30): - class@anonymous->handle()\n#15 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(313): - Grocy\\Middleware\\CorsMiddleware->__invoke()\n#16 \/var\/www\/vendor\/slim\/slim\/Slim\/MiddlewareDispatcher.php(81): - class@anonymous->handle()\n#17 \/var\/www\/vendor\/slim\/slim\/Slim\/App.php(215): - Slim\\MiddlewareDispatcher->handle()\n#18 \/var\/www\/vendor\/slim\/slim\/Slim\/App.php(199): - Slim\\App->handle()\n#19 \/var\/www\/app.php(94): Slim\\App->run()\n#20 \/var\/www\/public\/index.php(45): - require_once(''\/var\/www\/app.ph...'')\n#21 {main}","file":"\/var\/www\/controllers\/GenericEntityApiController.php","line":93}}' + string: '{"error_message":"Object not found"}' headers: Access-Control-Allow-Headers: - '*' @@ -52,14 +31,14 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 11:35:43 GMT + - Sun, 22 Aug 2021 08:34:18 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: - code: 500 - message: Internal Server Error + code: 400 + message: Bad Request version: 1 diff --git a/test/cassettes/test_generic/TestGeneric.test_generic_update_valid.yaml b/test/cassettes/test_generic/TestGeneric.test_generic_update_valid.yaml index 52629d9..7057e55 100644 --- a/test/cassettes/test_generic/TestGeneric.test_generic_update_valid.yaml +++ b/test/cassettes/test_generic/TestGeneric.test_generic_update_valid.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 11:25:56 GMT + - Mon, 10 May 2021 07:21:58 GMT Server: - nginx/1.18.0 X-Powered-By: diff --git a/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_valid.yaml b/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_valid.yaml index f0408fa..66862a4 100644 --- a/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_valid.yaml +++ b/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,11 +15,11 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA9WVyw6CMBBFf4V0DaYFn3yHO2NIQ6s24WVpNcb4784oKEjSpUkTFpNpb5kDd6a7 - O1GCpISRkAh+gyimMYtoHNE1pMytkZDTMlcQhF2QfSTvhayV+qKqY9sdVNUGVJUtipA0uhY2Ny/J - OMPL2lYGJHRG4eh+49kO9ur6muVaciNFZlQpW8PLZlAkSwK2SecsTZZwhIU6DkoWAgrBdz3Cji6G - xR+6DaRcdCjxhC6Z0DH8oC46lHhCN5/SoVlddCjxhG4xpUPnueiQ3hM6bMpx3zF0novOo75bTenQ - eS46j5yJ43/87+hgZr5G/MeHeB+8h7vLmGR7Um0ADw86eT/zv/o+84fLYf8E8//2HPwGAAA= + H4sIAAAAAAAEA83U3QqCMBQH8FeRcz1hm2a25+guQoaOGvjVnIVE795SKXO0yxh4MQ7nP/zB2Tnc + QRbACIKCD8CAYkpCTEOcAgI9tMLUlMilOaD5kM2BqZx1Ql1lferGS+pGm0TdlyWCVjVFn+ux/bvC + q6avNTD8abr0iz7V3LJcCa5FkWlZiU7zql38HIkCsmMxYVECDzQJqCXYuQUm4JcgWgsIdgtMwC9B + bAmIW2ACfgk2loC6Bebh+CVILEHkFnj3DraWIHYLvJuidC3Ai100rsj31Lx26bQcf48R7M+yC8zH + gzn8p9V6fALTAMx5HgYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -34,13 +34,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:38:19 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_with_details_valid.yaml b/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_with_details_valid.yaml index a2b37a5..13001ee 100644 --- a/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_with_details_valid.yaml +++ b/test/cassettes/test_meal_plan/TestMealPlan.test_get_meal_plan_with_details_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,11 +15,11 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA9WVyw6CMBBFf4V0DaYFn3yHO2NIQ6s24WVpNcb4784oKEjSpUkTFpNpb5kDd6a7 - O1GCpISRkAh+gyimMYtoHNE1pMytkZDTMlcQhF2QfSTvhayV+qKqY9sdVNUGVJUtipA0uhY2Ny/J - OMPL2lYGJHRG4eh+49kO9ur6muVaciNFZlQpW8PLZlAkSwK2SecsTZZwhIU6DkoWAgrBdz3Cji6G - xR+6DaRcdCjxhC6Z0DH8oC46lHhCN5/SoVlddCjxhG4xpUPnueiQ3hM6bMpx3zF0novOo75bTenQ - eS46j5yJ43/87+hgZr5G/MeHeB+8h7vLmGR7Um0ADw86eT/zv/o+84fLYf8E8//2HPwGAAA= + H4sIAAAAAAAEA83U3QqCMBQH8FeRcz1hm2a25+guQoaOGvjVnIVE795SKXO0yxh4MQ7nP/zB2Tnc + QRbACIKCD8CAYkpCTEOcAgI9tMLUlMilOaD5kM2BqZx1Ql1lferGS+pGm0TdlyWCVjVFn+ux/bvC + q6avNTD8abr0iz7V3LJcCa5FkWlZiU7zql38HIkCsmMxYVECDzQJqCXYuQUm4JcgWgsIdgtMwC9B + bAmIW2ACfgk2loC6Bebh+CVILEHkFnj3DraWIHYLvJuidC3Ai100rsj31Lx26bQcf48R7M+yC8zH + gzn8p9V6fALTAMx5HgYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -34,13 +34,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -52,7 +52,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -60,16 +60,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTY/TMBCG/8ooJ5DSbtNlkSghEncOSFwjRY49m3rrL+xxURfx3xmHarV0JZBK - OLRqZzzPTN9OXn+vtKp2VVPVlRMW+eNn/fgo+KvCJKMOpL3jaLtvuk8+ogUdUrZtf8OBNjyPQTt2 - yhsfIWniA2MHTKQapHcJCSlzRiiul9pNgEZTrCGhAqWFBeddtidAHa1XQGgDk7Q7apUdQSYwYuQB - AAnmLghWTE6AMPprPjEAo+BmT7yjNzlQFmv4SHDE6AF9KtVCypzKeYKHnMiDyvwqg+OcRwERx2zX - 8IWHBslzCjiIpGDKI8Ypoqt5Wu4kgMRBW8H5JJykzPWJ4JlOv7hFkFmL9R9yv+nUpiAcJDoZ/NBX - o5CHKfrs1EqWOXcQp/HV9u6uhvlt8/p9X3WX2vJfUCjdM03+m8bcK3RtNl1rdHet3gzh6kJYXvgz - u78pMy6zy33s3aXm12ldSEvtdGH9+14XykK7XVAvfGDR/Z5/8tNzf+2Oz3Mu4iWFtJSfFNZfPGV+ - 9tiwo/82yIiCUA2kLVcJG9i6t5tts9psV80tNO92b5rd7Vs+HTT7VcThXhscztYfivWvH8LE+VEk - HBLGI3t1Ot8QfCXoyPSLsPM0yD3Kw5D2PgQuMDoR12yYQ6dQbhXnoxWm9I1eZUlDuXZcNqauMuPu - NRrFbUrkx0+6jljZlAYAAA== + H4sIAAAAAAAEA7WVTW/TQBCG/8rIJ5CcNE4pEsZY4s4Biasla7w7dbbZL/YjKEX8d2ZNVbVFAimY + g3OY2Xlm8nr87vdKyapt6sqioaqtPqv7e6zqSlIUQfmknOVod2j6Ty6QAeVjNt1wxYHOP41BN/XS + aRcgqsQHph6YmGoQzkZKlDJnUHK9UHYG0iqFGiJJkAoNWGezOQOpYJyERMYzSdmTktkmyAk0TjwA + UIKlC4HB2SKgVl/zmQEUkJs98k5OZ58ybuFjghMFB+RiqUYhciznE9zlmBzIzE8ZnJY8IQSastnC + Fx4aBM+JcMQoYc4ThTmQrXla7oSQ8KgMcj6iFSlzfUzwRKdf3CLIosX2D7lnOnXRo4WYzpo+DNWE + 4jgHl63ciDJnC2GeXu1vbmpYfnav3w9V/1JbfgWF0j/R5L9pzL1832Xdd1r1l+rNEK4uhPWFf2AP + V2XGdXZ5CIN9qfllWhfSWjtdWP++14Wy0m4X1G8+sOp+L3/58bu/dMeXOVfxkkJay08K6y+esnx7 + bNjBfRtFIEwkx6QMV6HxbN373b7Z7Pab5hqad+2bpr1+y6e9Yr8KNN4qTeOD9fti/ds7P3N+wkhj + pHBir47L/cAXggrMfha0Lo3iQOI4xoPzng9rFVPV7uoqnX25T6wLBnXpGJzMIo3lurFZ67rKjLpV + pCU3KJEfPwFRig1KjAYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -84,13 +84,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -102,7 +102,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -110,16 +110,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTYvbQAyG/4rwqQUnG2e7haauoffe9mow4xmtM5v56owmJZT+92qcZUlTaCF1 - DzZmJD2SX8vS90qraldtq7pywiI/PgYx7ZFIw+iNnxwmZKPCJKMOpL1jn3bfdF98RAs6pGzb/o4P - 2nB5Bu3YKQZESJrYYeyA+VSD9C4hIWW2CMXxUrsJ0GiKNSRUoLSw4LzL9gSoo/UKCG1gknZHrbIj - yARGjFwAIMGcBcGKyQkQRn/NJwZgFJzslXf0JgfKYg2fCY4YPaBPJVpImVPxJ3jOiTyozFcpHGc7 - Cog4ZruGRy4aJNcp4CCSgimPGKeIruZqOZMAEgdtBduTcJIyxyeCC53O3CLIrMX6D7ZfdGpTEA4S - nQx+6qtRyMMUfXZqJUudO4jT+Gb78FDDfNu8/dhX3bW2/AkKpbvQ5L9pzLlC12bTtUZ3t+rNEI4u - hOWFf2H3d6XGZXq5j7271vw2rQtpqZ4urH/v60JZqLcL6rc5sGh/z6/8+t/f2uNznYvMkkJaap4U - 1l9myvzv8cCO/tsgIwpCNZC2HCVsKJN+s21Wm+2quYfmw+5ds7t/z95B87yKODxpg8PLIuBxcV4E - 6+cwsc8oEg4J45HndWJSc14LOnKGq2PnaZB7lIch7X0IHGB0Io7ZcAydQtkzzkcrTMkdvcqShrKI - XDamrjLjnjQaxWnKyY+fIr01HKYGAAA= + H4sIAAAAAAAEA7WVTW/bMAyG/wqh0wY4aZKuA+Z5BnbfrdcAhiyxjhp9TaIyBMP++yi3KNIOWIHO + OzgHiXzIvKZf/hRGi3bXCC8dilbcRjkdkMjAGGyYPGYUjdCYVTKRTPAc0x22/beQ0IGJubhuf8UH + Xbw8g27sNQMSZEMcMPbAfGpABZ+RkArfSM35yvgJ0BpKDWTUoI104IMv7gxokgsaCF1kkvEno4sn + KARWjtwAIMFcBcHJyUuQ1nwvZwZgklzsiXcKtkQqcg1fCU6YAmDINVsqVXKNJ7gvmQLowk9tHOd7 + lJBwLG4Nt9w0KO5TwlFmDVMZMU0JfcPdciUJJI/GSb7P0isqnJ8JLnR64FZBZi3Wf7l7plOXo/SQ + 6Wzxy16MUh2nFIrXK1X7bCFN47vdzU0D88/m/ee96F9qy6+gUvoLTf6bxlwr9l2xfWdN/1a9GcLZ + lbC88I/s/VXtcZlZ3qe9f6n527SupKVmurL+fa4rZaHZrqg/fGDR+Z7/8tN3/9YZn/tcxEsqaSk/ + qaxXPGX+9tiwU/gxqISSUA9kHGdJF9m6d5vddrXZrbbXsP3Ufti21x85Ohr2q4TDnbE4PC4CtouH + RbC+jxPHjDLjkDGd2K+zaLfzUjCJ+c8OfaBBHVAdh3wIMXKwNZlEu2kEnWPdMD4kJ22tmoIuioa6 + gHyxthGFUXcGreYC9eTXb5+DW9eeBgAA headers: Access-Control-Allow-Headers: - '*' @@ -134,13 +134,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -152,7 +152,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -160,16 +160,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTYvbMBCG/8rgUwtONk66haauoffe9howsjTraKOvSqMsofS/d+QNS5pCF1L3 - kBBmNM+M34xf/ai0qrbVpqorJyzyzwfh1LOWe0wcU5hk1IG0d5xq9033zUe0oEPKtt3dcaANlzFo - h0554yMkTXxg6ICxVIP0LiEhZc4IxfVSuxHQaIo1JFSgtLDgvMv2BKij9QoIbWCSdketsiPIBEYM - PAAgwdQFwYrRCRBGf88nBmAU3OyVd/QmB8piCV8Jjhg9oE+lWkiZUzlP8JQTeVCZP2VwnPIoIOKQ - 7RIeeGiQPKeAg0gKxjxgHCO6mqflTgJIHLQVnE/CScpcnwgudHrhFkEmLZZ/yf2mU5uCcJDoZPDL - rhqEPIzRZ6cWssy5hTgO79b39zVMX6v3n3dVd60t/wWF0l1o8t805l6ha7PpWqO7W/VmCFcXwvzC - n9m7uzLjPLu8izt3rfltWhfSXDtdWP++14Uy024X1B8+MOt+T4/8+t7fuuPTnLN4SSHN5SeF9Yan - TO8eG3b0z72MKAhVT9pylbCBrXu9WjeL1XrRbKD5tP3QbDcf+XTQ7FcR+0dtsD/7P5vY2f+XT2Hk - Q4NI2CeMRzbsxKjm5V7QkVtchZ2nnm8OeejT3ofABUYn4poV19AplPvF+WiFKc2jV1lSXy4gl42p - q8y4R41GcZsS+fkL8MDRbp4GAAA= + H4sIAAAAAAAEA7VVTWvcQAz9K2JOLXg3+9EU6rqG3nvLdcHIM4p3svPV+diwlP73atwQkhQaSN2D + fRhJT8/PmqcfQivR7hvh0JJoxQ06da/lkZJohKIkow5Ze8eh7rjtv/lIFnRIxXaHKz7owtMz6MZe + eeMjJJ05YeyBYXMD0rtEmXLhCCqul9pNQEbn2EAiBUqjBeddsRcgHa1XkMkGRtLurFVxGUoGgyMT + AMowdyGwODkENPp7uTAAReRmj3hnb0rIBdfwNcOZogfyqVajlCXV/Ax3JWUPqvBTidMcJ4RIY7Fr + uGHSIJknwgmTgqmMFKdIrmG23Akh40lb5HhCJ3Ph+pThiU6/casgsxbrv8Se6dSlgA5Svhj6chAj + ytMUfXFqJSvPFuI0vttdXzcwvzbvPx9E/1Jb/gUVpX+iyX/TmHuFvium74zu36o3g3B1RVhe+Afs + w1XluMwsH+LBvdT8bVpXpKVmumL9+1xXlIVmu0L94QOLzvf8yY/3/q0zPvNcxEsq0lJ+UrFe8ZT5 + 7rFhR38/yEiYSQ1ZW65CG9i6d5vddrXZrbZ72H5qP2zb/UfODpr9KtJwqw0ND/7PJvbg/+u7MHHS + iImGRPHMhp1Eu523go7c4Nmh83ngrSFPQzr6EDjZ6JRFu2lEvoS6WZyPFk1tG70qMg918bhiTCMK + Q91qMoob1JOfvwBbCM5klgYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -184,13 +184,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -202,7 +202,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -210,16 +210,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTYvbMBCG/8rgUwtONs7uFpq6ht57KPRqMLI062ijr0qjlFD63zvyLkuawhZS - 95AQZjTPjN+MX/2otKp21V1VV05Y5J9fhJPigIkjCpOMOpD2jhPtvuk++4gWdEjZtv0NB9pwHoN2 - 7JQ3PkLSxAfGDhhKNUjvEhJS5oxQXC+1mwCNplhDQgVKCwvOu2xPgDpar4DQBiZpd9QqO4JMYMTI - AwASzF0QrJicAGH0t3xiAEbBzV54R29yoCzW8IngiNED+lSqhZQ5lfMEjzmRB5X5UwbHOY8CIo7Z - ruErDw2S5xRwEEnBlEeMU0RX87TcSQCJg7aC84mFo8z1ieBMpyduEWTWYv1K7jed2hSEg0Qngx/7 - ahTyMEWfnVrJMucO4jS+2d7f1zB/bd5+6KvuUlv+CwqlO9Pkv2nMvULXZtO1RnfX6s0Qri6E5YV/ - Zvc3ZcZldrmPvbvU/DqtC2mpnS6sf9/rQllotwvqDx9YdL/nR35576/d8XnORbykkJbyk8L6i6fM - 7x4bdvTfBxlREKqBtOUqYQNb93azbVab7aq5heb97q7Z3b7j00GzX0UcHrTB4dn92S1m918/homP - jCLhkDAe2a4Tg5qnW0FHbnARdp4GuUd5GNLeh8AFRifimg3X0CmUu8X5aIUpraNXWdJQLh+Xjamr - zLgHjUZxmxL5+QvlZUE5mgYAAA== + H4sIAAAAAAAEA7WVTW/bMAyG/wqh0wY4aZK2A+Z5BnbfYcCuAQxZYh01+ppEZQiG/fdRXlGkHdAB + nXdwDiL5kHlNv/ohjBbtTSO8dCha8UV6JY+YRSM0ZpVMJBM8B7rDtv8cEjowMRfX7a/4oIuXZ9CN + vQ42JMiGOGHsgaHUgAo+IyEVjkjN9cr4CdAaSg1k1KCNdOCDL+4MaJILGghdZJLxJ6OLJygEVo48 + ACDB3AXByclLkNZ8K2cGYJLc7JF3CrZEKnINnwhOmAJgyLVaKlVyzSe4L5kC6MJPHRznOEpIOBa3 + hq88NCieU8JRZg1TGTFNCX3D03InCSSPxkmOZxaOCtdnggudfnOrILMW6xdiT3TqcpQeMp0tftyL + UarjlELxeqXqnC2kaXyzu71tYP7ZvP2wF/1zbfkVVEp/ocl/05h7xb4rtu+s6V+rN0O4uhKWF/6B + vb+qMy6zy/u09881f53WlbTUTlfWv+91pSy02xX1hw8sut/zX3787l+74/Oci3hJJS3lJ5X1F0+Z + vz027BS+DyqhJNQDGcdV0kW27t1mt11tdqvtNWzftzfb9vodZ0fDfpVwuDMWhwf3Z7eY3X99HydO + GWXGIWM6sV1n0W7nO8Ekxj859IEGdUB1HPIhxMjJ1mQS7aYRdI71VvEhOWlr0xR0UTTUS8cXaxtR + GHVn0GpuUE9+/gJlZaYokgYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -234,13 +234,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:50 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -252,7 +252,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -260,16 +260,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTY/TMBCG/8ooJ5DSbtNlkSghEncOSFwjRY49m3rrL+xxURfx3xmHarV0JZBK - OLRqZzzPTN9OXn+vtKp2VVPVlRMW+eNn/fgo+KvCJKMOpL3jaLtvuk8+ogUdUrZtf8OBNjyPQTt2 - yhsfIWniA2MHTKQapHcJCSlzRiiul9pNgEZTrCGhAqWFBeddtidAHa1XQGgDk7Q7apUdQSYwYuQB - AAnmLghWTE6AMPprPjEAo+BmT7yjNzlQFmv4SHDE6AF9KtVCypzKeYKHnMiDyvwqg+OcRwERx2zX - 8IWHBslzCjiIpGDKI8Ypoqt5Wu4kgMRBW8H5JJykzPWJ4JlOv7hFkFmL9R9yv+nUpiAcJDoZ/NBX - o5CHKfrs1EqWOXcQp/HV9u6uhvlt8/p9X3WX2vJfUCjdM03+m8bcK3RtNl1rdHet3gzh6kJYXvgz - u78pMy6zy33s3aXm12ldSEvtdGH9+14XykK7XVAvfGDR/Z5/8tNzf+2Oz3Mu4iWFtJSfFNZfPGV+ - 9tiwo/82yIiCUA2kLVcJG9i6t5tts9psV80tNO92b5rd7Vs+HTT7VcThXhscztYfivWvH8LE+VEk - HBLGI3t1Ot8QfCXoyPSLsPM0yD3Kw5D2PgQuMDoR12yYQ6dQbhXnoxWm9I1eZUlDuXZcNqauMuPu - NRrFbUrkx0+6jljZlAYAAA== + H4sIAAAAAAAEA7WVTW/TQBCG/8rIJ5CcNE4pEsZY4s4Biasla7w7dbbZL/YjKEX8d2ZNVbVFAimY + g3OY2Xlm8nr87vdKyapt6sqioaqtPqv7e6zqSlIUQfmknOVod2j6Ty6QAeVjNt1wxYHOP41BN/XS + aRcgqsQHph6YmGoQzkZKlDJnUHK9UHYG0iqFGiJJkAoNWGezOQOpYJyERMYzSdmTktkmyAk0TjwA + UIKlC4HB2SKgVl/zmQEUkJs98k5OZ58ybuFjghMFB+RiqUYhciznE9zlmBzIzE8ZnJY8IQSastnC + Fx4aBM+JcMQoYc4ThTmQrXla7oSQ8KgMcj6iFSlzfUzwRKdf3CLIosX2D7lnOnXRo4WYzpo+DNWE + 4jgHl63ciDJnC2GeXu1vbmpYfnav3w9V/1JbfgWF0j/R5L9pzL1832Xdd1r1l+rNEK4uhPWFf2AP + V2XGdXZ5CIN9qfllWhfSWjtdWP++14Wy0m4X1G8+sOp+L3/58bu/dMeXOVfxkkJay08K6y+esnx7 + bNjBfRtFIEwkx6QMV6HxbN373b7Z7Pab5hqad+2bpr1+y6e9Yr8KNN4qTeOD9fti/ds7P3N+wkhj + pHBir47L/cAXggrMfha0Lo3iQOI4xoPzng9rFVPV7uoqnX25T6wLBnXpGJzMIo3lurFZ67rKjLpV + pCU3KJEfPwFRig1KjAYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -284,13 +284,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:51 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -302,7 +302,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -310,16 +310,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTYvbQAyG/4rwqQUnG2e7haauoffe9mow4xmtM5v56owmJZT+92qcZUlTaCF1 - DzZmJD2SX8vS90qraldtq7pywiI/PgYx7ZFIw+iNnxwmZKPCJKMOpL1jn3bfdF98RAs6pGzb/o4P - 2nB5Bu3YKQZESJrYYeyA+VSD9C4hIWW2CMXxUrsJ0GiKNSRUoLSw4LzL9gSoo/UKCG1gknZHrbIj - yARGjFwAIMGcBcGKyQkQRn/NJwZgFJzslXf0JgfKYg2fCY4YPaBPJVpImVPxJ3jOiTyozFcpHGc7 - Cog4ZruGRy4aJNcp4CCSgimPGKeIruZqOZMAEgdtBduTcJIyxyeCC53O3CLIrMX6D7ZfdGpTEA4S - nQx+6qtRyMMUfXZqJUudO4jT+Gb78FDDfNu8/dhX3bW2/AkKpbvQ5L9pzLlC12bTtUZ3t+rNEI4u - hOWFf2H3d6XGZXq5j7271vw2rQtpqZ4urH/v60JZqLcL6rc5sGh/z6/8+t/f2uNznYvMkkJaap4U - 1l9myvzv8cCO/tsgIwpCNZC2HCVsKJN+s21Wm+2quYfmw+5ds7t/z95B87yKODxpg8PLIuBxcV4E - 6+cwsc8oEg4J45HndWJSc14LOnKGq2PnaZB7lIch7X0IHGB0Io7ZcAydQtkzzkcrTMkdvcqShrKI - XDamrjLjnjQaxWnKyY+fIr01HKYGAAA= + H4sIAAAAAAAEA7WVTW/bMAyG/wqh0wY4aZKuA+Z5BnbfrdcAhiyxjhp9TaIyBMP++yi3KNIOWIHO + OzgHiXzIvKZf/hRGi3bXCC8dilbcRjkdkMjAGGyYPGYUjdCYVTKRTPAc0x22/beQ0IGJubhuf8UH + Xbw8g27sNQMSZEMcMPbAfGpABZ+RkArfSM35yvgJ0BpKDWTUoI104IMv7gxokgsaCF1kkvEno4sn + KARWjtwAIMFcBcHJyUuQ1nwvZwZgklzsiXcKtkQqcg1fCU6YAmDINVsqVXKNJ7gvmQLowk9tHOd7 + lJBwLG4Nt9w0KO5TwlFmDVMZMU0JfcPdciUJJI/GSb7P0isqnJ8JLnR64FZBZi3Wf7l7plOXo/SQ + 6Wzxy16MUh2nFIrXK1X7bCFN47vdzU0D88/m/ee96F9qy6+gUvoLTf6bxlwr9l2xfWdN/1a9GcLZ + lbC88I/s/VXtcZlZ3qe9f6n527SupKVmurL+fa4rZaHZrqg/fGDR+Z7/8tN3/9YZn/tcxEsqaSk/ + qaxXPGX+9tiwU/gxqISSUA9kHGdJF9m6d5vddrXZrbbXsP3Ufti21x85Ohr2q4TDnbE4PC4CtouH + RbC+jxPHjDLjkDGd2K+zaLfzUjCJ+c8OfaBBHVAdh3wIMXKwNZlEu2kEnWPdMD4kJ22tmoIuioa6 + gHyxthGFUXcGreYC9eTXb5+DW9eeBgAA headers: Access-Control-Allow-Headers: - '*' @@ -334,13 +334,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:52 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK @@ -352,7 +352,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -360,16 +360,16 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA7WVTYvbMBCG/8rgUwtONs7uFpq6ht57KPRqMLI062ijr0qjlFD63zvyLkuawhZS - 95AQZjTPjN+MX/2otKp21V1VV05Y5J9fhJPigIkjCpOMOpD2jhPtvuk++4gWdEjZtv0NB9pwHoN2 - 7JQ3PkLSxAfGDhhKNUjvEhJS5oxQXC+1mwCNplhDQgVKCwvOu2xPgDpar4DQBiZpd9QqO4JMYMTI - AwASzF0QrJicAGH0t3xiAEbBzV54R29yoCzW8IngiNED+lSqhZQ5lfMEjzmRB5X5UwbHOY8CIo7Z - ruErDw2S5xRwEEnBlEeMU0RX87TcSQCJg7aC84mFo8z1ieBMpyduEWTWYv1K7jed2hSEg0Qngx/7 - ahTyMEWfnVrJMucO4jS+2d7f1zB/bd5+6KvuUlv+CwqlO9Pkv2nMvULXZtO1RnfX6s0Qri6E5YV/ - Zvc3ZcZldrmPvbvU/DqtC2mpnS6sf9/rQllotwvqDx9YdL/nR35576/d8XnORbykkJbyk8L6i6fM - 7x4bdvTfBxlREKqBtOUqYQNb93azbVab7aq5heb97q7Z3b7j00GzX0UcHrTB4dn92S1m918/homP - jCLhkDAe2a4Tg5qnW0FHbnARdp4GuUd5GNLeh8AFRifimg3X0CmUu8X5aIUpraNXWdJQLh+Xjamr - zLgHjUZxmxL5+QvlZUE5mgYAAA== + H4sIAAAAAAAEA7WVTW/bMAyG/wqh0wY4aZK2A+Z5BnbfYcCuAQxZYh01+ppEZQiG/fdRXlGkHdAB + nXdwDiL5kHlNv/ohjBbtTSO8dCha8UV6JY+YRSM0ZpVMJBM8B7rDtv8cEjowMRfX7a/4oIuXZ9CN + vQ42JMiGOGHsgaHUgAo+IyEVjkjN9cr4CdAaSg1k1KCNdOCDL+4MaJILGghdZJLxJ6OLJygEVo48 + ACDB3AXByclLkNZ8K2cGYJLc7JF3CrZEKnINnwhOmAJgyLVaKlVyzSe4L5kC6MJPHRznOEpIOBa3 + hq88NCieU8JRZg1TGTFNCX3D03InCSSPxkmOZxaOCtdnggudfnOrILMW6xdiT3TqcpQeMp0tftyL + UarjlELxeqXqnC2kaXyzu71tYP7ZvP2wF/1zbfkVVEp/ocl/05h7xb4rtu+s6V+rN0O4uhKWF/6B + vb+qMy6zy/u09881f53WlbTUTlfWv+91pSy02xX1hw8sut/zX3787l+74/Oci3hJJS3lJ5X1F0+Z + vz027BS+DyqhJNQDGcdV0kW27t1mt11tdqvtNWzftzfb9vodZ0fDfpVwuDMWhwf3Z7eY3X99HydO + GWXGIWM6sV1n0W7nO8Ekxj859IEGdUB1HPIhxMjJ1mQS7aYRdI71VvEhOWlr0xR0UTTUS8cXaxtR + GHVn0GpuUE9+/gJlZaYokgYAAA== headers: Access-Control-Allow-Headers: - '*' @@ -384,13 +384,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 15:43:52 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_product/TestProduct.test_add_product_pic_valid.yaml b/test/cassettes/test_product/TestProduct.test_add_product_pic_valid.yaml index 50b9a3d..c1a21f1 100644 --- a/test/cassettes/test_product/TestProduct.test_add_product_pic_valid.yaml +++ b/test/cassettes/test_product/TestProduct.test_add_product_pic_valid.yaml @@ -11,7 +11,7 @@ interactions: Transfer-Encoding: - chunked User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - '*/*' method: PUT @@ -31,11 +31,11 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:57:44 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 204 message: No Content @@ -51,7 +51,7 @@ interactions: Content-Type: - application/json User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - '*/*' method: PUT @@ -71,11 +71,11 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:57:45 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 204 message: No Content diff --git a/test/cassettes/test_product/TestProduct.test_get_all_products.yaml b/test/cassettes/test_product/TestProduct.test_get_all_products.yaml index 2ddccad..e403d8a 100644 --- a/test/cassettes/test_product/TestProduct.test_get_all_products.yaml +++ b/test/cassettes/test_product/TestProduct.test_get_all_products.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,32 +15,31 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA+1cXW/bNhT9K4SfXSNy2q3N29B1e9mGYCkwDMNA0BQtsaZEhR8OkmH/ffdalG0F - iSLXVh17fEiQ8Fu8R0fn3kvpr39GMh1djZLReFSyQsCfH7VeSGGhIBWWG1k5qcvRVemVGo8qo1PP - Hc2M9hVdd2XcySV2xnGU5gz71NVvocTmuqpkmdFWVT3irYd2tPKG58ziEJfQoS60TvPFpmQOs2iz - bkqdpk2LZHIBvQpZ1iWUFdqXDrq+h+JUzJlXjs6ExV9zbQRN2b2Fauz1XDVlcycM1ZWAq+/Tcm6E - eICr7Nfa5exu07iS3HlY11wqQYMheG2IyZcqg2WKks2gzjFodSdkljuaszJVmzG2qnAJqy0ptaM8 - F3wRNmbuFUyhClE6ChtBjeCyAmPXF1jB4FDRGBnNWxuJM6UNggIsPEUDcV94xZygj/ec6jm1ftaM - 0Yycelj6fdVA5NZLWBLXpfWF2FirNmMuU0EBPivjUr0UZinFXVii0XeUGwFTp9TJAkzKigrqphfT - 5M3F9E1ySZIPV2+Tq8vvYJneCjOXQqWwDrySf8cB71OobPCea67xWqAoIv6YiK+xdrpAR/J7bUDH - mzUA/WdfFPdkJpiJ5H50cs/QGCtbRH4fgN9RdTT8bqStzgTxSZdgCU/I16pnTp3dV1v/ymTMuw3M - P2VZf5Bjvw7NjupoT82OQ4CK79LstUJ9LCBfQPEL1cfm9Qjyw2t1FPKBy3/TOlU7+KbYtQPnKI72 - xDkO8QLOn/NNI5ejf0+jS1qHYL7fwPwavONdYI4g7IA5sv1OMEf11A7BhJIuOo8wx6AMPp9i5KUj - 8oIRubVDqpjNiYVQIhT2i70cGup4b7ShHkoi1GOQcc8g44cN1P/UmTeuN8pf0C0763Mcr43yUBJR - HlG+J8pXMYkm1pILAUmcvmR+aJgHMQ75pCYxFOV5zBgdJmOUtFKkKiXcO/sY6aNfILlYEFlBXouk - GpJmxEpHILHqxgTTXcIJyPMRy1JowyF3R4SSzoyJFSlJJStIqUsPYXohTaFT4kRRwSCyXMoUMprE - O6LYDCYhwtUTCFKwrGSEKXnr72EAYRhMth5vqZWvnGcT8oMjkEvTRGiLvRnn3mJ7R754uF9I6uEH - 1yxW9YIRI2a+mJAbWDThsE5GFsymJPMzYTJIFY5htTATI44tZMGg3rISEpnQ3zry/F5MOuriPm0w - MwF8NcnYrYx7pM0Q5jtwxj0G7w4fvEu2Mu3XrDJywR6TZr3tT+D80FHqEJPekgc9otRfGdbAaM5r - zcSMqtoQMfM4QOYxQcnZyGEP52TgWRkRf/SzVMESEfJDQB6jwwHyv4OytfnRAI+02w50hJIBAh2v - meKjlBlAyqAeCTD/rMHd0UeDeVQywQ5uZYfI6kOwOrqZYZuv5cMDg+CAz/pTe/RSo5fqTuQ4eILP - 8oD1GymWEIyrmWWHsyao+w+ZhI+ZydogUcoMIGW2svA3TLFC9pYykdYjrZ8MrW9l4D9rZvsn4FFg - d5A5cv1OJ6oimUcyXwz1LhseJA3i5VdZchAvBbwg15vRMXrTgXW8FXbCOt4c7RhMKBkgBtN1hnaf - s+DJ+x4jb17hxD166hXO6cW5uaZ15OHYb29u5eJ/Utob2P6DHB/cmddRR7WxHkpOCOs7IR0bP4H0 - PiIdjdZ+R/ndxVBnZRGmJ/+OMl5E45T6jB0P5efA6N8K5ThPG+VDYRyf2yePcYTWWruoBfzXj8gP - 7YauTjG2mbwpilR+zDOy5wByvFO3QE4+ntcnJ7qoNb6vGXbgiW+rjFYq5ew+rbKVJv2RmUVE+/qL - Q/t4pF03WRh3449i469U6YPplzNF+1aW9A82nytBjFbK9hYy6BV1RF/w0fG/i76cPNZrd/hsvpr1 - 93+ZCZeaJ04AAA== + H4sIAAAAAAAEA+2cXW/bNhSG/wqhazewnLZrfTd0HzfrECwFhqEYCFqiZdaUqPDDQTLsv+/VlzUn + sSwhhh2lvGgBmRRFHz4+POe8VL7+E4g4mIeTIGMpD+bBJ6XWgptgEsTcRFrkVqgsmGdOykmQaxW7 + yNJEK5fT+kYWWbHBrRhDqogV/cumt5PArFSeiyyhOw3VWDcOvWjudLRiBrdfToLqI2NVtG6ulxhd + 6W03ahWt2/G4VGTVFWWpcpkN5h+KaS+Zk5YuuCn+WyrNaczuTDCf7m+kbGm5pirn+K6H+y015/f4 + Xn362hW7bbrmIrIO81kKyWlt8Kgy+MW3PIHRecYWaLMMvW65SFaWrlgWy2aE/zWUD8+UpdGKR+va + EEsnMbhMeWYpvjrVPBI5lrP4UjkGxcfNIhbLVy1FxKTSxaLPwxmWIXKpk8xy+tC+VC2pcYtmhNqk + DtO9yysAbpzAVCKVGZfy7apgqVYi5hRglItH1YbrjeC35bS0uqWR5nhgTK1IsWwszUHibDoL30xn + b8JLEn6cvw3nl++DfycVr7OW15WKVDFbT+yT2NdkH5HYipmRgQoE43OAip9T/Tv/1aXpHVlwpr1z + fdpDHx/VICmMXtrc+9ch/hV7dxMPaGHysRIbdmzlffbuM8QDo/SuhZnP4V3fbTH9OUl6Q4q79sWs + iCueE7PidsSwHTErDPUwqOrksLPxfEGrh3RArPp+C+nvSsWyf26FG/dxirDiOZxWuVYHpx7T7y6l + +mGL6RVyuAGYAqZ9mMLTDsEUUcdOCaC69piWu4DP/MtKFSo824RKMrMiBqWovrn/8VAF2TuoVtce + VY9qW6T6uEX1L5U4bftS2rHvD4xPMdIOpdW1p9RT2lJa5MhNrr/iHKX4okzeo/R/PEyrcBRqwHNK + /z7Vf9UV/xAV3AZTJWMSOfso4Q9+g9iTEpFDfSCxgqhBjLAEwpadkEKU4JZDfyGGxegTQVMhXAqr + J8TwmMSCpSRTmUOZlgudqphYnuYYRGQbEUNfIs4SyRZ4COG2egAnKUsyRpgUN+4OA3DN8LDteBsl + XW4duyA/WgLVQxGuTHE3iyJniv6WfHPgnsQO/4o587KdM6L5wqUX5BqTJhHmyciamZgkbsF1Ailn + gtniSYxYthYpQ7thGQQm3G8s2W+Li442b6eWmQt4wkYsaxVP7/b2Sqx1QeqA4umLRwOKR2GrdF6x + XIs167s9H6/KWVU12+35YJVzcPUItYd9sv35ipzQy0uDe+VoiHIUIphr9mmHkwTYqzyxJ1LmcXKj + srhHdhCyrdr5ByJDszo9sHCAO4l6dX3MRP1FulgfCgwJBbCj1571i0K4r06P6fcaCdjS3t6rDvKq + SJRqXK/E/T1DcuuS3q7VZ1mHImKfZR3vOGmI3bFm9VrwDYpB1S++v1bvlSXPaxHDneb4c9iqoNdM + slT0DQW8W/WYnhDTVgH9opjpLYAizNx3ogR+dsiJEi/T+3dJDr5L0gqgn0UWYfNP8TJKX4+K2sE+ + VoHxEFbHqYKGHzqE14eCACzy1CtQs+krSK3K3Pg02/+s1UJ/kcr1LrB2BKkD/Srij516VXV9zHrV + Yape5uF8LM3OSb1308K9HPctPaA2hnf0MM0mqXIJOwOl4/Soh8kfQ+qPfXEMjAKRmtHPQq77bvrH + S6OK01c7nrT+wLvSk5zRGwekrT5VQEo+jfyV5w4HVy76yzsKcBadqtjlx/difitS/cS0Z/X0f1DC + s9r7j0i0CtWfbLmUnGgl5aNTpZVBHx8ERKS/L/OHw379mX+HG3+Y96PrE3n/WUitHjoix/r3f9s0 + V1ajRwAA headers: Access-Control-Allow-Headers: - '*' @@ -55,13 +54,13 @@ interactions: Content-Type: - application/json Date: - - Wed, 03 Mar 2021 13:35:56 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_product/TestProduct.test_product_get_details_no_barcodes.yaml b/test/cassettes/test_product/TestProduct.test_product_get_details_no_barcodes.yaml deleted file mode 100644 index bb980ca..0000000 --- a/test/cassettes/test_product/TestProduct.test_product_get_details_no_barcodes.yaml +++ /dev/null @@ -1,53 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - accept: - - application/json - method: GET - uri: https://localhost/api/stock/products/19 - response: - body: - string: !!binary | - H4sIAAAAAAAEA71U227bMAz9lcHPzRAn24D6K/bQt2EgGJm2hcqSokuyrOi/j7IsO02BrA/DXgyL - lyOS51AvlXWmjSJUzUsl26qp6sfqodI4Ev8/GfSBjy154aQN0uiq0VGph5IGvTPRwpS540gUQZ5S - as0HZQSmnOzes8UPxlqpe3jjyojHyHFgoxMD+gTxlROy0QcjnldLx7cYt4RCMFAi6s9bzhqlzhbA - 0UTNzVXJ3FKHUQU4kE+fzjiCFi/+L27ALpADY4m7vws0R3aO6Dd3+bHoMOB5DbZShMh1dVIRZBry - eEjjgU0B2Xkm2Q8BBtStWlOvXOnmaRLaBBADied5Hl1UjKxG0gG4f3AkpKUyAcvg7JglMdGWLxeo - jJNTXL1LRIo4RoWB4HbUYDrw8VAwCnIbufSLLco4RsklCaN9HGklKbM3yJaAVTNxCuZE7iTpPA/T - mTMIR3x1C0GOzCSOln277a7ebHebev+pfmy+1M3+W/W6yvSAThiWcdX8+MnCZFkv8mHR5yYna/S0 - GHIBRUJblm/SIZxQRW5kOeeASR8p99aOfe+oTwW/9yVNcSM3IUWnx4g6yHCBqOVa77KpaT/Koko9 - 6fvdmn58XAUNrIoOFY/0SWrPqPmc1DLy+NKoeK5vS5u3b35BClKG+L91ZWadFExQZhVPPYvxymAU - 6yCJ/Mo2pd17nAol92I0/QqQhN4y2eX68tAtrKXtmVn7zvS6y78YkPQwPTrkpjVhgpDXBnsCP5Dq - QMmuPHWbmnVsjVTg0v5acoJ3fpImo6xKXLZy+/oHZa23SyUGAAA= - headers: - Access-Control-Allow-Headers: - - '*' - Access-Control-Allow-Methods: - - GET, POST, PUT, DELETE, OPTIONS - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 15 Feb 2021 14:10:39 GMT - Server: - - nginx/1.18.0 - Transfer-Encoding: - - chunked - X-Powered-By: - - PHP/7.4.14 - status: - code: 200 - message: OK -version: 1 diff --git a/test/cassettes/test_product/TestProduct.test_product_get_details_non_existant.yaml b/test/cassettes/test_product/TestProduct.test_product_get_details_non_existant.yaml index 8b4341b..9868b3e 100644 --- a/test/cassettes/test_product/TestProduct.test_product_get_details_non_existant.yaml +++ b/test/cassettes/test_product/TestProduct.test_product_get_details_non_existant.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -27,13 +27,13 @@ interactions: Content-Type: - application/json Date: - - Fri, 12 Feb 2021 05:49:49 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 400 message: Bad Request diff --git a/test/cassettes/test_product/TestProduct.test_product_get_details_valid.yaml b/test/cassettes/test_product/TestProduct.test_product_get_details_valid.yaml index e80e8d8..e58f0c1 100644 --- a/test/cassettes/test_product/TestProduct.test_product_get_details_valid.yaml +++ b/test/cassettes/test_product/TestProduct.test_product_get_details_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,18 +15,19 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA81UTW/bMAz9K4PObWEnS7D5OmDn3YeBYGTaFipLqiwly4r+91GSHTdD9tHbLkHM - jyeS75HPwnnbRhlE8yxUKxpRV+JOGByJ/38aiCbi75Ym6ZULyhrRmKj13ZIHvbfRQU7dcyTKoI4p - t+YPbSWmnOLesGUarHPK9HDlKohPkePARS8H5FcbseWEYpyClY+rpeNXrL+EQrCwRNQPqf5RmWIB - HG003J1I5pY6jDrAgab001lP0OJ5+osbsAvkwTri7v8INEd2nugHd/lv0WHA0xrslAyR6+qUJig8 - lPGQwQObArLzRKofAgxoWr2mvnKll/MkjA0gB5KP8zy6qBlZj2QCcP/gSSpHywQcg7Nj1kSmrTwu - UVuvcly9SbzIOEaNgeDXUYPtYIqHBWNBbiOXfnaLMp6i4pKkNVMcaSWpsDeoloBVkzkFeyR/VHSa - h+ntCaQnfrqFoEZmEkfHvk21qe6rD/f1/l21b95vm91evKwyPaCXlmUsmq/fWJjIAliUllS/ZFdJ - w9kbJ2JH6b4UcpHSjmOK6Yg6ppb29cNmtZbArJeEkRXzGgKw7z31qQX27jJPV/6kNG7vKqzQuSj4 - KaIJKpwhGrV2clnixNC8w1+QN+fmBr9lkgUOnI4eNRedUCeGLYakpJFHm6bFM78uLnf2n1RWePdK - Zh3WD9t0k/DYs1pn26YQaTVrJS3CtTnn375hIkEt9NwOKWIy9D1AWoeWBcCjLNL7eF+kN1/My7wS - 6szkZ6/a/jfX+G1cqgnyiSKf1cmUIS8Z9gTTQLoDrbrlMO5q1rqzSoNP2+7IS74QoqnuBKOsCl13 - uBIvPwHQ5/ECVgYAAA== + H4sIAAAAAAAEA8WVTW/bMAyG/0qhs1PEcVJsvg7YefdhIBSZtoXKlipLybqi/32vLdtNhzTYTrsE + sPgh8uUj5kU4b6uogihfhK5EmW8z0cuORSm+tMwDi0xUPCivXdC2F2UfjcmWKGq8jY7GwIdMSBX0 + CZF5JoxVcvSfTLtMDK11TvcNvTOkXE8RXuSiV63EfWWRiXQ0BKsel+8a2a1f3ShYmu24rtN9+iLZ + 2dijG7RRcS2jCXTkYfyprWeq5PNw00iyDuzJOkavN5LMfrVn/oW+/sY3tPK8uDqtQkQ9tTZMSe8k + BvfyiKMgYTyzbtpArewrswReGKY7extItawe5/7raJDTdNwHQsfkWWnHqWeHpDieJz6NJl2qpLFe + j175Duqr2EUjA9OfspKtaYjHJcOsZES5zy7N/SlqlKJsP8SO12FgQq2umMDDNDOyJ/YnzeepBW/P + pDzjwoqC7jAt2Tnwt9vu8s12t8mLu/xzuc/L4kG8vqF3lF5ZoCnK7wnd/ZttIXn2mfraH2auJqIW + TlDadTYBrZEAx3mt0FsS6napxSY/3G0P5X5f7j7h3WA2iBTyqMTrjyXdjDlezNrgtoDzdFkcGIZ0 + V1JqqRPFp4OTNHHU+nCfr2fJaYJ2jAe2l8Ekm8ZzM+oryusx71wuqH+Ksg86PFPsNaRYn2gSHKjM + q+KbxEO9uihuK3Y53P2oGDYPORO9NNBnzDrgNB2MOHeY9qgOMHhf2tTvssP+a12X0BT3B+gtT81C + UXG/RXHWANuVrHQ2hX1I4rLKrjskXnr+GajCY6ww6ZWuYrN9GOma9/EiEeieR/fV66r5YMv/2/D0 + QNM6ZA8EMSGJRy4bpqFlU5PR9bJ+D+Ojc1Yb8uOWcewV9tLELXK80bruDxCJvwbsOW0qEFBLM/Dr + b7pC4+27BgAA headers: Access-Control-Allow-Headers: - '*' @@ -41,65 +42,13 @@ interactions: Content-Type: - application/json Date: - - Fri, 12 Feb 2021 05:44:44 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - accept: - - application/json - method: GET - uri: https://localhost/api/stock/products/10 - response: - body: - string: !!binary | - H4sIAAAAAAAEA81UTW/bMAz9K4PObWEnS7D5OmDn3YeBYGTaFipLqiwly4r+91GSHTdD9tHbLkHM - jyeS75HPwnnbRhlE8yxUKxpRV+JOGByJ/38aiCbi75Ym6ZULyhrRmKj13ZIHvbfRQU7dcyTKoI4p - t+YPbSWmnOLesGUarHPK9HDlKohPkePARS8H5FcbseWEYpyClY+rpeNXrL+EQrCwRNQPqf5RmWIB - HG003J1I5pY6jDrAgab001lP0OJ5+osbsAvkwTri7v8INEd2nugHd/lv0WHA0xrslAyR6+qUJig8 - lPGQwQObArLzRKofAgxoWr2mvnKll/MkjA0gB5KP8zy6qBlZj2QCcP/gSSpHywQcg7Nj1kSmrTwu - UVuvcly9SbzIOEaNgeDXUYPtYIqHBWNBbiOXfnaLMp6i4pKkNVMcaSWpsDeoloBVkzkFeyR/VHSa - h+ntCaQnfrqFoEZmEkfHvk21qe6rD/f1/l21b95vm91evKwyPaCXlmUsmq/fWJjIAliUllS/ZFdJ - w9kbJ2JH6b4UcpHSjmOK6Yg6ppb29cNmtZbArJeEkRXzGgKw7z31qQX27jJPV/6kNG7vKqzQuSj4 - KaIJKpwhGrV2clnixNC8w1+QN+fmBr9lkgUOnI4eNRedUCeGLYakpJFHm6bFM78uLnf2n1RWePdK - Zh3WD9t0k/DYs1pn26YQaTVrJS3CtTnn375hIkEt9NwOKWIy9D1AWoeWBcCjLNL7eF+kN1/My7wS - 6szkZ6/a/jfX+G1cqgnyiSKf1cmUIS8Z9gTTQLoDrbrlMO5q1rqzSoNP2+7IS74QoqnuBKOsCl13 - uBIvPwHQ5/ECVgYAAA== - headers: - Access-Control-Allow-Headers: - - '*' - Access-Control-Allow-Methods: - - GET, POST, PUT, DELETE, OPTIONS - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Fri, 12 Feb 2021 05:44:44 GMT - Server: - - nginx/1.18.0 - Transfer-Encoding: - - chunked - X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_product/TestProduct.test_product_no_barcodes.yaml b/test/cassettes/test_product/TestProduct.test_product_no_barcodes.yaml index 4e82482..5d24775 100644 --- a/test/cassettes/test_product/TestProduct.test_product_no_barcodes.yaml +++ b/test/cassettes/test_product/TestProduct.test_product_no_barcodes.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,39 +15,35 @@ interactions: response: body: string: !!binary | - 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 - WfqB/wfoqlH9538RD+fHsUsAAA== + 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 headers: Access-Control-Allow-Headers: - '*' @@ -62,13 +58,13 @@ interactions: Content-Type: - application/json Date: - - Mon, 15 Feb 2021 14:14:24 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_product_groups/TestProductGroups.test_get_product_groups_valid.yaml b/test/cassettes/test_product_groups/TestProductGroups.test_get_product_groups_valid.yaml index f41bcd2..39a7463 100644 --- a/test/cassettes/test_product_groups/TestProductGroups.test_get_product_groups_valid.yaml +++ b/test/cassettes/test_product_groups/TestProductGroups.test_get_product_groups_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,10 +15,10 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA72SwQrCMBBEf2XJucUmrYI9evADVLyoSGy2GmyTskkQEf/dFBV68iJ6WwZ2HzOz - mxvTipWMs4QZ2WIcMw7LC6J3UVLoKtKd19aw0oSmSRjZy74ilB7V3usWnZdtF9dEJniaiZTnwKdl - wct8HA8Eh1RrbJR77t+TF1AMgAJm8ox0hY6sCtX35Mkncj4g57DSxqCC2loV9a/8fqQWA2oBs+Cr - 098c90W8yx3DGo/o5aFBtx3NKegfx92n8oZPYIE16SNS/z6/rXv3AAijqsnbAgAA + H4sIAAAAAAAEA7XRTQrCMBAF4KsMs67YpD9gll14ABU3KiUmYw22SUlTRMS7qwjmANUDzPt483Z3 + NBoFS9DKjlBgymB9JQoDJqhpUN70wTiLwo5tm6B311p5koF0HUxHQ5Bd/zrjKWezlM9YBmwhciay + Ah/JJ5zHcA6VvJC/Qe+dHtV0pfwqWVQy2BhrScPJOT21RxTyKORQjUGd/9OkiE4BW2ooyGNLw36+ + 9KP55cvKCJWwopM3Dfn3tL+c5/AE0GdNo2MCAAA= headers: Access-Control-Allow-Headers: - '*' @@ -33,13 +33,13 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:47:51 GMT + - Sat, 21 Aug 2021 19:42:51 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_product_to_shopping_list_valid.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_product_to_shopping_list_valid.yaml index ac3c4e1..cf18404 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_product_to_shopping_list_valid.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_product_to_shopping_list_valid.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:35:10 GMT + - Mon, 10 May 2021 07:22:01 GMT Server: - nginx/1.18.0 X-Powered-By: diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_products_to_nonexistant_shopping_list.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_products_to_nonexistant_shopping_list.yaml index 7ac23c5..f404caa 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_products_to_nonexistant_shopping_list.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_missing_products_to_nonexistant_shopping_list.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 20 Feb 2021 16:56:56 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 Transfer-Encoding: diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_nonexistant_product_to_shopping_list.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_nonexistant_product_to_shopping_list.yaml index acb849e..9ed25b2 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_nonexistant_product_to_shopping_list.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_nonexistant_product_to_shopping_list.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 20 Feb 2021 16:56:56 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 Transfer-Encoding: diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_valid.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_valid.yaml index bab7144..585babe 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_valid.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_add_product_to_shopping_list_valid.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:37:30 GMT + - Mon, 10 May 2021 07:22:01 GMT Server: - nginx/1.18.0 X-Powered-By: diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_clear_shopping_list_valid.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_clear_shopping_list_valid.yaml index e609737..eabd3ee 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_clear_shopping_list_valid.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_clear_shopping_list_valid.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:39:09 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 X-Powered-By: diff --git a/test/cassettes/test_shoppinglist/TestShoppingList.test_remove_product_in_shopping_list_valid.yaml b/test/cassettes/test_shoppinglist/TestShoppingList.test_remove_product_in_shopping_list_valid.yaml index e05a6e6..0822c2d 100644 --- a/test/cassettes/test_shoppinglist/TestShoppingList.test_remove_product_in_shopping_list_valid.yaml +++ b/test/cassettes/test_shoppinglist/TestShoppingList.test_remove_product_in_shopping_list_valid.yaml @@ -31,7 +31,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 19:42:40 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 X-Powered-By: diff --git a/test/cassettes/test_stock/TestStock.test_get_expired_products_valid.yaml b/test/cassettes/test_stock/TestStock.test_get_expired_products_valid.yaml index d83a479..b3b7330 100644 --- a/test/cassettes/test_stock/TestStock.test_get_expired_products_valid.yaml +++ b/test/cassettes/test_stock/TestStock.test_get_expired_products_valid.yaml @@ -15,22 +15,30 @@ interactions: response: body: string: !!binary | - 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 + 6D+8pujLy3+VxNCchigAAA== headers: Access-Control-Allow-Headers: - '*' @@ -45,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:53 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 Transfer-Encoding: @@ -97,7 +105,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:53 GMT + - Mon, 10 May 2021 07:22:02 GMT Server: - nginx/1.18.0 Transfer-Encoding: diff --git a/test/cassettes/test_stock/TestStock.test_get_missing_products_valid.yaml b/test/cassettes/test_stock/TestStock.test_get_missing_products_valid.yaml index 1ce7db1..340f2dd 100644 --- a/test/cassettes/test_stock/TestStock.test_get_missing_products_valid.yaml +++ b/test/cassettes/test_stock/TestStock.test_get_missing_products_valid.yaml @@ -15,22 +15,30 @@ interactions: response: body: string: !!binary | - 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 + 6D+8pujLy3+VxNCchigAAA== headers: Access-Control-Allow-Headers: - '*' @@ -45,7 +53,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:54 GMT + - Mon, 10 May 2021 07:22:03 GMT Server: - nginx/1.18.0 Transfer-Encoding: @@ -96,7 +104,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:54 GMT + - Mon, 10 May 2021 07:22:03 GMT Server: - nginx/1.18.0 Transfer-Encoding: @@ -148,7 +156,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:54 GMT + - Mon, 10 May 2021 07:22:03 GMT Server: - nginx/1.18.0 Transfer-Encoding: @@ -200,7 +208,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:54 GMT + - Mon, 10 May 2021 07:22:03 GMT Server: - nginx/1.18.0 Transfer-Encoding: @@ -253,7 +261,7 @@ interactions: Content-Type: - application/json Date: - - Sat, 13 Feb 2021 20:02:54 GMT + - Mon, 10 May 2021 07:22:03 GMT Server: - nginx/1.18.0 Transfer-Encoding: diff --git a/test/cassettes/test_product/TestProduct.test_product_get_details_invalid_no_data.yaml b/test/cassettes/test_tasks/TestTasks.test_complete_task_invalid.yaml similarity index 62% rename from test/cassettes/test_product/TestProduct.test_product_get_details_invalid_no_data.yaml rename to test/cassettes/test_tasks/TestTasks.test_complete_task_invalid.yaml index fd45562..1a18f10 100644 --- a/test/cassettes/test_product/TestProduct.test_product_get_details_invalid_no_data.yaml +++ b/test/cassettes/test_tasks/TestTasks.test_complete_task_invalid.yaml @@ -1,20 +1,24 @@ interactions: - request: - body: null + body: '{"done_time": "2021-08-23T09:10:00.314599+00:00"}' headers: Accept-Encoding: - gzip, deflate Connection: - keep-alive + Content-Length: + - '49' + Content-Type: + - application/json User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json - method: GET - uri: https://localhost/api/stock/products/-1 + method: POST + uri: https://localhost/api/tasks/1000/complete response: body: - string: '{"error_message":"Product does not exist or is inactive"}' + string: '{"error_message":"Task does not exist"}' headers: Access-Control-Allow-Headers: - '*' @@ -27,13 +31,13 @@ interactions: Content-Type: - application/json Date: - - Fri, 12 Feb 2021 05:48:23 GMT + - Mon, 23 Aug 2021 09:10:01 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 400 message: Bad Request diff --git a/test/cassettes/test_tasks/TestTasks.test_complete_task_valid.yaml b/test/cassettes/test_tasks/TestTasks.test_complete_task_valid.yaml new file mode 100644 index 0000000..5a3a791 --- /dev/null +++ b/test/cassettes/test_tasks/TestTasks.test_complete_task_valid.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '{"done_time": "2021-08-23T09:06:38.501659+00:00"}' + headers: + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '49' + Content-Type: + - application/json + User-Agent: + - python-requests/2.26.0 + accept: + - application/json + method: POST + uri: https://localhost/api/tasks/4/complete + response: + body: + string: '' + headers: + Access-Control-Allow-Headers: + - '*' + Access-Control-Allow-Methods: + - GET, POST, PUT, DELETE, OPTIONS + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json + Date: + - Mon, 23 Aug 2021 09:06:38 GMT + Server: + - nginx/1.20.1 + X-Powered-By: + - PHP/8.0.9 + status: + code: 204 + message: No Content +version: 1 diff --git a/test/cassettes/test_tasks/TestTasks.test_complete_task_valid_with_defaults.yaml b/test/cassettes/test_tasks/TestTasks.test_complete_task_valid_with_defaults.yaml new file mode 100644 index 0000000..c2a585c --- /dev/null +++ b/test/cassettes/test_tasks/TestTasks.test_complete_task_valid_with_defaults.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: '{"done_time": "2021-08-23T09:07:57.290165+00:00"}' + headers: + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '49' + Content-Type: + - application/json + User-Agent: + - python-requests/2.26.0 + accept: + - application/json + method: POST + uri: https://localhost/api/tasks/3/complete + response: + body: + string: '' + headers: + Access-Control-Allow-Headers: + - '*' + Access-Control-Allow-Methods: + - GET, POST, PUT, DELETE, OPTIONS + Access-Control-Allow-Origin: + - '*' + Connection: + - keep-alive + Content-Type: + - application/json + Date: + - Mon, 23 Aug 2021 09:07:58 GMT + Server: + - nginx/1.20.1 + X-Powered-By: + - PHP/8.0.9 + status: + code: 204 + message: No Content +version: 1 diff --git a/test/cassettes/test_tasks/TestTasks.test_get_tasks_valid.yaml b/test/cassettes/test_tasks/TestTasks.test_get_tasks_valid.yaml index b69ba79..8b44e36 100644 --- a/test/cassettes/test_tasks/TestTasks.test_get_tasks_valid.yaml +++ b/test/cassettes/test_tasks/TestTasks.test_get_tasks_valid.yaml @@ -7,7 +7,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 accept: - application/json method: GET @@ -15,12 +15,14 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAEA9VUTWvDMAz9K8bnBvLRZmt+QGHXsdsYxsRaappYwXZWwth/n8SSht3SkctuQvKz - 9Pz0/PoprZGVzOROOt0Bhc/Qa+tFPINotNcNCIPoqW4g1N720aKTlRvallIDKKMjw/I0T5P0MSlS - PoqOc3Ooou0gRN31M7AmUIN+VLfuOgTbODAqohoC+KXi8apqD4Sg4nLRrWNWirSs9kV1eJBfu4lQ - vhA6ob8I7YywXe/xg2h5rMeVhI5JdrifUEGQjQnxlZNCLzpcWLB1gvxlfn69jeff/56fO/yr+XkL - pvc/WVomLQK2A5tBvKMX17OOIiJ5hUJw4omzDVCOfMQGEhcYw3rSRz56l4t+HLmxauXCmreOl3Cd - avns/fXfwKYE3r4BnWLYgdoEAAA= + H4sIAAAAAAAEA+2WX2uDMBDAv0rIc4Wqbcd8HmWDPYyxPY0hQU+bVY0kcUWG332X+ZfqoI7uqX3T + S+4ud7/cXd6+KA+pZy9oxlKgHn2GnHFJ9A5IzCSLgYRCSLqgIahA8lxzkVEvK5IERQX4IdNGzVk6 + trV0LOfGbBUZypb1h695CkqzNG/VAlSJhSz9xjNTiscZhL4WfqFAtnIpDn4gAXfjUm+k82W7xL71 + VrbnbtDpsRXqdaEZo014d5AK8or/qBFxqbRfL9QBJexIcPoRViZurvKElY1JOvSV80AXEvyIJzBw + WS1om43BeZuz3gskglbHiT/9WBtaVYs6EU7HeCvknrAsJDzNpfhE0lIE5bSrEWPXstdm6wzG7pjO + ZTPGhDSMn6T4gECr6eT/iXNv/IWpvT1teYTVsWxnJla8UMdFd9lY+wp75NE5S3fV3ReD9IfTuClc + kfYD4Wzd+N+QrjukW46dmBElksIMVxIJSQ47pokWOHvxEzLyYKQxoAznshnIZA/lL01j6h6YATmn + Y9fj8Frd5plSP1vaKbrpuJlSdE/vrnMfRlcEw7eRyUb1/g1XhIa7rgoAAA== headers: Access-Control-Allow-Headers: - '*' @@ -35,105 +37,13 @@ interactions: Content-Type: - application/json Date: - - Thu, 11 Feb 2021 05:27:14 GMT + - Sat, 21 Aug 2021 19:42:54 GMT Server: - - nginx/1.18.0 + - nginx/1.20.1 Transfer-Encoding: - chunked X-Powered-By: - - PHP/7.4.14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - accept: - - application/json - method: GET - uri: https://localhost/api/tasks - response: - body: - string: !!binary | - H4sIAAAAAAAEA9VUTWvDMAz9K8bnBvLRZmt+QGHXsdsYxsRaappYwXZWwth/n8SSht3SkctuQvKz - 9Pz0/PoprZGVzOROOt0Bhc/Qa+tFPINotNcNCIPoqW4g1N720aKTlRvallIDKKMjw/I0T5P0MSlS - PoqOc3Ooou0gRN31M7AmUIN+VLfuOgTbODAqohoC+KXi8apqD4Sg4nLRrWNWirSs9kV1eJBfu4lQ - vhA6ob8I7YywXe/xg2h5rMeVhI5JdrifUEGQjQnxlZNCLzpcWLB1gvxlfn69jeff/56fO/yr+XkL - pvc/WVomLQK2A5tBvKMX17OOIiJ5hUJw4omzDVCOfMQGEhcYw3rSRz56l4t+HLmxauXCmreOl3Cd - avns/fXfwKYE3r4BnWLYgdoEAAA= - headers: - Access-Control-Allow-Headers: - - '*' - Access-Control-Allow-Methods: - - GET, POST, PUT, DELETE, OPTIONS - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 11 Feb 2021 05:30:13 GMT - Server: - - nginx/1.18.0 - Transfer-Encoding: - - chunked - X-Powered-By: - - PHP/7.4.14 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - accept: - - application/json - method: GET - uri: https://localhost/api/tasks - response: - body: - string: !!binary | - H4sIAAAAAAAEA9VUTWvDMAz9K8bnBvLRZmt+QGHXsdsYxsRaappYwXZWwth/n8SSht3SkctuQvKz - 9Pz0/PoprZGVzOROOt0Bhc/Qa+tFPINotNcNCIPoqW4g1N720aKTlRvallIDKKMjw/I0T5P0MSlS - PoqOc3Ooou0gRN31M7AmUIN+VLfuOgTbODAqohoC+KXi8apqD4Sg4nLRrWNWirSs9kV1eJBfu4lQ - vhA6ob8I7YywXe/xg2h5rMeVhI5JdrifUEGQjQnxlZNCLzpcWLB1gvxlfn69jeff/56fO/yr+XkL - pvc/WVomLQK2A5tBvKMX17OOIiJ5hUJw4omzDVCOfMQGEhcYw3rSRz56l4t+HLmxauXCmreOl3Cd - avns/fXfwKYE3r4BnWLYgdoEAAA= - headers: - Access-Control-Allow-Headers: - - '*' - Access-Control-Allow-Methods: - - GET, POST, PUT, DELETE, OPTIONS - Access-Control-Allow-Origin: - - '*' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 11 Feb 2021 05:31:56 GMT - Server: - - nginx/1.18.0 - Transfer-Encoding: - - chunked - X-Powered-By: - - PHP/7.4.14 + - PHP/8.0.9 status: code: 200 message: OK diff --git a/test/test_battery.py b/test/test_battery.py index bcef2c0..7dad178 100644 --- a/test/test_battery.py +++ b/test/test_battery.py @@ -8,7 +8,7 @@ class TestBattery: def test_get_batteries_valid(self, grocy): batteries = grocy.batteries() - assert len(batteries) == 4 + assert len(batteries) == 5 assert isinstance(batteries[0].last_tracked_time, datetime) @pytest.mark.vcr @@ -16,7 +16,7 @@ def test_get_battery_details_valid(self, grocy): battery = grocy.battery(1) assert battery.id == 1 - assert battery.name == "Battery1" + assert battery.name == "Le new battery" assert battery.description == "Warranty ends 2023" assert battery.used_in == "TV remote control" assert battery.charge_interval_days == 0 @@ -24,7 +24,7 @@ def test_get_battery_details_valid(self, grocy): assert isinstance(battery.last_charged, datetime) assert battery.next_estimated_charge_time is None assert battery.userfields is None - assert battery.charge_cycles_count == 4 + assert battery.charge_cycles_count == 6 @pytest.mark.vcr def test_charge_battery(self, grocy): diff --git a/test/test_chores.py b/test/test_chores.py index 7e56442..0a19823 100644 --- a/test/test_chores.py +++ b/test/test_chores.py @@ -4,6 +4,7 @@ from pygrocy.data_models.chore import AssignmentType, Chore, PeriodType from pygrocy.data_models.user import User +from pygrocy.errors.grocy_error import GrocyError class TestChores: @@ -42,3 +43,21 @@ def test_get_chore_details(self, grocy): assert chore_details.next_execution_assigned_user.id == 2 assert chore_details.next_execution_assigned_to_user_id == 2 assert chore_details.userfields is None + + @pytest.mark.vcr + def test_execute_chore_valid(self, grocy): + result = grocy.execute_chore(1) + assert not isinstance(result, GrocyError) + + @pytest.mark.vcr + def test_execute_chore_valid_with_data(self, grocy): + result = grocy.execute_chore(1, done_by=1, tracked_time=datetime.now()) + assert not isinstance(result, GrocyError) + + @pytest.mark.vcr + def test_execute_chore_invalid(self, grocy): + with pytest.raises(GrocyError) as exc_info: + grocy.execute_chore(1000) + + error = exc_info.value + assert error.status_code == 400 diff --git a/test/test_generic.py b/test/test_generic.py index 18706ed..7c47b24 100644 --- a/test/test_generic.py +++ b/test/test_generic.py @@ -35,8 +35,8 @@ def test_generic_update_invalid_id(self, grocy): grocy.update_generic(EntityType.BATTERIES, 1000, updated_data) error = exc_info.value - assert error.status_code == 500 - assert error.message[:7] == "Call to" + assert error.status_code == 400 + assert error.message == "Object not found" @pytest.mark.vcr def test_generic_update_invalid_data(self, grocy): diff --git a/test/test_misc.py b/test/test_misc.py new file mode 100644 index 0000000..1e1ee8e --- /dev/null +++ b/test/test_misc.py @@ -0,0 +1,15 @@ +from pygrocy.data_models.product import ProductBarcode +from pygrocy.grocy_api_client import ProductBarcodeData + + +class TestMisc: + def test_158_productbarcode_deserialization(self): + parsed_data = {"barcode": "123"} + data = ProductBarcodeData(parsed_data) + + barcode = ProductBarcode(data) + result = barcode.toJson() + + assert result is not None + assert "barcode" in result + assert "123" in result diff --git a/test/test_product.py b/test/test_product.py index a28a03c..44c52fc 100644 --- a/test/test_product.py +++ b/test/test_product.py @@ -1,6 +1,6 @@ import pytest -from pygrocy.data_models.product import Product +from pygrocy.data_models.product import Product, ProductBarcode from pygrocy.errors.grocy_error import GrocyError @@ -22,9 +22,13 @@ def test_product_get_details_valid(self, grocy): assert isinstance(product, Product) assert product.name == "Cheese" assert product.available_amount == 5 - assert len(product.barcodes) == 0 assert product.product_group_id == 6 + assert len(product.product_barcodes) == 1 + barcode = product.product_barcodes[0] + assert isinstance(barcode, ProductBarcode) + assert barcode.barcode == "12345" + @pytest.mark.vcr def test_product_no_barcodes(self, grocy): stock = grocy.stock() diff --git a/test/test_tasks.py b/test/test_tasks.py index 42facd0..e1a1c6f 100644 --- a/test/test_tasks.py +++ b/test/test_tasks.py @@ -1,5 +1,9 @@ +from datetime import datetime + import pytest +from pygrocy.errors import GrocyError + class TestTasks: @pytest.mark.vcr @@ -9,3 +13,19 @@ def test_get_tasks_valid(self, grocy): assert len(tasks) == 6 assert tasks[0].id == 1 assert tasks[0].name == "Repair the garage door" + + @pytest.mark.vcr + def test_complete_task_valid_with_defaults(self, grocy): + grocy.complete_task(3) + + @pytest.mark.vcr + def test_complete_task_valid(self, grocy): + grocy.complete_task(4, done_time=datetime.now()) + + @pytest.mark.vcr + def test_complete_task_invalid(self, grocy): + with pytest.raises(GrocyError) as exc_info: + grocy.complete_task(1000) + + error = exc_info.value + assert error.status_code == 400