<?php

include "functions.php";
include "config.php";
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_payment_gateways', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
echo $result;
verifySuccess("Get Payment Gateways", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Supported Attributes");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_supported_attributes', 'arguments' => array('token' => $token, 'per_page' => 2, 'page' => 1));
$result = curl_post($url, $data);
verifySuccess("Get Supported Attributes", $result);
verifyNonZeroPayload("Get Supported Attributes", $result);
<?php

include "functions.php";
include "config.php";
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_shipping_methods', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
echo $result;
verifySuccess("Get Shipping Methods", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Customers");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_customers', 'arguments' => array('token' => $token, 'per_page' => 2, 'page' => 1));
$result = curl_post($url, $data);
verifySuccess("Get Customers", $result);
verifyNonZeroPayload("Get Customers", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Categories");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_categories', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
echo $result;
verifySuccess("Get Categories", $result);
verifyNonZeroPayload("Categories were returned", $result);
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_categories', 'arguments' => array('token' => $token, 'order_by' => 'non-exisent-column'));
$result = curl_post($url, $data);
verifyHasErrors("Categories Sort by bad column", $result, -5);
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_categories', 'arguments' => array('token' => $token, 'ids' => array(33, 54)));
$result = curl_post($url, $data);
verifySuccess("Get Categories by ids", $result);
<?php

include "functions.php";
include "config.php";
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_taxes', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
echo $result;
verifySuccess("Get Taxes", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Store Settings");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_store_settings', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
verifySuccess("Get Store Settings", $result);
verifyNonZeroPayload("NonZero Result", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Writing Store Settings");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_store_settings', 'arguments' => array('token' => $token));
$result = curl_post($url, $data);
verifySuccess("Get Store Settings", $result);
$result = json_decode($result, true);
$old_value = $result['payload']['force_ssl_checkout'];
$new_value = $old_value == 'no' ? 'yes' : 'no';
notEqual($old_value, $new_value);
$result['payload']['force_ssl_checkout'] = $new_value;
$result['proc'] = 'set_store_settings';
$result = curl_post($url, $result);
verifySuccess("Set Store Settings", $result);
$result = json_decode($result, true);
equal($result['payload']['force_ssl_checkout'], $new_value);
$result['payload']['force_ssl_checkout'] = $old_value;
$result = curl_post($url, $result);
verifySuccess("Set Store Settings 2", $result);
$result = json_decode($result, true);
equal($result['payload']['force_ssl_checkout'], $old_value);
// Test filtering
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_store_settings', 'arguments' => array('token' => $token, 'filter' => 'force'));
$result = curl_post($url, $data);
verifySuccess("Get Store Filtered Settings", $result);
$result = json_decode($result, true);
keyExists('force_ssl_checkout', $result['payload']);
<?php

require_once "functions.php";
include "config.php";
$Header("Setting Customers Passwords");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_customers', 'arguments' => array('token' => $token, 'per_page' => 2, 'page' => 1));
$result = curl_post($url, $data);
verifySuccess("Get Customers", $result);
verifyNonZeroPayload("Get Customers", $result);
$result = json_decode($result, true);
$user_id = $result['payload'][0]['id'];
$new_pass = '******' . rand(0, 10);
$result['payload'] = array(array('id' => 1, 'password' => $new_pass));
$result['proc'] = 'set_customers_passwords';
$result = curl_post($url, $result);
echo $result;
verifySuccess("did we set it?", $result);
$result = json_decode($result, true);
equal('[FILTERED]', $result['payload'][0]['password'], "New password is: {$new_pass}");
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Customers");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_users', 'arguments' => array('token' => $token, 'per_page' => 2, 'page' => 1));
$result = curl_post($url, $data);
verifySuccess("Get Users", $result);
verifyNonZeroPayload("Get Users", $result);
<?php

require_once "functions.php";
include "config.php";
$Header("Reading Coupons");
$data = array('action' => 'woocommerce_json_api', 'proc' => 'get_coupons', 'arguments' => array('token' => $token, 'per_page' => 2, 'page' => 1));
$result = curl_post($url, $data);
echo $result;
verifySuccess("Get Coupons", $result);
verifyNonZeroPayload("Get Coupons", $result);
$result = json_decode($result, true);
$old_coupon = $result['payload'][0];
$new_coupon = $old_coupon;
$new_coupon['code'] = 'APICREATE' . rand(100, 500);
unset($new_coupon['id']);
$result['payload'][] = $new_coupon;
$result['proc'] = 'set_coupons';
$result = curl_post($url, $result);
echo $result;
verifySuccess("Set Coupons", $result);
verifyNonZeroPayload("Set Coupons", $result);