/** * * Returns the test cases failures as a DomDocument * @throws Exception * @return DomDocument */ public static function toXML(KalturaTestCaseFailures $testCaseFailures, $rootNodeName = 'data') { if (count($testCaseFailures->getTestProceduresFailures()) == 0) { return ""; } $dom = new DOMDocument("1.0"); //Create elements in the Dom referencing the entire test data file $testCaseElement = $dom->createElement($rootNodeName); $testCaseElement->setAttribute("testCaseName", $testCaseFailures->getTestCaseName()); $dom->appendChild($testCaseElement); //For each test data foreach ($testCaseFailures->getTestProceduresFailures() as $testProcedureFailure) { //Create the xml from the object $objectAsDOM = KalturaTestProcedureFailure::toXml($testProcedureFailure, "TestProcedureFailures"); kXml::appendDomToElement($objectAsDOM, $testCaseElement, $dom); } return $dom; }
/** * * Returns the given KalturaTestCaseInstanceData as a DomDocument * @param KalturaTestCaseInstanceData $testCaseInstanceData */ public static function toXml(KalturaTestCaseInstanceData $testCaseInstanceData) { $dom = new DOMDocument("1.0"); //Create all his elements $domTestCaseData = $dom->createElement("TestCaseData"); $domTestCaseData->setAttribute("testCaseInstanceName", $testCaseInstanceData->getTestCaseInstanceName()); $dom->appendChild($domTestCaseData); //For each input: foreach ($testCaseInstanceData->getInput() as $input) { //Create the xml from the object $objectAsDOM = KalturaTestDataObject::toXml($input, "Input"); kXml::appendDomToElement($objectAsDOM, $domTestCaseData, $dom); } //For each outputReference: foreach ($testCaseInstanceData->getOutputReferences() as $outputReference) { //Create the xml from the object $objectAsDOM = KalturaTestDataObject::toXml($outputReference, "OutputReference"); kXml::appendDomToElement($objectAsDOM, $domTestCaseData, $dom); } return $dom; }
/** * * Returns the given KalturaTestDataFile as DomDocument * @param KalturaTestDataFile $testDataFile */ public static function toXml(KalturaTestCaseDataFile $testDataFile) { $dom = new DOMDocument("1.0"); //Create elements in the Dom referencing the entire test data file $testCaseDataElement = $dom->createElement("TestCaseData"); $testCaseDataElement->setAttribute("testCaseName", $testDataFile->getTestCaseName()); $dom->appendChild($testCaseDataElement); //For each test procedure data foreach ($testDataFile->getTestProceduresData() as $testProcedureData) { $domTestProcedureData = KalturaTestProcedureData::toXml($testProcedureData); kXml::appendDomToElement($domTestProcedureData, $testCaseDataElement, $dom); } return $dom; }
/** * * Returns a DomDocument containing the test case failure * @param KalturaTestCaseInstanceFailure $failure * @param string $rootNodeName - default to 'data' * @return DOMDocument - the xml for the given error */ public static function toXml(KalturaTestCaseInstanceFailure $testCaseInstanceFailure, $rootNodeName = 'data') { if (count($testCaseInstanceFailure->getFailures()) == 0) { return new DOMDocument("1.0"); } $dom = new DOMDocument(1.0); $rootNode = $dom->createElement($rootNodeName); $dom->appendChild($rootNode); $rootNode->setAttribute("testCaseInstanceName", $testCaseInstanceFailure->getTestCaseInstanceName()); $inputsNode = $dom->createElement("Inputs"); foreach ($testCaseInstanceFailure->getTestCaseInput() as $inputKey => $inputValue) { $node = $dom->createElement("Input"); if ($inputValue != null) { $type = gettype($inputValue); if (is_object($inputValue)) { $class = get_class($inputValue); KalturaLog::debug("class [" . $class . "]\n"); if (class_exists($class)) { $type = get_class($inputValue); } } $node->setAttribute("type", $type); $id = $inputValue; if ($inputValue instanceof BaseObject) { $id = $inputValue->getId(); } elseif ($inputValue instanceof KalturaObjectBase || $inputValue instanceof KalturaObject) { if (property_exists($inputValue, 'id')) { $id = $inputValue->id; } } //Fixes problem where id was object if (is_object($id)) { $idType = get_class($id); $id = "not a string but {$idType}"; } $node->setAttribute($type . "Id", $id); } $inputsNode->appendChild($node); } $failuresNode = $dom->createElement("Failures"); foreach ($testCaseInstanceFailure->getFailures() as $kalturaFailure) { $objectAsDOM = KalturaFailure::toXml($kalturaFailure, "Failure"); kXml::appendDomToElement($objectAsDOM, $failuresNode, $dom); } $rootNode->appendChild($inputsNode); $rootNode->appendChild($failuresNode); //pass back DomElement object return $dom; }
/** * * Returns the given KalturaTestProcedureData as a DomDocument * @param KalturaTestProcedureData $testProcedureData */ public static function toXml(KalturaTestProcedureData $testProcedureData) { $dom = new DOMDocument("1.0"); $testProcedureDataElement = $dom->createElement("TestProcedureData"); $testProcedureDataElement->setAttribute("testProcedureName", $testProcedureData->getProcedureName()); $dom->appendChild($testProcedureDataElement); foreach ($testProcedureData->getTestCasesData() as $testCaseData) { $domTestCaseData = KalturaTestCaseInstanceData::toXml($testCaseData); kXml::appendDomToElement($domTestCaseData, $testProcedureDataElement, $dom); } return $dom; }