Skip to content

Instantly share code, notes, and snippets.

@tjkhara
Created October 27, 2020 11:55
Show Gist options
  • Select an option

  • Save tjkhara/9b77c82c673022799bad730055a23a31 to your computer and use it in GitHub Desktop.

Select an option

Save tjkhara/9b77c82c673022799bad730055a23a31 to your computer and use it in GitHub Desktop.
pytest output
(venv_course_resources) tkhara@tkhara-lenovo:~/notes/testing/admas_kinfu/api_testing_py_course_material/automation_code/ssqaapitest$ pytest
=========================================================================================================== test session starts ===========================================================================================================
platform linux -- Python 3.8.5, pytest-5.4.2, py-1.9.0, pluggy-0.13.1
rootdir: /home/tkhara/notes/testing/admas_kinfu/api_testing_py_course_material/automation_code/ssqaapitest, inifile: pytest.ini
plugins: html-2.1.1, metadata-1.10.0
collected 23 items
tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[None]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799560&oauth_nonce=736fa79f1c2d1ea81732fdc92243a4d55ce8dd62&oauth_signature_method=HMAC-SHA256&oauth_signature=geCMTlCfyJFqWX4QfZMMLKphKXO9XsNhpBLW%2FDixcZ0%3D HTTP/1.1" 404 None
FAILED [ 4%]
tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[percent]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=e88d593a28c5cb36feb10bff058b1e0835dd9763&oauth_signature_method=HMAC-SHA256&oauth_signature=vof11%2FKmv8c0j5rZnM%2F5M6XDJ6%2BEdwBUKuhO1hpylq4%3D HTTP/1.1" 404 None
FAILED [ 8%]
tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[fixed_product]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=ae83b32af217fc44dbfef845e21852cb075a0c38&oauth_signature_method=HMAC-SHA256&oauth_signature=FhasD9cNAoCIT7zKoTE7mnLTiq%2BShgcGsMCzBeNAHwo%3D HTTP/1.1" 404 None
FAILED [ 13%]
tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[fixed_cart]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=14ec4c29225d2c930e93cc4ac35fd3479d578c3c&oauth_signature_method=HMAC-SHA256&oauth_signature=6tyghPSfRmA4ZUsCrGNpNbqzmRus9%2FrEDZC%2FgtkZ1fg%3D HTTP/1.1" 404 None
FAILED [ 17%]
tests/coupons/test_create_coupons_smoke.py::test_create_coupon_with_invalid_discount_type
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:71 Testing create coupon api for with invalid 'discount_type'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=9e9210e93d3513a5062fd94be1eae55faa42c998&oauth_signature_method=HMAC-SHA256&oauth_signature=FcDOnxD1biVrZtCCrrwhEA6C%2BLVsnhVOkmv3C6jAxjQ%3D HTTP/1.1" 404 None
FAILED [ 21%]
tests/customers/test_create_customers_smoke.py::test_create_customer_only_email_password
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
INFO root:test_create_customers_smoke.py:16 TEST: Create new customer with email and password only.
DEBUG root:genericUtilities.py:8 Generating random email and password.
DEBUG root:genericUtilities.py:24 Randomly generated email and password: {'email': '[email protected]', 'password': 'RmkzDSihNWxXJawJbpnc'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '901484351436944261603799561'), ('oauth_timestamp', '1603799561'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=901484351436944261603799561&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799561&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D901484351436944261603799561%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799561%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: 9PoBo/8enmsD2sMZEZ4f38uF5VA=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'81', b'Authorization': b'OAuth oauth_nonce="901484351436944261603799561", oauth_timestamp="1603799561", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="9PoBo%2F8enmsD2sMZEZ4f38uF5VA%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"email": "[email protected]", "password": "RmkzDSihNWxXJawJbpnc"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/customers HTTP/1.1" 201 893
DEBUG root:requestsUtility.py:40 POST API response: {'id': 3, 'date_created': '2020-10-27T11:52:41', 'date_created_gmt': '2020-10-27T11:52:41', 'date_modified': '2020-10-27T11:52:41', 'date_modified_gmt': '2020-10-27T11:52:41', 'email': '[email protected]', 'first_name': '', 'last_name': '', 'role': 'customer', 'username': 'testuser_akhsvkktza', 'billing': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': '', 'email': '', 'phone': ''}, 'shipping': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': ''}, 'is_paying_customer': False, 'avatar_url': 'http://1.gravatar.com/avatar/7a03549055efbeb4110584e82a31439d?s=96&d=mm&r=g', 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers/3'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers'}]}}
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_users
WHERE user_email = '[email protected]';
PASSED [ 26%]
tests/customers/test_create_customers_smoke.py::test_create_customer_fail_for_existing_email
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_users
ORDER BY id DESC LIMIT 5000;
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '18446103221323533911603799561'), ('oauth_timestamp', '1603799561'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=18446103221323533911603799561&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799561&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D18446103221323533911603799561%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799561%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: npgBNCW6FZNvTZaheDRnNKC64Jk=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'70', b'Authorization': b'OAuth oauth_nonce="18446103221323533911603799561", oauth_timestamp="1603799561", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="npgBNCW6FZNvTZaheDRnNKC64Jk%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"email": "[email protected]", "password": "Password1"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/customers HTTP/1.1" 400 188
DEBUG root:requestsUtility.py:40 POST API response: {'code': 'registration-error-email-exists', 'message': 'An account is already registered with your email address. <a href="#" class="showlogin">Please log in.</a>', 'data': {'status': 400}}
FAILED [ 30%]
tests/customers/test_get_customers_smoke.py::test_get_all_customers
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '104660177873079803711603799562'), ('oauth_timestamp', '1603799562'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=104660177873079803711603799562&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799562&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D104660177873079803711603799562%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799562%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: dIPHqo6DGrb56z+xCXbkRAdsSIA=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="104660177873079803711603799562", oauth_timestamp="1603799562", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="dIPHqo6DGrb56z%2BxCXbkRAdsSIA%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/customers HTTP/1.1" 200 1789
DEBUG root:requestsUtility.py:56 GET API response: [{'id': 3, 'date_created': '2020-10-27T11:52:41', 'date_created_gmt': '2020-10-27T11:52:41', 'date_modified': '2020-10-27T11:52:41', 'date_modified_gmt': '2020-10-27T11:52:41', 'email': '[email protected]', 'first_name': '', 'last_name': '', 'role': 'customer', 'username': 'testuser_akhsvkktza', 'billing': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': '', 'email': '', 'phone': ''}, 'shipping': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': ''}, 'is_paying_customer': False, 'avatar_url': 'http://1.gravatar.com/avatar/7a03549055efbeb4110584e82a31439d?s=96&d=mm&r=g', 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers/3'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers'}]}}, {'id': 2, 'date_created': '2020-10-27T11:51:27', 'date_created_gmt': '2020-10-27T11:51:27', 'date_modified': '2020-10-27T11:51:27', 'date_modified_gmt': '2020-10-27T11:51:27', 'email': '[email protected]', 'first_name': '', 'last_name': '', 'role': 'customer', 'username': 'testuser_llwhxylhuf', 'billing': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': '', 'email': '', 'phone': ''}, 'shipping': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': ''}, 'is_paying_customer': False, 'avatar_url': 'http://2.gravatar.com/avatar/85d82cfad6e5669a965619ea55217cfc?s=96&d=mm&r=g', 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers/2'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers'}]}}]
PASSED [ 34%]
tests/orders/test_apply_valid_coupon_to_order.py::test_apply_valid_coupon_to_order
------------------------------------------------------------------------------------------------------------- live log setup --------------------------------------------------------------------------------------------------------------
DEBUG root:products_helper.py:21 List products page number: 1
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '152653307863480255511603799562'), ('oauth_timestamp', '1603799562'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=152653307863480255511603799562&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799562&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D152653307863480255511603799562%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799562%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: qL3fuybsT+WH+jB0jAMM59BHR7c=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'28', b'Authorization': b'OAuth oauth_nonce="152653307863480255511603799562", oauth_timestamp="1603799562", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="qL3fuybsT%2BWH%2BjB0jAMM59BHR7c%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"per_page": 100, "page": 1}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 None
DEBUG root:requestsUtility.py:56 GET API response: [{'id': 34, 'name': 'WordPress Pennant', 'slug': 'wordpress-pennant', 'permalink': 'http://192.168.1.100:11002/product/wordpress-pennant/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'external', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is an external product.</p>\n', 'sku': 'wp-pennant', 'price': '11.05', 'regular_price': '11.05', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>11.05</bdi></span>', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': 'https://mercantile.wordpress.org/product/wordpress-pennant/', 'button_text': 'Buy on the WordPress swag store!', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 29, 'name': 'Decor', 'slug': 'decor'}], 'tags': [], 'images': [{'id': 57, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/pennant-1.jpg', 'name': 'pennant-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/34'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 33, 'name': 'Logo Collection', 'slug': 'logo-collection', 'permalink': 'http://192.168.1.100:11002/product/logo-collection/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'grouped', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a grouped product.</p>\n', 'sku': 'logo-collection', 'price': '18', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 28, 'name': 'Clothing', 'slug': 'clothing'}], 'tags': [], 'images': [{'id': 56, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/logo-1.jpg', 'name': 'logo-1.jpg', 'alt': ''}, {'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}, {'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [8, 9, 10], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/33'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 32, 'name': 'Beanie with Logo', 'slug': 'beanie-with-logo', 'permalink': 'http://192.168.1.100:11002/product/beanie-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-beanie-logo', 'price': '18', 'regular_price': '20', 'sale_price': '18', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 16, 17, 18], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 55, 'date_created': '2019-01-16T13:02:12', 'date_created_gmt': '2019-01-16T13:02:12', 'date_modified': '2019-01-16T13:02:12', 'date_modified_gmt': '2019-01-16T13:02:12', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/beanie-with-logo-1.jpg', 'name': 'beanie-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Red']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/32'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 31, 'name': 'T-Shirt with Logo', 'slug': 't-shirt-with-logo', 'permalink': 'http://192.168.1.100:11002/product/t-shirt-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-tshirt-logo', 'price': '18', 'regular_price': '18', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 11, 21, 14], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 54, 'date_created': '2019-01-16T13:02:11', 'date_created_gmt': '2019-01-16T13:02:11', 'date_modified': '2019-01-16T13:02:11', 'date_modified_gmt': '2019-01-16T13:02:11', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/t-shirt-with-logo-1.jpg', 'name': 't-shirt-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/31'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 24, 'name': 'Single', 'slug': 'single', 'permalink': 'http://192.168.1.100:11002/product/single/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-single', 'price': '2', 'regular_price': '3', 'sale_price': '2', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>3.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>2.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': 'a0fdda89-5f0e-440d-93f5-188e12c910d1', 'name': 'Single', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [23], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 53, 'date_created': '2019-01-16T13:02:10', 'date_created_gmt': '2019-01-16T13:02:10', 'date_modified': '2019-01-16T13:02:10', 'date_modified_gmt': '2019-01-16T13:02:10', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/single-1.jpg', 'name': 'single-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/24'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 23, 'name': 'Album', 'slug': 'album', 'permalink': 'http://192.168.1.100:11002/product/album/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-album', 'price': '15', 'regular_price': '15', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>15.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': '356506a5-cc15-41b9-801b-9104dda1702c', 'name': 'Single 1', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}, {'id': '18e70c59-59f3-43a3-8525-ce1ea0c12943', 'name': 'Single 2', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/album.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [24], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 52, 'date_created': '2019-01-16T13:02:09', 'date_created_gmt': '2019-01-16T13:02:09', 'date_modified': '2019-01-16T13:02:09', 'date_modified_gmt': '2019-01-16T13:02:09', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/album-1.jpg', 'name': 'album-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/23'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 22, 'name': 'Polo', 'slug': 'polo', 'permalink': 'http://192.168.1.100:11002/product/polo/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-polo', 'price': '20', 'regular_price': '20', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 21, 14, 31], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 51, 'date_created': '2019-01-16T13:02:08', 'date_created_gmt': '2019-01-16T13:02:08', 'date_modified': '2019-01-16T13:02:08', 'date_modified_gmt': '2019-01-16T13:02:08', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/polo-2.jpg', 'name': 'polo-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Blue']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/22'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 21, 'name': 'Long Sleeve Tee', 'slug': 'long-sleeve-tee', 'permalink': 'http://192.168.1.100:11002/product/long-sleeve-tee/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-long-sleeve-tee', 'price': '25', 'regular_price': '25', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>25.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 22, 14, 31], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Green']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/21'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 20, 'name': 'Hoodie with Zipper', 'slug': 'hoodie-with-zipper', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-zipper/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-zipper', 'price': '45', 'regular_price': '45', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [12, 13], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/20'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 19, 'name': 'Hoodie with Pocket', 'slug': 'hoodie-with-pocket', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-pocket/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'hidden', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-pocket', 'price': '35', 'regular_price': '45', 'sale_price': '35', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>35.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [20, 12, 13], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 48, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-pocket-2.jpg', 'name': 'hoodie-with-pocket-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/19'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 18, 'name': 'Sunglasses', 'slug': 'sunglasses', 'permalink': 'http://192.168.1.100:11002/product/sunglasses/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-sunglasses', 'price': '90', 'regular_price': '90', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>90.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 17, 32, 16], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 47, 'date_created': '2019-01-16T13:02:05', 'date_created_gmt': '2019-01-16T13:02:05', 'date_modified': '2019-01-16T13:02:05', 'date_modified_gmt': '2019-01-16T13:02:05', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/sunglasses-2.jpg', 'name': 'sunglasses-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/18'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 17, 'name': 'Cap', 'slug': 'cap', 'permalink': 'http://192.168.1.100:11002/product/cap/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-cap', 'price': '16', 'regular_price': '18', 'sale_price': '16', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>16.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 32, 18, 16], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 46, 'date_created': '2019-01-16T13:02:04', 'date_created_gmt': '2019-01-16T13:02:04', 'date_modified': '2019-01-16T13:02:04', 'date_modified_gmt': '2019-01-16T13:02:04', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/cap-2.jpg', 'name': 'cap-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Yellow']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/17'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 16, 'name': 'Belt', 'slug': 'belt', 'permalink': 'http://192.168.1.100:11002/product/belt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-belt', 'price': '55', 'regular_price': '65', 'sale_price': '55', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>65.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>55.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 32, 18, 17], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 45, 'date_created': '2019-01-16T13:02:03', 'date_created_gmt': '2019-01-16T13:02:03', 'date_modified': '2019-01-16T13:02:03', 'date_modified_gmt': '2019-01-16T13:02:03', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/belt-2.jpg', 'name': 'belt-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/16'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 15, 'name': 'Beanie', 'slug': 'beanie', 'permalink': 'http://192.168.1.100:11002/product/beanie/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-beanie', 'price': '18', 'regular_price': '20', 'sale_price': '18', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [16, 18, 17, 32], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 44, 'date_created': '2019-01-16T13:02:02', 'date_created_gmt': '2019-01-16T13:02:02', 'date_modified': '2019-01-16T13:02:02', 'date_modified_gmt': '2019-01-16T13:02:02', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/beanie-2.jpg', 'name': 'beanie-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Red']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/15'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 14, 'name': 'T-Shirt', 'slug': 't-shirt', 'permalink': 'http://192.168.1.100:11002/product/t-shirt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-tshirt', 'price': '18', 'regular_price': '18', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 31, 11, 21], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 43, 'date_created': '2019-01-16T13:02:02', 'date_created_gmt': '2019-01-16T13:02:02', 'date_modified': '2019-01-16T13:02:02', 'date_modified_gmt': '2019-01-16T13:02:02', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/tshirt-2.jpg', 'name': 'tshirt-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/14'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 13, 'name': 'Hoodie with Logo', 'slug': 'hoodie-with-logo', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-logo/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-logo', 'price': '45', 'regular_price': '45', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 1, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [12, 20], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 42, 'date_created': '2019-01-16T13:02:01', 'date_created_gmt': '2019-01-16T13:02:01', 'date_modified': '2019-01-16T13:02:01', 'date_modified_gmt': '2019-01-16T13:02:01', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-logo-2.jpg', 'name': 'hoodie-with-logo-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Blue']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/13'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 12, 'name': 'Hoodie', 'slug': 'hoodie', 'permalink': 'http://192.168.1.100:11002/product/hoodie/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'variable', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a variable product.</p>\n', 'sku': 'woo-hoodie', 'price': '42', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>42.00</bdi></span> &ndash; <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [13, 20], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 39, 'date_created': '2019-01-16T13:01:58', 'date_created_gmt': '2019-01-16T13:01:58', 'date_modified': '2019-01-16T13:01:58', 'date_modified_gmt': '2019-01-16T13:01:58', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-2.jpg', 'name': 'hoodie-2.jpg', 'alt': ''}, {'id': 36, 'date_created': '2019-01-16T13:01:56', 'date_created_gmt': '2019-01-16T13:01:56', 'date_modified': '2019-01-16T13:01:56', 'date_modified_gmt': '2019-01-16T13:01:56', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vneck-tee-2.jpg', 'name': 'vneck-tee-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': True, 'options': ['Blue', 'Green', 'Red']}, {'id': 0, 'name': 'Logo', 'position': 1, 'visible': True, 'variation': True, 'options': ['Yes', 'No']}], 'default_attributes': [], 'variations': [35, 28, 29, 30], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/12'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 11, 'name': 'V-Neck T-Shirt', 'slug': 'v-neck-t-shirt', 'permalink': 'http://192.168.1.100:11002/product/v-neck-t-shirt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'variable', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a variable product.</p>\n', 'sku': 'woo-vneck-tee', 'price': '15', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>15.00</bdi></span> &ndash; <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 14, 31, 21], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 36, 'date_created': '2019-01-16T13:01:56', 'date_created_gmt': '2019-01-16T13:01:56', 'date_modified': '2019-01-16T13:01:56', 'date_modified_gmt': '2019-01-16T13:01:56', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vneck-tee-2.jpg', 'name': 'vneck-tee-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': True, 'options': ['Blue', 'Green', 'Red']}, {'id': 2, 'name': 'size', 'position': 1, 'visible': True, 'variation': True, 'options': ['Large', 'Medium', 'Small']}], 'default_attributes': [], 'variations': [25, 26, 27], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/11'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}]
DEBUG root:products_helper.py:21 List products page number: 2
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '134209694547956855941603799566'), ('oauth_timestamp', '1603799566'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=134209694547956855941603799566&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799566&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D134209694547956855941603799566%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799566%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: jlvomsOGuNJtZ6NjpOPP7bAy9tk=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'28', b'Authorization': b'OAuth oauth_nonce="134209694547956855941603799566", oauth_timestamp="1603799566", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="jlvomsOGuNJtZ6NjpOPP7bAy9tk%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"per_page": 100, "page": 2}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 2
DEBUG root:requestsUtility.py:56 GET API response: []
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799566&oauth_nonce=fbabbce479307232e1446176a139690d22075337&oauth_signature_method=HMAC-SHA256&oauth_signature=AUAXDfI5hTCsKJsSPYI98p8lYG99YRTglVdCExX7A6s%3D HTTP/1.1" 404 None
FAILED [ 39%]
tests/orders/test_create_order_smoke.py::test_create_paid_order_guest_user
------------------------------------------------------------------------------------------------------------- live log setup --------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" LIMIT 5000;
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799566&oauth_nonce=7e17a35432963230cb0d8752c8b52bf0f1267ddd&oauth_signature_method=HMAC-SHA256&oauth_signature=gyJdLhy8myEs9Y23Zy3C4a7w5i4d%2BSPeIOrpBkkv0Kw%3D HTTP/1.1" 404 None
FAILED [ 43%]
tests/orders/test_create_order_smoke.py::test_create_paid_order_new_created_customer
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:genericUtilities.py:8 Generating random email and password.
DEBUG root:genericUtilities.py:24 Randomly generated email and password: {'email': '[email protected]', 'password': 'MUCqdcUEuZEhYfrpZwWE'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '156570970005800360081603799567'), ('oauth_timestamp', '1603799567'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=156570970005800360081603799567&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799567&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D156570970005800360081603799567%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799567%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: rKa/LkqGTA4sbi1MSVT3VpxCk64=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'70', b'Authorization': b'OAuth oauth_nonce="156570970005800360081603799567", oauth_timestamp="1603799567", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="rKa%2FLkqGTA4sbi1MSVT3VpxCk64%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"email": "[email protected]", "password": "Password1"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/customers HTTP/1.1" 201 893
DEBUG root:requestsUtility.py:40 POST API response: {'id': 4, 'date_created': '2020-10-27T11:52:47', 'date_created_gmt': '2020-10-27T11:52:47', 'date_modified': '2020-10-27T11:52:47', 'date_modified_gmt': '2020-10-27T11:52:47', 'email': '[email protected]', 'first_name': '', 'last_name': '', 'role': 'customer', 'username': 'testuser_bxvxqvbcgu', 'billing': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': '', 'email': '', 'phone': ''}, 'shipping': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': ''}, 'is_paying_customer': False, 'avatar_url': 'http://2.gravatar.com/avatar/bb1f58655c0373e6afd781235eb7fef1?s=96&d=mm&r=g', 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers/4'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers'}]}}
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799567&oauth_nonce=d297bddfb476f484f485a5c47dedde6d9dc7b7cd&oauth_signature_method=HMAC-SHA256&oauth_signature=2c6YYsH%2FovGe5UdpPuAitthAOPcXC7jZqx52XmyDRo8%3D HTTP/1.1" 404 None
FAILED [ 47%]
tests/orders/test_update_order.py::test_update_order_status[cancelled]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=9a4864f24ebc001a9a374220dbdf1b4f026eeffe&oauth_signature_method=HMAC-SHA256&oauth_signature=TpygQqT6WVA4kqDEnI8p4LuP7up9pZbCkU5n578JBZM%3D HTTP/1.1" 404 None
FAILED [ 52%]
tests/orders/test_update_order.py::test_update_order_status[completed]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=3ed4f427de28530f7a285059aad25e38a8cf50d3&oauth_signature_method=HMAC-SHA256&oauth_signature=bGIOOFlrzXbFuviIl9tM6MmlJ5RRHH95GnDDp06k5p4%3D HTTP/1.1" 404 None
FAILED [ 56%]
tests/orders/test_update_order.py::test_update_order_status[on-hold]
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=ca26a73585ee894aef3b366754272047f5d0752a&oauth_signature_method=HMAC-SHA256&oauth_signature=Pp4XQcYVcmrlXN9DOq4MVWLzw4n4wKFgyPHZYu11BdM%3D HTTP/1.1" 404 None
FAILED [ 60%]
tests/orders/test_update_order.py::test_update_order_status_to_random_string
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=5f46d515acbe4e4eff7a63f8b09844d140fa9d1f&oauth_signature_method=HMAC-SHA256&oauth_signature=U2EqLbizGSpKNCG1G1Dij6Asr13j1m4G8dKuwcVk92o%3D HTTP/1.1" 404 None
FAILED [ 65%]
tests/orders/test_update_order.py::test_update_order_customer_note
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=e57a4165643768d6b2ed0afa4d31153a1a777b2c&oauth_signature_method=HMAC-SHA256&oauth_signature=Rfa5TPOVXzZa80075Y1dF9WBpn%2FGGYdbib1vITetUik%3D HTTP/1.1" 404 None
FAILED [ 69%]
tests/products/test_create_products_smoke.py::test_create_1_simple_product
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '74110971692747932561603799568'), ('oauth_timestamp', '1603799568'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=74110971692747932561603799568&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799568&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D74110971692747932561603799568%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799568%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: ZkHJrlS9bWCJfT4hRivyHF1R9ek=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'76', b'Authorization': b'OAuth oauth_nonce="74110971692747932561603799568", oauth_timestamp="1603799568", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="ZkHJrlS9bWCJfT4hRivyHF1R9ek%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"name": "vbrnculdojzogrbzrmad", "type": "simple", "regular_price": "10.99"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/products HTTP/1.1" 201 1798
DEBUG root:requestsUtility.py:40 POST API response: {'id': 59, 'name': 'vbrnculdojzogrbzrmad', 'slug': 'vbrnculdojzogrbzrmad', 'permalink': 'http://192.168.1.100:11002/product/vbrnculdojzogrbzrmad/', 'date_created': '2020-10-27T11:52:49', 'date_created_gmt': '2020-10-27T11:52:49', 'date_modified': '2020-10-27T11:52:49', 'date_modified_gmt': '2020-10-27T11:52:49', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '10.99', 'regular_price': '10.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>10.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/59'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE ID = 59;
PASSED [ 73%]
tests/products/test_get_products_smoke.py::test_get_all_products
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '45337533818132673731603799569'), ('oauth_timestamp', '1603799569'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=45337533818132673731603799569&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799569&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D45337533818132673731603799569%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799569%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: j56I3zL3NOjkJZ/b178I2XgVWl4=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="45337533818132673731603799569", oauth_timestamp="1603799569", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="j56I3zL3NOjkJZ%2Fb178I2XgVWl4%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 None
DEBUG root:requestsUtility.py:56 GET API response: [{'id': 59, 'name': 'vbrnculdojzogrbzrmad', 'slug': 'vbrnculdojzogrbzrmad', 'permalink': 'http://192.168.1.100:11002/product/vbrnculdojzogrbzrmad/', 'date_created': '2020-10-27T11:52:49', 'date_created_gmt': '2020-10-27T11:52:49', 'date_modified': '2020-10-27T11:52:49', 'date_modified_gmt': '2020-10-27T11:52:49', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '10.99', 'regular_price': '10.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>10.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/59'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 34, 'name': 'WordPress Pennant', 'slug': 'wordpress-pennant', 'permalink': 'http://192.168.1.100:11002/product/wordpress-pennant/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'external', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is an external product.</p>\n', 'sku': 'wp-pennant', 'price': '11.05', 'regular_price': '11.05', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>11.05</bdi></span>', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': 'https://mercantile.wordpress.org/product/wordpress-pennant/', 'button_text': 'Buy on the WordPress swag store!', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 29, 'name': 'Decor', 'slug': 'decor'}], 'tags': [], 'images': [{'id': 57, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/pennant-1.jpg', 'name': 'pennant-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/34'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 33, 'name': 'Logo Collection', 'slug': 'logo-collection', 'permalink': 'http://192.168.1.100:11002/product/logo-collection/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'grouped', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a grouped product.</p>\n', 'sku': 'logo-collection', 'price': '18', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 28, 'name': 'Clothing', 'slug': 'clothing'}], 'tags': [], 'images': [{'id': 56, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/logo-1.jpg', 'name': 'logo-1.jpg', 'alt': ''}, {'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}, {'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [8, 9, 10], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/33'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 32, 'name': 'Beanie with Logo', 'slug': 'beanie-with-logo', 'permalink': 'http://192.168.1.100:11002/product/beanie-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-beanie-logo', 'price': '18', 'regular_price': '20', 'sale_price': '18', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [18, 15, 17, 16], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 55, 'date_created': '2019-01-16T13:02:12', 'date_created_gmt': '2019-01-16T13:02:12', 'date_modified': '2019-01-16T13:02:12', 'date_modified_gmt': '2019-01-16T13:02:12', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/beanie-with-logo-1.jpg', 'name': 'beanie-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Red']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/32'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 31, 'name': 'T-Shirt with Logo', 'slug': 't-shirt-with-logo', 'permalink': 'http://192.168.1.100:11002/product/t-shirt-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-tshirt-logo', 'price': '18', 'regular_price': '18', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [14, 22, 11, 21], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 54, 'date_created': '2019-01-16T13:02:11', 'date_created_gmt': '2019-01-16T13:02:11', 'date_modified': '2019-01-16T13:02:11', 'date_modified_gmt': '2019-01-16T13:02:11', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/t-shirt-with-logo-1.jpg', 'name': 't-shirt-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/31'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 24, 'name': 'Single', 'slug': 'single', 'permalink': 'http://192.168.1.100:11002/product/single/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-single', 'price': '2', 'regular_price': '3', 'sale_price': '2', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>3.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>2.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': 'a0fdda89-5f0e-440d-93f5-188e12c910d1', 'name': 'Single', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [23], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 53, 'date_created': '2019-01-16T13:02:10', 'date_created_gmt': '2019-01-16T13:02:10', 'date_modified': '2019-01-16T13:02:10', 'date_modified_gmt': '2019-01-16T13:02:10', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/single-1.jpg', 'name': 'single-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/24'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 23, 'name': 'Album', 'slug': 'album', 'permalink': 'http://192.168.1.100:11002/product/album/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-album', 'price': '15', 'regular_price': '15', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>15.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': '356506a5-cc15-41b9-801b-9104dda1702c', 'name': 'Single 1', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}, {'id': '18e70c59-59f3-43a3-8525-ce1ea0c12943', 'name': 'Single 2', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/album.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [24], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 52, 'date_created': '2019-01-16T13:02:09', 'date_created_gmt': '2019-01-16T13:02:09', 'date_modified': '2019-01-16T13:02:09', 'date_modified_gmt': '2019-01-16T13:02:09', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/album-1.jpg', 'name': 'album-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/23'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 22, 'name': 'Polo', 'slug': 'polo', 'permalink': 'http://192.168.1.100:11002/product/polo/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-polo', 'price': '20', 'regular_price': '20', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 31, 21, 14], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 51, 'date_created': '2019-01-16T13:02:08', 'date_created_gmt': '2019-01-16T13:02:08', 'date_modified': '2019-01-16T13:02:08', 'date_modified_gmt': '2019-01-16T13:02:08', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/polo-2.jpg', 'name': 'polo-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Blue']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/22'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 21, 'name': 'Long Sleeve Tee', 'slug': 'long-sleeve-tee', 'permalink': 'http://192.168.1.100:11002/product/long-sleeve-tee/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-long-sleeve-tee', 'price': '25', 'regular_price': '25', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>25.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 22, 31, 14], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Green']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/21'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 20, 'name': 'Hoodie with Zipper', 'slug': 'hoodie-with-zipper', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-zipper/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-zipper', 'price': '45', 'regular_price': '45', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [13, 12], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/20'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}]
PASSED [ 78%]
tests/products/test_get_products_smoke.py::test_get_product_by_id
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" LIMIT 5000;
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '19695004222882823461603799571'), ('oauth_timestamp', '1603799571'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=19695004222882823461603799571&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799571&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/18
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F18&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D19695004222882823461603799571%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799571%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: aSWEUEm/YuthlgkkSDKmH5nBlI4=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/18
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="19695004222882823461603799571", oauth_timestamp="1603799571", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="aSWEUEm%2FYuthlgkkSDKmH5nBlI4%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products/18 HTTP/1.1" 200 2394
DEBUG root:requestsUtility.py:56 GET API response: {'id': 18, 'name': 'Sunglasses', 'slug': 'sunglasses', 'permalink': 'http://192.168.1.100:11002/product/sunglasses/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-sunglasses', 'price': '90', 'regular_price': '90', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>90.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 16, 32, 17], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 47, 'date_created': '2019-01-16T13:02:05', 'date_created_gmt': '2019-01-16T13:02:05', 'date_modified': '2019-01-16T13:02:05', 'date_modified_gmt': '2019-01-16T13:02:05', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/sunglasses-2.jpg', 'name': 'sunglasses-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/18'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
PASSED [ 82%]
tests/products/test_get_products_with_filter.py::TestListProductsWithFilter::test_list_products_with_filter_after
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:products_helper.py:21 List products page number: 1
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '29939810693953684121603799571'), ('oauth_timestamp', '1603799571'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=29939810693953684121603799571&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799571&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D29939810693953684121603799571%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799571%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: iS4ElxUC8kM2h4o5poiO7X6ZfzY=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'60', b'Authorization': b'OAuth oauth_nonce="29939810693953684121603799571", oauth_timestamp="1603799571", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="iS4ElxUC8kM2h4o5poiO7X6ZfzY%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"after": "2020-01-01T17:22:51", "per_page": 100, "page": 1}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 1803
DEBUG root:requestsUtility.py:56 GET API response: [{'id': 59, 'name': 'vbrnculdojzogrbzrmad', 'slug': 'vbrnculdojzogrbzrmad', 'permalink': 'http://192.168.1.100:11002/product/vbrnculdojzogrbzrmad/', 'date_created': '2020-10-27T11:52:49', 'date_created_gmt': '2020-10-27T11:52:49', 'date_modified': '2020-10-27T11:52:49', 'date_modified_gmt': '2020-10-27T11:52:49', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '10.99', 'regular_price': '10.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>10.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/59'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}]
DEBUG root:products_helper.py:21 List products page number: 2
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '122428960015446939871603799572'), ('oauth_timestamp', '1603799572'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=122428960015446939871603799572&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799572&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D122428960015446939871603799572%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799572%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: IkyS1oF7nme7StBiSW4fjHcHnxc=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'60', b'Authorization': b'OAuth oauth_nonce="122428960015446939871603799572", oauth_timestamp="1603799572", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="IkyS1oF7nme7StBiSW4fjHcHnxc%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"after": "2020-01-01T17:22:51", "per_page": 100, "page": 2}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 2
DEBUG root:requestsUtility.py:56 GET API response: []
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" AND post_date > "2020-01-01T17:22:51"
LIMIT 10000;
PASSED [ 86%]
tests/products/test_update_product_price.py::test_update_regular_price_should_update_price
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" LIMIT 5000;
FAILED [ 91%]
tests/products/test_update_product_price.py::test_adding_sale_price_should_set_on_sale_flag_true
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts WHERE post_type = 'product' AND id NOT IN
(SELECT post_id FROM wordpress.wp_postmeta WHERE `meta_key`="_sale_price");
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '43445836205381450191603799573'), ('oauth_timestamp', '1603799573'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=43445836205381450191603799573&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799573&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/33
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F33&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D43445836205381450191603799573%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799573%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: jfGLmU+XYHQnDmuyhOW3DcbbvWM=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/33
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="43445836205381450191603799573", oauth_timestamp="1603799573", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="jfGLmU%2BXYHQnDmuyhOW3DcbbvWM%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products/33 HTTP/1.1" 200 3155
DEBUG root:requestsUtility.py:56 GET API response: {'id': 33, 'name': 'Logo Collection', 'slug': 'logo-collection', 'permalink': 'http://192.168.1.100:11002/product/logo-collection/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'grouped', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a grouped product.</p>\n', 'sku': 'logo-collection', 'price': '18', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 28, 'name': 'Clothing', 'slug': 'clothing'}], 'tags': [], 'images': [{'id': 56, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/logo-1.jpg', 'name': 'logo-1.jpg', 'alt': ''}, {'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}, {'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [8, 9, 10], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/33'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
FAILED [ 95%]
tests/products/test_update_product_price.py::test_update_on_sale_field_buy_updating_sale_price
-------------------------------------------------------------------------------------------------------------- live log call --------------------------------------------------------------------------------------------------------------
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '30589402703920399881603799573'), ('oauth_timestamp', '1603799573'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=30589402703920399881603799573&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799573&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D30589402703920399881603799573%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799573%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: Q+FYEykyFah9riNedqR9KUcLmUU=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'76', b'Authorization': b'OAuth oauth_nonce="30589402703920399881603799573", oauth_timestamp="1603799573", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="Q%2BFYEykyFah9riNedqR9KUcLmUU%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"name": "aulbdhotlbfydstduccf", "type": "simple", "regular_price": "86.99"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/products HTTP/1.1" 201 1800
DEBUG root:requestsUtility.py:40 POST API response: {'id': 60, 'name': 'aulbdhotlbfydstduccf', 'slug': 'aulbdhotlbfydstduccf', 'permalink': 'http://192.168.1.100:11002/product/aulbdhotlbfydstduccf/', 'date_created': '2020-10-27T11:52:53', 'date_created_gmt': '2020-10-27T11:52:53', 'date_modified': '2020-10-27T11:52:53', 'date_modified_gmt': '2020-10-27T11:52:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '86.99', 'regular_price': '86.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>86.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0', 'rating_count': 0, 'related_ids': [59], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/60'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [PUT]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '58740454131609507641603799574'), ('oauth_timestamp', '1603799574'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=58740454131609507641603799574&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799574&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: PUT&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F60&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D58740454131609507641603799574%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799574%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: xQolfz1EddgibtO6q55aFBpVm9I=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'35', b'Authorization': b'OAuth oauth_nonce="58740454131609507641603799574", oauth_timestamp="1603799574", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="xQolfz1EddgibtO6q55aFBpVm9I%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"sale_price": "65.24249999999999"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "PUT /wp-json/wc/v3/products/60 HTTP/1.1" 200 1990
DEBUG root:requestsUtility.py:72 PUT API response: {'id': 60, 'name': 'aulbdhotlbfydstduccf', 'slug': 'aulbdhotlbfydstduccf', 'permalink': 'http://192.168.1.100:11002/product/aulbdhotlbfydstduccf/', 'date_created': '2020-10-27T11:52:53', 'date_created_gmt': '2020-10-27T11:52:53', 'date_modified': '2020-10-27T11:52:54', 'date_modified_gmt': '2020-10-27T11:52:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '65.24249999999999', 'regular_price': '86.99', 'sale_price': '65.24249999999999', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>86.99</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>65.24</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0', 'rating_count': 0, 'related_ids': [59], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/60'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '85241435244232719431603799574'), ('oauth_timestamp', '1603799574'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=85241435244232719431603799574&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799574&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F60&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D85241435244232719431603799574%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799574%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: oJJwHVjmC1bAuSn5KT1PNF3qCME=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="85241435244232719431603799574", oauth_timestamp="1603799574", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="oJJwHVjmC1bAuSn5KT1PNF3qCME%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products/60 HTTP/1.1" 200 1993
DEBUG root:requestsUtility.py:56 GET API response: {'id': 60, 'name': 'aulbdhotlbfydstduccf', 'slug': 'aulbdhotlbfydstduccf', 'permalink': 'http://192.168.1.100:11002/product/aulbdhotlbfydstduccf/', 'date_created': '2020-10-27T11:52:53', 'date_created_gmt': '2020-10-27T11:52:53', 'date_modified': '2020-10-27T11:52:54', 'date_modified_gmt': '2020-10-27T11:52:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '65.24249999999999', 'regular_price': '86.99', 'sale_price': '65.24249999999999', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>86.99</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>65.24</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [59], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/60'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [PUT]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '177401749151791622251603799574'), ('oauth_timestamp', '1603799574'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=177401749151791622251603799574&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799574&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: PUT&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F60&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D177401749151791622251603799574%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799574%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: TprqX5/mXGNkl721I7iqisKRpaY=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'18', b'Authorization': b'OAuth oauth_nonce="177401749151791622251603799574", oauth_timestamp="1603799574", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="TprqX5%2FmXGNkl721I7iqisKRpaY%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"sale_price": ""}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "PUT /wp-json/wc/v3/products/60 HTTP/1.1" 200 1800
DEBUG root:requestsUtility.py:72 PUT API response: {'id': 60, 'name': 'aulbdhotlbfydstduccf', 'slug': 'aulbdhotlbfydstduccf', 'permalink': 'http://192.168.1.100:11002/product/aulbdhotlbfydstduccf/', 'date_created': '2020-10-27T11:52:53', 'date_created_gmt': '2020-10-27T11:52:53', 'date_modified': '2020-10-27T11:52:54', 'date_modified_gmt': '2020-10-27T11:52:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '86.99', 'regular_price': '86.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>86.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0', 'rating_count': 0, 'related_ids': [59], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/60'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '154062385468263693901603799574'), ('oauth_timestamp', '1603799574'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=154062385468263693901603799574&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799574&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F60&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D154062385468263693901603799574%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799574%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: tHLPvJSierS6XkIlqk/SUAtoUn4=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/60
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="154062385468263693901603799574", oauth_timestamp="1603799574", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="tHLPvJSierS6XkIlqk%2FSUAtoUn4%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products/60 HTTP/1.1" 200 1803
DEBUG root:requestsUtility.py:56 GET API response: {'id': 60, 'name': 'aulbdhotlbfydstduccf', 'slug': 'aulbdhotlbfydstduccf', 'permalink': 'http://192.168.1.100:11002/product/aulbdhotlbfydstduccf/', 'date_created': '2020-10-27T11:52:53', 'date_created_gmt': '2020-10-27T11:52:53', 'date_modified': '2020-10-27T11:52:54', 'date_modified_gmt': '2020-10-27T11:52:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '', 'short_description': '', 'sku': '', 'price': '86.99', 'regular_price': '86.99', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>86.99</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [59], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 15, 'name': 'Uncategorized', 'slug': 'uncategorized'}], 'tags': [], 'images': [], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/60'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
PASSED [100%]
================================================================================================================ FAILURES =================================================================================================================
_____________________________________________________________________________________________ test_create_coupon_percent_discount_type[None] ______________________________________________________________________________________________
my_setup = {'coupon_helper': <ssqaapitest.src.helpers.coupons_helper.CouponsHelper object at 0x7fdb6834cb80>}, discount_type = None
@pytest.mark.parametrize("discount_type",
[
pytest.param(None, marks=[pytest.mark.tcid36, pytest.mark.smoke]),
pytest.param('percent', marks=[pytest.mark.tcid37, pytest.mark.smoke]),
pytest.param('fixed_product', marks=pytest.mark.tcid38),
pytest.param('fixed_cart', marks=pytest.mark.tcid39),
])
def test_create_coupon_percent_discount_type(my_setup, discount_type):
"""
Creates a coupon with given 'discount type' verify the coupon is created.
"""
logger.info("Testing create coupon api for 50% off coupon.")
# one of the tests is for not sending dicount type and verify the defualt is used, is if None is given check for default
expected_discount_type = discount_type if discount_type else 'fixed_cart'
pct_off = str(random.randint(50, 90)) + ".00"
coupon_code = generate_random_coupon_code(sufix="tcid37", length=5)
# get the helper object
coupon_helper = my_setup['coupon_helper']
# prepare data and call api
payload = dict()
payload['code'] = coupon_code
payload['amount'] = pct_off
if discount_type:
payload['discount_type'] = discount_type
> rs_coupon = coupon_helper.call_create_coupon(payload=payload)
tests/coupons/test_create_coupons_smoke.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/coupons_helper.py:13: in call_create_coupon
return self.woo_helper.post('coupons', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799560&oauth_nonce=736fa79f1c2d1ea81732fdc92243a4d55ce8dd62&oauth_signature_method=HMAC-SHA256&oauth_signature=geCMTlCfyJFqWX4QfZMMLKphKXO9XsNhpBLW%2FDixcZ0%3D HTTP/1.1" 404 None
____________________________________________________________________________________________ test_create_coupon_percent_discount_type[percent] ____________________________________________________________________________________________
my_setup = {'coupon_helper': <ssqaapitest.src.helpers.coupons_helper.CouponsHelper object at 0x7fdb6834cb80>}, discount_type = 'percent'
@pytest.mark.parametrize("discount_type",
[
pytest.param(None, marks=[pytest.mark.tcid36, pytest.mark.smoke]),
pytest.param('percent', marks=[pytest.mark.tcid37, pytest.mark.smoke]),
pytest.param('fixed_product', marks=pytest.mark.tcid38),
pytest.param('fixed_cart', marks=pytest.mark.tcid39),
])
def test_create_coupon_percent_discount_type(my_setup, discount_type):
"""
Creates a coupon with given 'discount type' verify the coupon is created.
"""
logger.info("Testing create coupon api for 50% off coupon.")
# one of the tests is for not sending dicount type and verify the defualt is used, is if None is given check for default
expected_discount_type = discount_type if discount_type else 'fixed_cart'
pct_off = str(random.randint(50, 90)) + ".00"
coupon_code = generate_random_coupon_code(sufix="tcid37", length=5)
# get the helper object
coupon_helper = my_setup['coupon_helper']
# prepare data and call api
payload = dict()
payload['code'] = coupon_code
payload['amount'] = pct_off
if discount_type:
payload['discount_type'] = discount_type
> rs_coupon = coupon_helper.call_create_coupon(payload=payload)
tests/coupons/test_create_coupons_smoke.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/coupons_helper.py:13: in call_create_coupon
return self.woo_helper.post('coupons', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=e88d593a28c5cb36feb10bff058b1e0835dd9763&oauth_signature_method=HMAC-SHA256&oauth_signature=vof11%2FKmv8c0j5rZnM%2F5M6XDJ6%2BEdwBUKuhO1hpylq4%3D HTTP/1.1" 404 None
_________________________________________________________________________________________ test_create_coupon_percent_discount_type[fixed_product] _________________________________________________________________________________________
my_setup = {'coupon_helper': <ssqaapitest.src.helpers.coupons_helper.CouponsHelper object at 0x7fdb6834cb80>}, discount_type = 'fixed_product'
@pytest.mark.parametrize("discount_type",
[
pytest.param(None, marks=[pytest.mark.tcid36, pytest.mark.smoke]),
pytest.param('percent', marks=[pytest.mark.tcid37, pytest.mark.smoke]),
pytest.param('fixed_product', marks=pytest.mark.tcid38),
pytest.param('fixed_cart', marks=pytest.mark.tcid39),
])
def test_create_coupon_percent_discount_type(my_setup, discount_type):
"""
Creates a coupon with given 'discount type' verify the coupon is created.
"""
logger.info("Testing create coupon api for 50% off coupon.")
# one of the tests is for not sending dicount type and verify the defualt is used, is if None is given check for default
expected_discount_type = discount_type if discount_type else 'fixed_cart'
pct_off = str(random.randint(50, 90)) + ".00"
coupon_code = generate_random_coupon_code(sufix="tcid37", length=5)
# get the helper object
coupon_helper = my_setup['coupon_helper']
# prepare data and call api
payload = dict()
payload['code'] = coupon_code
payload['amount'] = pct_off
if discount_type:
payload['discount_type'] = discount_type
> rs_coupon = coupon_helper.call_create_coupon(payload=payload)
tests/coupons/test_create_coupons_smoke.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/coupons_helper.py:13: in call_create_coupon
return self.woo_helper.post('coupons', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=ae83b32af217fc44dbfef845e21852cb075a0c38&oauth_signature_method=HMAC-SHA256&oauth_signature=FhasD9cNAoCIT7zKoTE7mnLTiq%2BShgcGsMCzBeNAHwo%3D HTTP/1.1" 404 None
__________________________________________________________________________________________ test_create_coupon_percent_discount_type[fixed_cart] ___________________________________________________________________________________________
my_setup = {'coupon_helper': <ssqaapitest.src.helpers.coupons_helper.CouponsHelper object at 0x7fdb6834cb80>}, discount_type = 'fixed_cart'
@pytest.mark.parametrize("discount_type",
[
pytest.param(None, marks=[pytest.mark.tcid36, pytest.mark.smoke]),
pytest.param('percent', marks=[pytest.mark.tcid37, pytest.mark.smoke]),
pytest.param('fixed_product', marks=pytest.mark.tcid38),
pytest.param('fixed_cart', marks=pytest.mark.tcid39),
])
def test_create_coupon_percent_discount_type(my_setup, discount_type):
"""
Creates a coupon with given 'discount type' verify the coupon is created.
"""
logger.info("Testing create coupon api for 50% off coupon.")
# one of the tests is for not sending dicount type and verify the defualt is used, is if None is given check for default
expected_discount_type = discount_type if discount_type else 'fixed_cart'
pct_off = str(random.randint(50, 90)) + ".00"
coupon_code = generate_random_coupon_code(sufix="tcid37", length=5)
# get the helper object
coupon_helper = my_setup['coupon_helper']
# prepare data and call api
payload = dict()
payload['code'] = coupon_code
payload['amount'] = pct_off
if discount_type:
payload['discount_type'] = discount_type
> rs_coupon = coupon_helper.call_create_coupon(payload=payload)
tests/coupons/test_create_coupons_smoke.py:51:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/coupons_helper.py:13: in call_create_coupon
return self.woo_helper.post('coupons', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:33 Testing create coupon api for 50% off coupon.
DEBUG root:coupons_helper.py:12 Calling 'Create Coupon'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=14ec4c29225d2c930e93cc4ac35fd3479d578c3c&oauth_signature_method=HMAC-SHA256&oauth_signature=6tyghPSfRmA4ZUsCrGNpNbqzmRus9%2FrEDZC%2FgtkZ1fg%3D HTTP/1.1" 404 None
______________________________________________________________________________________________ test_create_coupon_with_invalid_discount_type ______________________________________________________________________________________________
@pytest.mark.tcid40
def test_create_coupon_with_invalid_discount_type():
"""
Verifies using a random string in 'discount_type' of create order will fail with correct error message.
"""
logger.info("Testing create coupon api for with invalid 'discount_type'.")
# prepare data and call api
payload = dict()
payload['code'] = generate_random_coupon_code(sufix="tcid40", length=5)
payload['amount'] = str(random.randint(50, 90)) + ".00"
payload['discount_type'] = generate_random_string()
> rs_coupon = WooAPIUtility().post('coupons', params=payload, expected_status_code=400)
tests/coupons/test_create_coupons_smoke.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
INFO root:test_create_coupons_smoke.py:71 Testing create coupon api for with invalid 'discount_type'.
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/coupons?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799561&oauth_nonce=9e9210e93d3513a5062fd94be1eae55faa42c998&oauth_signature_method=HMAC-SHA256&oauth_signature=FcDOnxD1biVrZtCCrrwhEA6C%2BLVsnhVOkmv3C6jAxjQ%3D HTTP/1.1" 404 None
______________________________________________________________________________________________ test_create_customer_fail_for_existing_email _______________________________________________________________________________________________
@pytest.mark.customers
@pytest.mark.tcid47
def test_create_customer_fail_for_existing_email():
# get existing email from db
cust_dao = CustomersDAO()
existing_cust = cust_dao.get_random_customer_from_db()
existing_email = existing_cust[0]['user_email']
# call the api
req_helper = RequestsUtility()
payload = {"email": existing_email, "password": "Password1"}
cust_api_info = req_helper.post(endpoint='customers', payload=payload, expected_status_code=400)
assert cust_api_info['code'] == 'registration-error-email-exists', f"Create customer with" \
f"existing user error 'code' is not correct. Expected: 'registration-error-email-exists', " \
f"Actual: {cust_api_info['code']}"
> assert cust_api_info['message'] == 'An account is already registered with your email address. Please log in.', \
f"Create customer with existing user error 'message' is not correct. " \
f"Expected: 'An account is already registered with your email address. Please log in.', " \
f"Actual: {cust_api_info['message']}"
E AssertionError: Create customer with existing user error 'message' is not correct. Expected: 'An account is already registered with your email address. Please log in.', Actual: An account is already registered with your email address. <a href="#" class="showlogin">Please log in.</a>
E assert 'An account i...e log in.</a>' == 'An account i...lease log in.'
E - An account is already registered with your email address. Please log in.
E + An account is already registered with your email address. <a href="#" class="showlogin">Please log in.</a>
E ? ++++++++++++++++++++++++++++++ ++++
tests/customers/test_create_customers_smoke.py:58: AssertionError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_users
ORDER BY id DESC LIMIT 5000;
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '18446103221323533911603799561'), ('oauth_timestamp', '1603799561'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=18446103221323533911603799561&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799561&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D18446103221323533911603799561%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799561%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: npgBNCW6FZNvTZaheDRnNKC64Jk=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'70', b'Authorization': b'OAuth oauth_nonce="18446103221323533911603799561", oauth_timestamp="1603799561", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="npgBNCW6FZNvTZaheDRnNKC64Jk%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"email": "[email protected]", "password": "Password1"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/customers HTTP/1.1" 400 188
DEBUG root:requestsUtility.py:40 POST API response: {'code': 'registration-error-email-exists', 'message': 'An account is already registered with your email address. <a href="#" class="showlogin">Please log in.</a>', 'data': {'status': 400}}
____________________________________________________________________________________________________ test_apply_valid_coupon_to_order _____________________________________________________________________________________________________
my_setup_teardown = {'coupon_code': 'xevfex50off', 'discount_pct': '50.00', 'order_helper': <ssqaapitest.src.helpers.orders_helper.OrdersHelper object at 0x7fdb67294100>, 'product_id': 14, ...}
@pytest.mark.tcid60
def test_apply_valid_coupon_to_order(my_setup_teardown):
"""
Validates when x% coupon is applied to an order, the 'total' amount is reduced by x%
"""
# coupon info and product info in setup
# create payload and make call to create order
order_helper = OrdersHelper()
order_payload_addition = {
"line_items": [{"product_id": my_setup_teardown['product_id'], "quantity": 1}],
"coupon_lines": [{"code": my_setup_teardown['coupon_code']}],
"shipping_lines": [{"method_id": "flat_rate", "method_title": "Flat Rate", "total": "0.00"}]
}
> rs_order = order_helper.create_order(additional_args=order_payload_addition)
tests/orders/test_apply_valid_coupon_to_order.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
----------------------------------------------------------------------------------------------------------- Captured log setup ------------------------------------------------------------------------------------------------------------
DEBUG root:products_helper.py:21 List products page number: 1
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '152653307863480255511603799562'), ('oauth_timestamp', '1603799562'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=152653307863480255511603799562&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799562&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D152653307863480255511603799562%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799562%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: qL3fuybsT+WH+jB0jAMM59BHR7c=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'28', b'Authorization': b'OAuth oauth_nonce="152653307863480255511603799562", oauth_timestamp="1603799562", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="qL3fuybsT%2BWH%2BjB0jAMM59BHR7c%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"per_page": 100, "page": 1}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 None
DEBUG root:requestsUtility.py:56 GET API response: [{'id': 34, 'name': 'WordPress Pennant', 'slug': 'wordpress-pennant', 'permalink': 'http://192.168.1.100:11002/product/wordpress-pennant/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'external', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is an external product.</p>\n', 'sku': 'wp-pennant', 'price': '11.05', 'regular_price': '11.05', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>11.05</bdi></span>', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': 'https://mercantile.wordpress.org/product/wordpress-pennant/', 'button_text': 'Buy on the WordPress swag store!', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 29, 'name': 'Decor', 'slug': 'decor'}], 'tags': [], 'images': [{'id': 57, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/pennant-1.jpg', 'name': 'pennant-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/34'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 33, 'name': 'Logo Collection', 'slug': 'logo-collection', 'permalink': 'http://192.168.1.100:11002/product/logo-collection/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'grouped', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a grouped product.</p>\n', 'sku': 'logo-collection', 'price': '18', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 28, 'name': 'Clothing', 'slug': 'clothing'}], 'tags': [], 'images': [{'id': 56, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/logo-1.jpg', 'name': 'logo-1.jpg', 'alt': ''}, {'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}, {'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [8, 9, 10], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/33'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 32, 'name': 'Beanie with Logo', 'slug': 'beanie-with-logo', 'permalink': 'http://192.168.1.100:11002/product/beanie-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-beanie-logo', 'price': '18', 'regular_price': '20', 'sale_price': '18', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 16, 17, 18], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 55, 'date_created': '2019-01-16T13:02:12', 'date_created_gmt': '2019-01-16T13:02:12', 'date_modified': '2019-01-16T13:02:12', 'date_modified_gmt': '2019-01-16T13:02:12', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/beanie-with-logo-1.jpg', 'name': 'beanie-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Red']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/32'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 31, 'name': 'T-Shirt with Logo', 'slug': 't-shirt-with-logo', 'permalink': 'http://192.168.1.100:11002/product/t-shirt-with-logo/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'Woo-tshirt-logo', 'price': '18', 'regular_price': '18', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 11, 21, 14], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 54, 'date_created': '2019-01-16T13:02:11', 'date_created_gmt': '2019-01-16T13:02:11', 'date_modified': '2019-01-16T13:02:11', 'date_modified_gmt': '2019-01-16T13:02:11', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/t-shirt-with-logo-1.jpg', 'name': 't-shirt-with-logo-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/31'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 24, 'name': 'Single', 'slug': 'single', 'permalink': 'http://192.168.1.100:11002/product/single/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-single', 'price': '2', 'regular_price': '3', 'sale_price': '2', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>3.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>2.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': 'a0fdda89-5f0e-440d-93f5-188e12c910d1', 'name': 'Single', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [23], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 53, 'date_created': '2019-01-16T13:02:10', 'date_created_gmt': '2019-01-16T13:02:10', 'date_modified': '2019-01-16T13:02:10', 'date_modified_gmt': '2019-01-16T13:02:10', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/single-1.jpg', 'name': 'single-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/24'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 23, 'name': 'Album', 'slug': 'album', 'permalink': 'http://192.168.1.100:11002/product/album/', 'date_created': '2019-01-16T13:01:54', 'date_created_gmt': '2019-01-16T13:01:54', 'date_modified': '2019-01-16T13:01:54', 'date_modified_gmt': '2019-01-16T13:01:54', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.</p>\n', 'short_description': '<p>This is a simple, virtual product.</p>\n', 'sku': 'woo-album', 'price': '15', 'regular_price': '15', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>15.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': True, 'downloadable': True, 'downloads': [{'id': '356506a5-cc15-41b9-801b-9104dda1702c', 'name': 'Single 1', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg'}, {'id': '18e70c59-59f3-43a3-8525-ce1ea0c12943', 'name': 'Single 2', 'file': 'https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/album.jpg'}], 'download_limit': 1, 'download_expiry': 1, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': False, 'shipping_taxable': False, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [24], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 27, 'name': 'Music', 'slug': 'music'}], 'tags': [], 'images': [{'id': 52, 'date_created': '2019-01-16T13:02:09', 'date_created_gmt': '2019-01-16T13:02:09', 'date_modified': '2019-01-16T13:02:09', 'date_modified_gmt': '2019-01-16T13:02:09', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/album-1.jpg', 'name': 'album-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/23'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 22, 'name': 'Polo', 'slug': 'polo', 'permalink': 'http://192.168.1.100:11002/product/polo/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-polo', 'price': '20', 'regular_price': '20', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 21, 14, 31], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 51, 'date_created': '2019-01-16T13:02:08', 'date_created_gmt': '2019-01-16T13:02:08', 'date_modified': '2019-01-16T13:02:08', 'date_modified_gmt': '2019-01-16T13:02:08', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/polo-2.jpg', 'name': 'polo-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Blue']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/22'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 21, 'name': 'Long Sleeve Tee', 'slug': 'long-sleeve-tee', 'permalink': 'http://192.168.1.100:11002/product/long-sleeve-tee/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-long-sleeve-tee', 'price': '25', 'regular_price': '25', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>25.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [11, 22, 14, 31], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Green']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/21'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 20, 'name': 'Hoodie with Zipper', 'slug': 'hoodie-with-zipper', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-zipper/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-zipper', 'price': '45', 'regular_price': '45', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [12, 13], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/20'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 19, 'name': 'Hoodie with Pocket', 'slug': 'hoodie-with-pocket', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-pocket/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'hidden', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-pocket', 'price': '35', 'regular_price': '45', 'sale_price': '35', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>35.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [20, 12, 13], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 48, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-pocket-2.jpg', 'name': 'hoodie-with-pocket-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/19'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 18, 'name': 'Sunglasses', 'slug': 'sunglasses', 'permalink': 'http://192.168.1.100:11002/product/sunglasses/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-sunglasses', 'price': '90', 'regular_price': '90', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>90.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 17, 32, 16], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 47, 'date_created': '2019-01-16T13:02:05', 'date_created_gmt': '2019-01-16T13:02:05', 'date_modified': '2019-01-16T13:02:05', 'date_modified_gmt': '2019-01-16T13:02:05', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/sunglasses-2.jpg', 'name': 'sunglasses-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/18'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 17, 'name': 'Cap', 'slug': 'cap', 'permalink': 'http://192.168.1.100:11002/product/cap/', 'date_created': '2019-01-16T13:01:53', 'date_created_gmt': '2019-01-16T13:01:53', 'date_modified': '2019-01-16T13:01:53', 'date_modified_gmt': '2019-01-16T13:01:53', 'type': 'simple', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-cap', 'price': '16', 'regular_price': '18', 'sale_price': '16', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>16.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 32, 18, 16], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 46, 'date_created': '2019-01-16T13:02:04', 'date_created_gmt': '2019-01-16T13:02:04', 'date_modified': '2019-01-16T13:02:04', 'date_modified_gmt': '2019-01-16T13:02:04', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/cap-2.jpg', 'name': 'cap-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Yellow']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/17'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 16, 'name': 'Belt', 'slug': 'belt', 'permalink': 'http://192.168.1.100:11002/product/belt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-belt', 'price': '55', 'regular_price': '65', 'sale_price': '55', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>65.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>55.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [15, 32, 18, 17], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 45, 'date_created': '2019-01-16T13:02:03', 'date_created_gmt': '2019-01-16T13:02:03', 'date_modified': '2019-01-16T13:02:03', 'date_modified_gmt': '2019-01-16T13:02:03', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/belt-2.jpg', 'name': 'belt-2.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/16'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 15, 'name': 'Beanie', 'slug': 'beanie', 'permalink': 'http://192.168.1.100:11002/product/beanie/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-beanie', 'price': '18', 'regular_price': '20', 'sale_price': '18', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<del><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span></del> <ins><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span></ins>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [16, 18, 17, 32], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 25, 'name': 'Accessories', 'slug': 'accessories'}], 'tags': [], 'images': [{'id': 44, 'date_created': '2019-01-16T13:02:02', 'date_created_gmt': '2019-01-16T13:02:02', 'date_modified': '2019-01-16T13:02:02', 'date_modified_gmt': '2019-01-16T13:02:02', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/beanie-2.jpg', 'name': 'beanie-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Red']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/15'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 14, 'name': 'T-Shirt', 'slug': 't-shirt', 'permalink': 'http://192.168.1.100:11002/product/t-shirt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-tshirt', 'price': '18', 'regular_price': '18', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>18.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 31, 11, 21], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 43, 'date_created': '2019-01-16T13:02:02', 'date_created_gmt': '2019-01-16T13:02:02', 'date_modified': '2019-01-16T13:02:02', 'date_modified_gmt': '2019-01-16T13:02:02', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/tshirt-2.jpg', 'name': 'tshirt-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Gray']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/14'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 13, 'name': 'Hoodie with Logo', 'slug': 'hoodie-with-logo', 'permalink': 'http://192.168.1.100:11002/product/hoodie-with-logo/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'simple', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a simple product.</p>\n', 'sku': 'woo-hoodie-with-logo', 'price': '45', 'regular_price': '45', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 1, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [12, 20], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 42, 'date_created': '2019-01-16T13:02:01', 'date_created_gmt': '2019-01-16T13:02:01', 'date_modified': '2019-01-16T13:02:01', 'date_modified_gmt': '2019-01-16T13:02:01', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-logo-2.jpg', 'name': 'hoodie-with-logo-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': False, 'options': ['Blue']}], 'default_attributes': [], 'variations': [], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/13'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 12, 'name': 'Hoodie', 'slug': 'hoodie', 'permalink': 'http://192.168.1.100:11002/product/hoodie/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'variable', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a variable product.</p>\n', 'sku': 'woo-hoodie', 'price': '42', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>42.00</bdi></span> &ndash; <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>45.00</bdi></span>', 'on_sale': True, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [13, 20], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 23, 'name': 'Hoodies', 'slug': 'hoodies'}], 'tags': [], 'images': [{'id': 39, 'date_created': '2019-01-16T13:01:58', 'date_created_gmt': '2019-01-16T13:01:58', 'date_modified': '2019-01-16T13:01:58', 'date_modified_gmt': '2019-01-16T13:01:58', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-2.jpg', 'name': 'hoodie-2.jpg', 'alt': ''}, {'id': 36, 'date_created': '2019-01-16T13:01:56', 'date_created_gmt': '2019-01-16T13:01:56', 'date_modified': '2019-01-16T13:01:56', 'date_modified_gmt': '2019-01-16T13:01:56', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vneck-tee-2.jpg', 'name': 'vneck-tee-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': True, 'options': ['Blue', 'Green', 'Red']}, {'id': 0, 'name': 'Logo', 'position': 1, 'visible': True, 'variation': True, 'options': ['Yes', 'No']}], 'default_attributes': [], 'variations': [35, 28, 29, 30], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/12'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}, {'id': 11, 'name': 'V-Neck T-Shirt', 'slug': 'v-neck-t-shirt', 'permalink': 'http://192.168.1.100:11002/product/v-neck-t-shirt/', 'date_created': '2019-01-16T13:01:52', 'date_created_gmt': '2019-01-16T13:01:52', 'date_modified': '2019-01-16T13:01:52', 'date_modified_gmt': '2019-01-16T13:01:52', 'type': 'variable', 'status': 'publish', 'featured': True, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a variable product.</p>\n', 'sku': 'woo-vneck-tee', 'price': '15', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>15.00</bdi></span> &ndash; <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">&#8377;</span>20.00</bdi></span>', 'on_sale': False, 'purchasable': True, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [22, 14, 31, 21], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 22, 'name': 'Tshirts', 'slug': 'tshirts'}], 'tags': [], 'images': [{'id': 36, 'date_created': '2019-01-16T13:01:56', 'date_created_gmt': '2019-01-16T13:01:56', 'date_modified': '2019-01-16T13:01:56', 'date_modified_gmt': '2019-01-16T13:01:56', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vneck-tee-2.jpg', 'name': 'vneck-tee-2.jpg', 'alt': ''}], 'attributes': [{'id': 1, 'name': 'color', 'position': 0, 'visible': True, 'variation': True, 'options': ['Blue', 'Green', 'Red']}, {'id': 2, 'name': 'size', 'position': 1, 'visible': True, 'variation': True, 'options': ['Large', 'Medium', 'Small']}], 'default_attributes': [], 'variations': [25, 26, 27], 'grouped_products': [], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/11'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}]
DEBUG root:products_helper.py:21 List products page number: 2
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '134209694547956855941603799566'), ('oauth_timestamp', '1603799566'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=134209694547956855941603799566&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799566&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D134209694547956855941603799566%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799566%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: jlvomsOGuNJtZ6NjpOPP7bAy9tk=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'28', b'Authorization': b'OAuth oauth_nonce="134209694547956855941603799566", oauth_timestamp="1603799566", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="jlvomsOGuNJtZ6NjpOPP7bAy9tk%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"per_page": 100, "page": 2}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products HTTP/1.1" 200 2
DEBUG root:requestsUtility.py:56 GET API response: []
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799566&oauth_nonce=fbabbce479307232e1446176a139690d22075337&oauth_signature_method=HMAC-SHA256&oauth_signature=AUAXDfI5hTCsKJsSPYI98p8lYG99YRTglVdCExX7A6s%3D HTTP/1.1" 404 None
____________________________________________________________________________________________________ test_create_paid_order_guest_user ____________________________________________________________________________________________________
my_orders_smoke_setup = {'order_helper': <ssqaapitest.src.helpers.orders_helper.OrdersHelper object at 0x7fdb6723d280>, 'product_id': 34}
@pytest.mark.smoke
@pytest.mark.orders
@pytest.mark.tcid48
def test_create_paid_order_guest_user(my_orders_smoke_setup):
order_helper = my_orders_smoke_setup['order_helper']
customer_id = 0
product_id = my_orders_smoke_setup['product_id']
# make the call
info = {"line_items": [
{
"product_id": product_id,
"quantity": 1
}
]}
> order_json = order_helper.create_order(additional_args=info)
tests/orders/test_create_order_smoke.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
----------------------------------------------------------------------------------------------------------- Captured log setup ------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" LIMIT 5000;
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799566&oauth_nonce=7e17a35432963230cb0d8752c8b52bf0f1267ddd&oauth_signature_method=HMAC-SHA256&oauth_signature=gyJdLhy8myEs9Y23Zy3C4a7w5i4d%2BSPeIOrpBkkv0Kw%3D HTTP/1.1" 404 None
_______________________________________________________________________________________________ test_create_paid_order_new_created_customer _______________________________________________________________________________________________
my_orders_smoke_setup = {'order_helper': <ssqaapitest.src.helpers.orders_helper.OrdersHelper object at 0x7fdb6723d280>, 'product_id': 34}
@pytest.mark.smoke
@pytest.mark.orders
@pytest.mark.tcid49
def test_create_paid_order_new_created_customer(my_orders_smoke_setup):
# create helper objects
order_helper = my_orders_smoke_setup['order_helper']
customer_helper = CustomerHelper()
# make the call
cust_info = customer_helper.create_customer()
customer_id = cust_info['id']
product_id = my_orders_smoke_setup['product_id']
info = {"line_items": [
{
"product_id": product_id,
"quantity": 1
}
],
"customer_id": customer_id
}
> order_json = order_helper.create_order(additional_args=info)
tests/orders/test_create_order_smoke.py:66:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG root:genericUtilities.py:8 Generating random email and password.
DEBUG root:genericUtilities.py:24 Randomly generated email and password: {'email': '[email protected]', 'password': 'MUCqdcUEuZEhYfrpZwWE'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [POST]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '156570970005800360081603799567'), ('oauth_timestamp', '1603799567'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=156570970005800360081603799567&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799567&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: POST&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fcustomers&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D156570970005800360081603799567%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799567%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: rKa/LkqGTA4sbi1MSVT3VpxCk64=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/customers
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'70', b'Authorization': b'OAuth oauth_nonce="156570970005800360081603799567", oauth_timestamp="1603799567", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="rKa%2FLkqGTA4sbi1MSVT3VpxCk64%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: '{"email": "[email protected]", "password": "Password1"}'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /wp-json/wc/v3/customers HTTP/1.1" 201 893
DEBUG root:requestsUtility.py:40 POST API response: {'id': 4, 'date_created': '2020-10-27T11:52:47', 'date_created_gmt': '2020-10-27T11:52:47', 'date_modified': '2020-10-27T11:52:47', 'date_modified_gmt': '2020-10-27T11:52:47', 'email': '[email protected]', 'first_name': '', 'last_name': '', 'role': 'customer', 'username': 'testuser_bxvxqvbcgu', 'billing': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': '', 'email': '', 'phone': ''}, 'shipping': {'first_name': '', 'last_name': '', 'company': '', 'address_1': '', 'address_2': '', 'city': '', 'postcode': '', 'country': '', 'state': ''}, 'is_paying_customer': False, 'avatar_url': 'http://2.gravatar.com/avatar/bb1f58655c0373e6afd781235eb7fef1?s=96&d=mm&r=g', 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers/4'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/customers'}]}}
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799567&oauth_nonce=d297bddfb476f484f485a5c47dedde6d9dc7b7cd&oauth_signature_method=HMAC-SHA256&oauth_signature=2c6YYsH%2FovGe5UdpPuAitthAOPcXC7jZqx52XmyDRo8%3D HTTP/1.1" 404 None
___________________________________________________________________________________________________ test_update_order_status[cancelled] ___________________________________________________________________________________________________
new_status = 'cancelled'
@pytest.mark.parametrize("new_status",
[
pytest.param('cancelled', marks=[pytest.mark.tcid55, pytest.mark.smoke]),
pytest.param('completed', marks=pytest.mark.tcid56),
pytest.param('on-hold', marks=pytest.mark.tcid57),
])
def test_update_order_status(new_status):
# create new order
order_helper = OrdersHelper()
> order_json = order_helper.create_order()
tests/orders/test_update_order.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=9a4864f24ebc001a9a374220dbdf1b4f026eeffe&oauth_signature_method=HMAC-SHA256&oauth_signature=TpygQqT6WVA4kqDEnI8p4LuP7up9pZbCkU5n578JBZM%3D HTTP/1.1" 404 None
___________________________________________________________________________________________________ test_update_order_status[completed] ___________________________________________________________________________________________________
new_status = 'completed'
@pytest.mark.parametrize("new_status",
[
pytest.param('cancelled', marks=[pytest.mark.tcid55, pytest.mark.smoke]),
pytest.param('completed', marks=pytest.mark.tcid56),
pytest.param('on-hold', marks=pytest.mark.tcid57),
])
def test_update_order_status(new_status):
# create new order
order_helper = OrdersHelper()
> order_json = order_helper.create_order()
tests/orders/test_update_order.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=3ed4f427de28530f7a285059aad25e38a8cf50d3&oauth_signature_method=HMAC-SHA256&oauth_signature=bGIOOFlrzXbFuviIl9tM6MmlJ5RRHH95GnDDp06k5p4%3D HTTP/1.1" 404 None
____________________________________________________________________________________________________ test_update_order_status[on-hold] ____________________________________________________________________________________________________
new_status = 'on-hold'
@pytest.mark.parametrize("new_status",
[
pytest.param('cancelled', marks=[pytest.mark.tcid55, pytest.mark.smoke]),
pytest.param('completed', marks=pytest.mark.tcid56),
pytest.param('on-hold', marks=pytest.mark.tcid57),
])
def test_update_order_status(new_status):
# create new order
order_helper = OrdersHelper()
> order_json = order_helper.create_order()
tests/orders/test_update_order.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=ca26a73585ee894aef3b366754272047f5d0752a&oauth_signature_method=HMAC-SHA256&oauth_signature=Pp4XQcYVcmrlXN9DOq4MVWLzw4n4wKFgyPHZYu11BdM%3D HTTP/1.1" 404 None
________________________________________________________________________________________________ test_update_order_status_to_random_string ________________________________________________________________________________________________
@pytest.mark.tcid58
def test_update_order_status_to_random_string():
new_status = 'abcdefg'
# create new order
order_helper = OrdersHelper()
> order_json = order_helper.create_order()
tests/orders/test_update_order.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=5f46d515acbe4e4eff7a63f8b09844d140fa9d1f&oauth_signature_method=HMAC-SHA256&oauth_signature=U2EqLbizGSpKNCG1G1Dij6Asr13j1m4G8dKuwcVk92o%3D HTTP/1.1" 404 None
_____________________________________________________________________________________________________ test_update_order_customer_note _____________________________________________________________________________________________________
@pytest.mark.tcid59
def test_update_order_customer_note():
order_helper = OrdersHelper()
> order_json = order_helper.create_order()
tests/orders/test_update_order.py:64:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/helpers/orders_helper.py:25: in create_order
rs_api = self.woo_helper.post('orders', params=payload, expected_status_code=201)
src/utilities/wooAPIUtility.py:34: in post
self.rs_json = rs_api.json()
../../venv_course_resources/lib/python3.8/site-packages/requests-2.23.0-py3.8.egg/requests/models.py:898: in json
return complexjson.loads(self.text, **kwargs)
/usr/lib/python3.8/json/__init__.py:357: in loads
return _default_decoder.decode(s)
/usr/lib/python3.8/json/decoder.py:337: in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <json.decoder.JSONDecoder object at 0x7fdb680ac8b0>
s = '<!doctype html>\n<html lang="en-US">\n<head>\n<meta charset="UTF-8">\n<meta name="viewport" content="width=device-wid...tp://192.168.1.100:11002/wp-includes/js/wp-embed.min.js?ver=5.5.1\' id=\'wp-embed-js\'></script>\n\n</body>\n</html>\n'
idx = 0
def raw_decode(self, s, idx=0):
"""Decode a JSON document from ``s`` (a ``str`` beginning with
a JSON document) and return a 2-tuple of the Python
representation and the index in ``s`` where the document ended.
This can be used to decode a JSON document from a string that may
have extraneous data at the end.
"""
try:
obj, end = self.scan_once(s, idx)
except StopIteration as err:
> raise JSONDecodeError("Expecting value", s, err.value) from None
E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/usr/lib/python3.8/json/decoder.py:355: JSONDecodeError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "POST /shop/wp-json/wc/v3/orders?oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_timestamp=1603799568&oauth_nonce=e57a4165643768d6b2ed0afa4d31153a1a777b2c&oauth_signature_method=HMAC-SHA256&oauth_signature=Rfa5TPOVXzZa80075Y1dF9WBpn%2FGGYdbib1vITetUik%3D HTTP/1.1" 404 None
______________________________________________________________________________________________ test_update_regular_price_should_update_price ______________________________________________________________________________________________
@pytest.mark.tcid61
def test_update_regular_price_should_update_price():
"""
Verifies updating the 'regular_price' field should automatically update the 'price' field.
"""
# create helper objects and get random product from db
product_helper = ProductsHelper()
product_dao = ProductsDAO()
# for this test the 'sale_price' of the product must be empty. If product has sale price, updating the 'regular_price'
# does not update the 'price'. So get a bunch of products and loop untill you find one that is not on sale. If all in
# the list are on sale then take random one and update the sale price
> rand_products = product_dao.get_random_product_from_db(30)
tests/products/test_update_product_price.py:24:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/dao/products_dao.py:18: in get_random_product_from_db
return random.sample(rs_sql, int(qty))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <random.Random object at 0x1b45c60>
population = [{'ID': 11, 'comment_count': 0, 'comment_status': 'open', 'guid': 'https://woocommercecore.mystagingwebsite.com/produc...t_count': 0, 'comment_status': 'open', 'guid': 'https://woocommercecore.mystagingwebsite.com/product/belt/', ...}, ...]
k = 30
def sample(self, population, k):
"""Chooses k unique random elements from a population sequence or set.
Returns a new list containing elements from the population while
leaving the original population unchanged. The resulting list is
in selection order so that all sub-slices will also be valid random
samples. This allows raffle winners (the sample) to be partitioned
into grand prize and second place winners (the subslices).
Members of the population need not be hashable or unique. If the
population contains repeats, then each occurrence is a possible
selection in the sample.
To choose a sample in a range of integers, use range as an argument.
This is especially fast and space efficient for sampling from a
large population: sample(range(10000000), 60)
"""
# Sampling without replacement entails tracking either potential
# selections (the pool) in a list or previous selections in a set.
# When the number of selections is small compared to the
# population, then tracking selections is efficient, requiring
# only a small set and an occasional reselection. For
# a larger number of selections, the pool tracking method is
# preferred since the list takes less space than the
# set and it doesn't suffer from frequent reselections.
# The number of calls to _randbelow() is kept at or near k, the
# theoretical minimum. This is important because running time
# is dominated by _randbelow() and because it extracts the
# least entropy from the underlying random number generators.
# Memory requirements are kept to the smaller of a k-length
# set or an n-length list.
# There are other sampling algorithms that do not require
# auxiliary memory, but they were rejected because they made
# too many calls to _randbelow(), making them slower and
# causing them to eat more entropy than necessary.
if isinstance(population, _Set):
population = tuple(population)
if not isinstance(population, _Sequence):
raise TypeError("Population must be a sequence or set. For dicts, use list(d).")
randbelow = self._randbelow
n = len(population)
if not 0 <= k <= n:
> raise ValueError("Sample larger than population or is negative")
E ValueError: Sample larger than population or is negative
/usr/lib/python3.8/random.py:363: ValueError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts
WHERE post_type = "product" LIMIT 5000;
___________________________________________________________________________________________ test_adding_sale_price_should_set_on_sale_flag_true ___________________________________________________________________________________________
@pytest.mark.tcid65
def test_adding_sale_price_should_set_on_sale_flag_true():
"""
When the sale price of a product is updated, then it should set the field 'on_sale' = True
"""
# first get a product from db that is not on sale
product_helper = ProductsHelper()
product_dao = ProductsDAO()
rand_product = product_dao.get_random_products_that_are_not_on_sale(1)
product_id = rand_product[0]['ID']
# first check the status is False to start with
original_info = product_helper.call_retrieve_product(product_id)
assert not original_info['on_sale'], f"Getting test data with 'on_sale=False' but got 'True'. Unable to use this product for test."
# update the sale price of the product
> sale_price = float(original_info['regular_price']) * 0.75 # sale is 75% of original
E ValueError: could not convert string to float: ''
tests/products/test_update_product_price.py:85: ValueError
------------------------------------------------------------------------------------------------------------ Captured log call ------------------------------------------------------------------------------------------------------------
DEBUG root:dbUtility.py:53 Executing: SELECT * FROM wordpress.wp_posts WHERE post_type = 'product' AND id NOT IN
(SELECT post_id FROM wordpress.wp_postmeta WHERE `meta_key`="_sale_price");
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:77 Signing request <PreparedRequest [GET]> using client <Client client_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d, client_secret=****, resource_owner_key=None, resource_owner_secret=None, signature_method=HMAC-SHA1, signature_type=AUTH_HEADER, callback_uri=None, rsa_key=None, verifier=None, realm=None, encoding=utf-8, decoding=utf-8, nonce=None, timestamp=None>
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:91 Including body in call to sign: False
DEBUG oauthlib.oauth1.rfc5849:__init__.py:133 Collected params: [('oauth_nonce', '43445836205381450191603799573'), ('oauth_timestamp', '1603799573'), ('oauth_version', '1.0'), ('oauth_signature_method', 'HMAC-SHA1'), ('oauth_consumer_key', 'ck_f42ab89419a8669b1c8272005920479bf975ea5d')]
DEBUG oauthlib.oauth1.rfc5849:__init__.py:137 Normalized params: oauth_consumer_key=ck_f42ab89419a8669b1c8272005920479bf975ea5d&oauth_nonce=43445836205381450191603799573&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1603799573&oauth_version=1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:138 Normalized URI: http://192.168.1.100:11002/wp-json/wc/v3/products/33
DEBUG oauthlib.oauth1.rfc5849:__init__.py:143 Signing: signature base string: GET&http%3A%2F%2F192.168.1.100%3A11002%2Fwp-json%2Fwc%2Fv3%2Fproducts%2F33&oauth_consumer_key%3Dck_f42ab89419a8669b1c8272005920479bf975ea5d%26oauth_nonce%3D43445836205381450191603799573%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1603799573%26oauth_version%3D1.0
DEBUG oauthlib.oauth1.rfc5849:__init__.py:150 Signature: jfGLmU+XYHQnDmuyhOW3DcbbvWM=
DEBUG oauthlib.oauth1.rfc5849:__init__.py:320 Encoding URI, headers and body to utf-8.
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:114 Updated url: http://192.168.1.100:11002/wp-json/wc/v3/products/33
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:115 Updated headers: {b'User-Agent': b'python-requests/2.23.0', b'Accept-Encoding': b'gzip, deflate', b'Accept': b'*/*', b'Connection': b'keep-alive', b'Content-Type': b'application/json', b'Content-Length': b'4', b'Authorization': b'OAuth oauth_nonce="43445836205381450191603799573", oauth_timestamp="1603799573", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_consumer_key="ck_f42ab89419a8669b1c8272005920479bf975ea5d", oauth_signature="jfGLmU%2BXYHQnDmuyhOW3DcbbvWM%3D"'}
DEBUG requests_oauthlib.oauth1_auth:oauth1_auth.py:116 Updated body: 'null'
DEBUG urllib3.connectionpool:connectionpool.py:226 Starting new HTTP connection (1): 192.168.1.100:11002
DEBUG urllib3.connectionpool:connectionpool.py:433 http://192.168.1.100:11002 "GET /wp-json/wc/v3/products/33 HTTP/1.1" 200 3155
DEBUG root:requestsUtility.py:56 GET API response: {'id': 33, 'name': 'Logo Collection', 'slug': 'logo-collection', 'permalink': 'http://192.168.1.100:11002/product/logo-collection/', 'date_created': '2019-01-16T13:01:55', 'date_created_gmt': '2019-01-16T13:01:55', 'date_modified': '2019-01-16T13:01:55', 'date_modified_gmt': '2019-01-16T13:01:55', 'type': 'grouped', 'status': 'publish', 'featured': False, 'catalog_visibility': 'visible', 'description': '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n', 'short_description': '<p>This is a grouped product.</p>\n', 'sku': 'logo-collection', 'price': '18', 'regular_price': '', 'sale_price': '', 'date_on_sale_from': None, 'date_on_sale_from_gmt': None, 'date_on_sale_to': None, 'date_on_sale_to_gmt': None, 'price_html': '', 'on_sale': False, 'purchasable': False, 'total_sales': 0, 'virtual': False, 'downloadable': False, 'downloads': [], 'download_limit': 0, 'download_expiry': 0, 'external_url': '', 'button_text': '', 'tax_status': 'taxable', 'tax_class': '', 'manage_stock': False, 'stock_quantity': None, 'stock_status': 'instock', 'backorders': 'no', 'backorders_allowed': False, 'backordered': False, 'sold_individually': False, 'weight': '', 'dimensions': {'length': '', 'width': '', 'height': ''}, 'shipping_required': True, 'shipping_taxable': True, 'shipping_class': '', 'shipping_class_id': 0, 'reviews_allowed': True, 'average_rating': '0.00', 'rating_count': 0, 'related_ids': [], 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'purchase_note': '', 'categories': [{'id': 28, 'name': 'Clothing', 'slug': 'clothing'}], 'tags': [], 'images': [{'id': 56, 'date_created': '2019-01-16T13:02:13', 'date_created_gmt': '2019-01-16T13:02:13', 'date_modified': '2019-01-16T13:02:13', 'date_modified_gmt': '2019-01-16T13:02:13', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/logo-1.jpg', 'name': 'logo-1.jpg', 'alt': ''}, {'id': 50, 'date_created': '2019-01-16T13:02:07', 'date_created_gmt': '2019-01-16T13:02:07', 'date_modified': '2019-01-16T13:02:07', 'date_modified_gmt': '2019-01-16T13:02:07', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/long-sleeve-tee-2.jpg', 'name': 'long-sleeve-tee-2.jpg', 'alt': ''}, {'id': 49, 'date_created': '2019-01-16T13:02:06', 'date_created_gmt': '2019-01-16T13:02:06', 'date_modified': '2019-01-16T13:02:06', 'date_modified_gmt': '2019-01-16T13:02:06', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/hoodie-with-zipper-2.jpg', 'name': 'hoodie-with-zipper-2.jpg', 'alt': ''}, {'id': 37, 'date_created': '2019-01-16T13:01:57', 'date_created_gmt': '2019-01-16T13:01:57', 'date_modified': '2019-01-16T13:01:57', 'date_modified_gmt': '2019-01-16T13:01:57', 'src': 'http://192.168.1.100:11002/wp-content/uploads/2019/01/vnech-tee-green-1.jpg', 'name': 'vnech-tee-green-1.jpg', 'alt': ''}], 'attributes': [], 'default_attributes': [], 'variations': [], 'grouped_products': [8, 9, 10], 'menu_order': 0, 'meta_data': [], '_links': {'self': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products/33'}], 'collection': [{'href': 'http://192.168.1.100:11002/wp-json/wc/v3/products'}]}}
========================================================================================================= short test summary info =========================================================================================================
FAILED tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[None] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[percent] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[fixed_product] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/coupons/test_create_coupons_smoke.py::test_create_coupon_percent_discount_type[fixed_cart] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/coupons/test_create_coupons_smoke.py::test_create_coupon_with_invalid_discount_type - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/customers/test_create_customers_smoke.py::test_create_customer_fail_for_existing_email - AssertionError: Create customer with existing user error 'message' is not correct. Expected: 'An account is already registered wit...
FAILED tests/orders/test_apply_valid_coupon_to_order.py::test_apply_valid_coupon_to_order - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_create_order_smoke.py::test_create_paid_order_guest_user - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_create_order_smoke.py::test_create_paid_order_new_created_customer - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_update_order.py::test_update_order_status[cancelled] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_update_order.py::test_update_order_status[completed] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_update_order.py::test_update_order_status[on-hold] - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_update_order.py::test_update_order_status_to_random_string - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/orders/test_update_order.py::test_update_order_customer_note - json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
FAILED tests/products/test_update_product_price.py::test_update_regular_price_should_update_price - ValueError: Sample larger than population or is negative
FAILED tests/products/test_update_product_price.py::test_adding_sale_price_should_set_on_sale_flag_true - ValueError: could not convert string to float: ''
====================================================================================================== 16 failed, 7 passed in 21.99s ======================================================================================================
(venv_course_resources) tkhara@tkhara-lenovo:~/notes/testing/admas_kinfu/api_testing_py_course_material/automation_code/ssqaapitest$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment