<?php

/***********************************************************************
 * 	Script: CreateNewItem_test.php
 * 	Description: Script for testing CreateNewItem.php, ModifyItem.php 
 *	and RetrieveItem.php
 *
 *	Author: Craig Irvine ()
 *	Date: 10 January 2016
 *
 ***********************************************************************/
include "IMSTest.php";
$test = new IMSTest();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$rand_item = $test->randomItem();
$PN = $rand_item["Name"];
foreach ($rand_item as $k => $v) {
    if ($k == 'Name') {
        echo "Creating Item Number: " . $rand_item['Name'] . "\n";
        curl_setopt($ch, CURLOPT_URL, "http://localhost/Back_End/CreateNewItem.php");
        curl_setopt($ch, CURLOPT_POSTFIELDS, "SID=ID&PartNumber={$PN}");
    } else {
        echo "Modifying Item Number " . $rand_item['Name'] . " with Field:{$k} => Value:{$v}\n";
        curl_setopt($ch, CURLOPT_URL, "http://localhost/Back_End/ModifyItem.php");
        curl_setopt($ch, CURLOPT_POSTFIELDS, "SID=ID&PartNumber={$PN}&Field={$k}&Value={$v}");
    }
    $output = curl_exec($ch);
    //test the output for errors
<?php

/***********************************************************************
 * 	Script: Test_ClassData.php
 * 	Description: Script for testing AddNewClassData.php, ModifyClassData.php 
 *	,RetrieveClassData.php and RetrieveBrowserData.php
 *
 *	Author: Craig Irvine ()
 *	Date: 24 Feb 2016
 *
 ***********************************************************************/
include "IMSTest.php";
$test = new IMSTest();
$rand_class = $test->randomClassData();
//retrieve browser data for current part numbers
$browser = $test->curl_req("http://localhost/Back_End/RetrieveBrowserData.php", "SID=id");
$browserEntryArray = $test->translateXMLtoArray($browser, "BROWSER");
//Take random existing part number
$rand_class['Part'] = $browserEntryArray[mt_rand(0, count($browserEntryArray) - 1)]['Name'];
echo "Adding Class Data\n";
foreach ($rand_class as $k => $v) {
    echo "{$k} => {$v}\n";
}
$add_options = "SID=id&Class=" . $rand_class['Class'] . "&PartNumber=" . $rand_class['Part'] . "&Quantity=" . $rand_class['Quantity'] . "&Date=" . $rand_class['Date'];
$output = $test->curl_req("http://localhost/Back_End/AddNewClassData.php", $add_options);
//test the output for errors
$status_array = $test->translateXMLtoArray($output, "STATUS");
$status_code = $status_array['STATUS_CODE'];
$status_message = $status_array['STATUS_MESSAGE'];
if ($status_code != "0") {
    echo "***FAILED***XML Response indicated failure({$status_code}) with message: {$status_message}\n";