/** * @covers AfsMultipartResponse::parse_headers * @covers AfsMultipartResponse::__construct * @covers AfsMultipartResponse::get_layer * @covers AfsMultipartResponse::get_layers * @covers AfsLayer::__construct * @covers AfsLayer::get_header * @covers AfsLayer::get_mime_type * @covers AfsLayer::get_content */ public function testProcess() { $rawSinglePart = <<<HTTP Content-Type: text/xml+application/json Content-Disposition: name="urn:afs:toto-is-1n-7he-kitc4en#VALIDLAYER_1" Accept: toto Header: value contents HTTP; $rawMultipart = <<<HTTP ---70to--- Content-Type: text/xml Content-Disposition: name="urn:afs:totois1n7hekitc4en#VALIDLAYER_2" contents1 ---70to--- Content-Type: application/json Content-Disposition: name="urn:afs:totois1n7hekitc4en#VALIDLAYER_3" contents2 ---70to----- HTTP; $singlePart = new AfsMultipartResponse($rawSinglePart); $this->assertEquals("contents", $singlePart->get_layer("VALIDLAYER_1")->get_content()); $this->assertEquals("text/xml+application/json", $singlePart->get_layer('VALIDLAYER_1')->get_mime_type()); $this->assertEquals("toto", $singlePart->get_layer("VALIDLAYER_1")->get_header("Accept")); $multiPart = new AfsMultipartResponse($rawMultipart); $this->assertEquals("contents1", $multiPart->get_layer("VALIDLAYER_2")->get_content()); $this->assertEquals("contents2", $multiPart->get_layer("VALIDLAYER_3")->get_content()); $l = $multiPart->get_layers(); $this->assertEquals("text/xml", $l['VALIDLAYER_2']->get_mime_type()); $this->assertEquals("application/json", $l['VALIDLAYER_3']->get_mime_type()); }
/** @brief Upload one document to the PaF. * @param $doc [in] simple document (see @a AfsDocument). * @param $layers [in] array containing names of layers to retrieve. * @return array of AfsLayers(see @a AfsLayer). */ public function process_doc($doc, $layers = array("CONTENTS")) { $context['layers'] = implode(',', $layers); //FIXME enable setting version with mock //$context['version'] = "7.7"; $context['version'] = $this->get_bo_version(); $context['document'] = $doc; $multipart = new AfsMultipartResponse($this->query($context)); if (is_array($layers)) { return $multipart->get_layers(); } else { $l = $multipart->get_layers(); return $l[$layers]; } }