示例#1
0
 public function exportSingleTrackerToXml(SimpleXMLElement $xml_content, $tracker_id, PFUser $user, ZipArchive $archive)
 {
     $xml_field_mapping = array();
     $xml_trackers = $xml_content->addChild('trackers');
     $tracker = $this->tracker_factory->getTrackerById($tracker_id);
     if ($tracker->isActive()) {
         $tracker_xml = $xml_trackers->addChild('tracker');
         $tracker->exportToXMLInProjectExportContext($tracker_xml, $xml_field_mapping);
         $this->artifact_xml_xport->export($tracker, $tracker_xml, $user, $archive);
     }
     $this->rng_validator->validate($xml_trackers, dirname(TRACKER_BASE_DIR) . '/www/resources/trackers.rng');
     return $xml_trackers;
 }
示例#2
0
 public function itRaisesAnExceptionWhenThresholdIsReached()
 {
     $rng_validator = new XML_RNGValidator();
     $artifact_factory = stub('Tracker_ArtifactFactory')->getArtifactsByTrackerId()->returns(array_fill(0, Tracker_Artifact_XMLExport::THRESHOLD + 1, null));
     $can_bypass_threshold = false;
     $exporter = new Tracker_Artifact_XMLExport($rng_validator, $artifact_factory, $can_bypass_threshold);
     $xml_element = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>
                                          <project />');
     $this->expectException('Tracker_Artifact_XMLExportTooManyArtifactsException');
     $archive = new ZipArchive();
     $exporter->export(mock('Tracker'), $xml_element, mock('PFUser'), $archive);
 }