get_hd_file(); $databox = self::$record_1->get_databox(); $metadatas = $system_file->extract_metadatas($databox->get_meta_structure()); static::$record_1->set_metadatas($metadatas['metadatas']); $databox = self::$record_23->get_databox(); $system_file = self::$record_23->get_hd_file(); $metadatas = $system_file->extract_metadatas($databox->get_meta_structure()); static::$record_23->set_metadatas($metadatas['metadatas']); /** * Reset thumbtitle in order to have consistent tests (testGet_title) */ foreach(static::$record_1->get_databox()->get_meta_structure() as $databox_field) { /* @var $databox_field \databox_field */ $databox_field->set_thumbtitle(false)->save(); } $system_file = new system_file(__DIR__ . '/../testfiles/cestlafete.jpg'); } public static function tearDownAfterClass() { parent::tearDownAfterClass(); } public function testGet_creation_date() { $date_obj = new DateTime(); $this->assertTrue((static::$record_1->get_creation_date() instanceof DateTime)); $this->assertTrue((static::$record_1->get_creation_date() <= $date_obj)); } protected function assertDateAtom($date) { return $this->assertRegExp('/\d{4}[-]\d{2}[-]\d{2}[T]\d{2}[:]\d{2}[:]\d{2}[+]\d{2}[:]\d{2}/', $date); } public function testGet_uuid() { $this->assertTrue(uuid::is_valid(static::$record_1->get_uuid())); } public function testGet_modification_date() { $date_obj = new DateTime(); $this->assertTrue((static::$record_1->get_creation_date() instanceof DateTime)); $this->assertTrue((static::$record_1->get_creation_date() <= $date_obj)); } public function testGet_number() { self::$record_1->set_number(24); $this->assertEquals(24, self::$record_1->get_number()); self::$record_1->set_number(42); $this->assertEquals(42, self::$record_1->get_number()); self::$record_1->set_number(0); $this->assertEquals(0, self::$record_1->get_number()); self::$record_1->set_number(null); $this->assertEquals(0, self::$record_1->get_number()); } public function testSet_number() { $this->testGet_number(); } public function testSet_type() { try { self::$record_1->set_type('jambon'); $this->fail(); } catch (Exception $e) { } $old_type = self::$record_1->get_type(); self::$record_1->set_type('video'); $this->assertEquals('video', self::$record_1->get_type()); self::$record_1->set_type($old_type); $this->assertEquals($old_type, self::$record_1->get_type()); } public function testIs_grouping() { $this->assertFalse(self::$record_1->is_grouping()); $this->assertTrue(self::$story_1->is_grouping()); } public function testGet_base_id() { $this->assertTrue(is_int(static::$record_1->get_base_id())); $this->assertEquals(self::$collection->get_base_id(), static::$record_1->get_base_id()); $this->assertTrue(is_int(self::$story_1->get_base_id())); $this->assertEquals(self::$collection->get_base_id(), self::$story_1->get_base_id()); } public function testGet_record_id() { $this->assertTrue(is_int(static::$record_1->get_record_id())); $this->assertTrue(is_int(self::$story_1->get_record_id())); } public function testGet_thumbnail() { $this->assertTrue((static::$record_1->get_thumbnail() instanceof media_subdef)); } public function testGet_embedable_medias() { $embeddables = self::$record_1->get_embedable_medias(); $this->assertTrue(is_array($embeddables)); foreach ($embeddables as $subdef) { $this->assertInstanceOf('media_subdef', $subdef); } } public function testGet_status_icons() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testGet_type() { $this->assertTrue(in_array(static::$record_1->get_type(), array('video', 'audio', 'image', 'document', 'flash', 'unknown'))); } public function testGet_formated_duration() { $this->assertEquals('00:17', self::$record_23->get_formated_duration()); $this->assertEquals('', self::$record_1->get_formated_duration()); } public function testGet_duration() { $this->assertEquals(17, self::$record_23->get_duration()); $this->assertEquals(false, self::$record_1->get_duration()); } public function testGet_rollover_thumbnail() { $this->assertInstanceOf('media_subdef', self::$record_23->get_rollover_thumbnail()); $this->assertNull(self::$record_1->get_rollover_thumbnail()); } public function testGenerate_subdefs() { } public function testGet_sha256() { $this->assertNotNull(static::$record_1->get_sha256()); $this->assertRegExp('/[a-zA-Z0-9]{64}/', static::$record_1->get_sha256()); $this->assertNull(self::$story_1->get_sha256()); } public function testGet_mime() { $appbox = appbox::get_instance(\bootstrap::getCore()); $found = $coll = false; foreach ($appbox->get_databoxes() as $databox) { foreach ($databox->get_collections() as $collection) { $found = true; $coll = $collection; break; } if ($found) break; } if (!($coll instanceof collection)) $this->fail('Unable to find a collection'); $record = record_adapter::create($coll, new system_file(__DIR__ . '/../testfiles/cestlafete.jpg')); $this->assertEquals('image/jpeg', $record->get_mime()); $record->delete(); } public function testGet_status() { $this->assertRegExp('/[01]{64}/', static::$record_1->get_status()); } public function testGet_subdef() { $this->assertInstanceOf('media_subdef', self::$record_1->get_subdef('document')); $this->assertInstanceOf('media_subdef', self::$record_1->get_subdef('preview')); $this->assertInstanceOf('media_subdef', self::$record_1->get_subdef('thumbnail')); $this->assertInstanceOf('media_subdef', self::$record_23->get_subdef('document')); $this->assertInstanceOf('media_subdef', self::$record_23->get_subdef('preview')); $this->assertInstanceOf('media_subdef', self::$record_23->get_subdef('thumbnail')); $this->assertInstanceOf('media_subdef', self::$record_23->get_subdef('thumbnailGIF')); } public function testGet_subdefs() { $subdefs = static::$record_1->get_subdefs(); $this->assertTrue(is_array($subdefs)); foreach ($subdefs as $subdef) { $this->assertInstanceOf('media_subdef', $subdef); } } /** * @todo Implement testGet_collection_logo(). */ public function testGet_collection_logo() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testGet_technical_infos() { $this->assertTrue(is_array(static::$record_1->get_technical_infos())); } public function testGet_caption() { $this->assertTrue((static::$record_1->get_caption() instanceof caption_record)); } public function testGet_original_name() { $this->assertTrue(static::$record_1->get_original_name() === self::$record_sf_1->getFilename()); } public function testGet_title() { $this->assertEquals(static::$record_sf_1->getFilename(), static::$record_1->get_title()); $this->assertEquals(static::$record_sf_23->getFilename(), static::$record_23->get_title()); } public function testGet_preview() { $this->assertTrue((static::$record_1->get_preview() instanceof media_subdef)); } public function testHas_preview() { $this->assertTrue(self::$record_1->has_preview()); $this->assertTrue(self::$record_23->has_preview()); } public function testGet_serialize_key() { $this->assertTrue(static::$record_1->get_serialize_key() == static::$record_1->get_sbas_id() . '_' . static::$record_1->get_record_id()); } public function testGet_sbas_id() { $this->assertTrue(is_int(static::$record_1->get_sbas_id())); } public function testSubstitute_subdef() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testSet_metadatas() { $meta_structure_el = self::$collection->get_databox()->get_meta_structure()->get_elements(); $current_caption = self::$record_1->get_caption(); $metadatas = array(); foreach ($meta_structure_el as $meta_el) { $current_fields = $current_caption->get_fields(array($meta_el->get_name())); $field = null; if (count($current_fields) > 0) { $field = array_pop($current_fields); } if($meta_el->is_multi()) { if($field) { foreach($field->get_values() as $value) { $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => $value->getId() , 'value' => '' ); } } $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => null , 'value' => 'un' ); $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => null , 'value' => 'jeu' ); $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => null , 'value' => 'de' ); $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => null , 'value' => 'test' ); } else { $meta_id = null; if($field) { $meta_id = array_pop($field->get_values())->getId(); } $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => $meta_id , 'value' => 'un premier jeu de test' ); $metadatas[] = array( 'meta_struct_id' => $meta_el->get_id() , 'meta_id' => $meta_id , 'value' => 'un second jeu de test' ); } } self::$record_1->set_metadatas($metadatas, true); $caption = self::$record_1->get_caption(); foreach ($meta_structure_el as $meta_el) { $current_fields = $caption->get_fields(array($meta_el->get_name())); $this->assertEquals(1, count($current_fields)); $field = $current_fields[0]; $separator = $meta_el->get_separator(); if(strlen($separator) > 0) { $separator = $separator[0]; } else { $separator = ''; } $multi_imploded = implode(' ' . $separator . ' ', array('un', 'jeu', 'de', 'test')); if ($meta_el->is_multi()) { $initial_values = array(); foreach($field->get_values() as $value) { $initial_values[] = $value->getValue(); } $this->assertEquals($multi_imploded, implode(' ' . $meta_el->get_separator() . ' ', $initial_values)); $this->assertEquals($multi_imploded, $field->get_serialized_values()); } else $this->assertEquals('un second jeu de test', $field->get_serialized_values()); } } public function testReindex() { self::$record_1->reindex(); $sql = 'SELECT record_id FROM record WHERE (status & 7) IN (4,5,6) AND record_id = :record_id'; $stmt = self::$record_1->get_databox()->get_connection()->prepare($sql); $stmt->execute(array(':record_id' => self::$record_1->get_record_id())); $row = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); if (!$row) $this->fail(); if ($row['record_id'] != self::$record_1->get_record_id()) $this->fail(); } public function testRebuild_subdefs() { self::$record_1->rebuild_subdefs(); $sql = 'SELECT record_id FROM record WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0 AND record_id = :record_id'; $stmt = self::$record_1->get_databox()->get_connection()->prepare($sql); $stmt->execute(array(':record_id' => self::$record_1->get_record_id())); $row = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); if (!$row) $this->fail(); if ($row['record_id'] != self::$record_1->get_record_id()) $this->fail(); } public function testWrite_metas() { self::$record_1->write_metas(); $sql = 'SELECT record_id, coll_id, jeton FROM record WHERE (jeton & ' . JETON_WRITE_META . ' > 0) AND record_id = :record_id'; $stmt = self::$record_1->get_databox()->get_connection()->prepare($sql); $stmt->execute(array(':record_id' => self::$record_1->get_record_id())); $row = $stmt->fetch(PDO::FETCH_ASSOC); $stmt->closeCursor(); if (!$row) $this->fail(); if ($row['record_id'] != self::$record_1->get_record_id()) $this->fail(); } /** * @todo Implement testSet_binary_status(). */ public function testSet_binary_status() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testGet_record_by_sha() { $tmp_records = record_adapter::get_record_by_sha(self::$record_1->get_sbas_id(), self::$record_1->get_sha256()); $this->assertTrue(is_array($tmp_records)); foreach ($tmp_records as $tmp_record) { $this->assertInstanceOf('record_adapter', $tmp_record); $this->assertEquals(self::$record_1->get_sha256(), $tmp_record->get_sha256()); } $tmp_records = record_adapter::get_record_by_sha(self::$record_1->get_sbas_id(), self::$record_1->get_sha256(), self::$record_1->get_record_id()); $this->assertTrue(is_array($tmp_records)); $this->assertTrue(count($tmp_records) === 1); foreach ($tmp_records as $tmp_record) { $this->assertInstanceOf('record_adapter', $tmp_record); $this->assertEquals(self::$record_1->get_sha256(), $tmp_record->get_sha256()); $this->assertEquals(self::$record_1->get_record_id(), $tmp_record->get_record_id()); } } public function testGet_hd_file() { $this->assertInstanceOf('system_file', self::$record_1->get_hd_file()); } /** * @todo Implement testLog_view(). */ public function testLog_view() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testRotate_subdefs() { // Remove the following lines when you implement this test. $this->markTestIncomplete( 'This test has not been implemented yet.' ); } /** * @todo Implement testGet_container_baskets(). */ public function testGet_container_baskets() { $em = self::$core->getEntityManager(); $basket = $this->insertOneBasket(); $this->assertInstanceOf('\Entities\Basket', $basket); /* @var $basket \Entities\Basket */ $basket_element = new \Entities\BasketElement(); $basket_element->setRecord(self::$record_1); $basket_element->setBasket($basket); $em->persist($basket_element); $basket->addBasketElement($basket_element); $basket = $em->merge($basket); $em->flush(); $found = $sselcont_id = false; $sbas_id = self::$record_1->get_sbas_id(); $record_id = self::$record_1->get_record_id(); foreach (self::$record_1->get_container_baskets() as $c_basket) { if ($c_basket->getId() == $basket->getId()) { $found = true; foreach ($c_basket->getElements() as $b_el) { if ($b_el->getRecord()->get_record_id() == $record_id && $b_el->getRecord()->get_sbas_id() == $sbas_id) $sselcont_id = $b_el->getId(); } } } if (!$found) $this->fail(); } }