annotate sites/all/modules/rdfx/rdfx.test @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ce11bbd8f642
children
rev   line source
danielebarchiesi@4 1 <?php
danielebarchiesi@4 2
danielebarchiesi@4 3 /**
danielebarchiesi@4 4 * Test the RDF serialization functionality for nodes.
danielebarchiesi@4 5 */
danielebarchiesi@4 6 class RdfxNodeSerializationTestCase extends DrupalWebTestCase {
danielebarchiesi@4 7 public static function getInfo() {
danielebarchiesi@4 8 return array(
danielebarchiesi@4 9 'name' => 'RDF serialization for Nodes',
danielebarchiesi@4 10 'description' => 'Create a node and test its RDF serialization.',
danielebarchiesi@4 11 'group' => 'RDFx',
danielebarchiesi@4 12 );
danielebarchiesi@4 13 }
danielebarchiesi@4 14
danielebarchiesi@4 15 function setUp() {
danielebarchiesi@4 16 parent::setUp('rdfx');
danielebarchiesi@4 17
danielebarchiesi@4 18 // Set default storage backend.
danielebarchiesi@4 19 variable_set('field_storage_default', 'field_sql_storage');
danielebarchiesi@4 20
danielebarchiesi@4 21 // $field_name = drupal_strtolower('rdfx_text_test_field');
danielebarchiesi@4 22 // $field = array('field_name' => $field_name, 'type' => 'test_field', 'cardinality' => 4);
danielebarchiesi@4 23 // $field = field_create_field($field);
danielebarchiesi@4 24 // $field_id = $field['id'];
danielebarchiesi@4 25 // $instance = array(
danielebarchiesi@4 26 // 'field_name' => $field_name,
danielebarchiesi@4 27 // 'entity_type' => 'test_entity',
danielebarchiesi@4 28 // 'bundle' => 'article',
danielebarchiesi@4 29 // 'label' => $this->randomName() . '_label',
danielebarchiesi@4 30 // 'description' => $this->randomName() . '_description',
danielebarchiesi@4 31 // 'weight' => mt_rand(0, 127),
danielebarchiesi@4 32 // 'settings' => array(
danielebarchiesi@4 33 // 'test_instance_setting' => $this->randomName(),
danielebarchiesi@4 34 // ),
danielebarchiesi@4 35 // 'widget' => array(
danielebarchiesi@4 36 // 'type' => 'test_field_widget',
danielebarchiesi@4 37 // 'label' => 'Test Field',
danielebarchiesi@4 38 // 'settings' => array(
danielebarchiesi@4 39 // 'test_widget_setting' => $this->randomName(),
danielebarchiesi@4 40 // )
danielebarchiesi@4 41 // )
danielebarchiesi@4 42 // );
danielebarchiesi@4 43 // field_create_instance($this->instance);
danielebarchiesi@4 44
danielebarchiesi@4 45 $web_user = $this->drupalCreateUser(array('create article content', 'create page content'));
danielebarchiesi@4 46 $this->drupalLogin($web_user);
danielebarchiesi@4 47 }
danielebarchiesi@4 48
danielebarchiesi@4 49 /**
danielebarchiesi@4 50 * Create a "Article" node and ensure it serialized properly.
danielebarchiesi@4 51 */
danielebarchiesi@4 52 function testRdfxNodeCreation() {
danielebarchiesi@4 53 // Create a node.
danielebarchiesi@4 54 $edit = array();
danielebarchiesi@4 55 $langcode = LANGUAGE_NONE;
danielebarchiesi@4 56 $edit["title"] = $this->randomName(8);
danielebarchiesi@4 57 $edit["body[$langcode][0][value]"] = $this->randomName(16);
danielebarchiesi@4 58 $this->drupalPost('node/add/article', $edit, t('Save'));
danielebarchiesi@4 59
danielebarchiesi@4 60 // Check that the Article has been created.
danielebarchiesi@4 61 $this->assertRaw(t('!post %title has been created.', array('!post' => 'Article', '%title' => $edit["title"])), t('Article created.'));
danielebarchiesi@4 62
danielebarchiesi@4 63 // Check that the node exists in the database.
danielebarchiesi@4 64 $node = $this->drupalGetNodeByTitle($edit["title"]);
danielebarchiesi@4 65 $this->assertTrue($node, t('Node found in database.'));
danielebarchiesi@4 66
danielebarchiesi@4 67 // Expected base URI and graph URI.
danielebarchiesi@4 68 $base_uri = url('', array('absolute' => TRUE));
danielebarchiesi@4 69 $uri = url('node/' . $node->nid, array('absolute' => TRUE));
danielebarchiesi@4 70
danielebarchiesi@4 71 // Get the node as RDF.
danielebarchiesi@4 72 $g = rdfx_get_rdf_model('node', $node);
danielebarchiesi@4 73
danielebarchiesi@4 74 // Inspect the PHP object returned by ARC2.
danielebarchiesi@4 75 // Test object class.
danielebarchiesi@4 76 $this->assertTrue(get_class($g) == 'ARC2_Resource', t('Object is of type ARC2_Resource.'));
danielebarchiesi@4 77 // Test base uri.
danielebarchiesi@4 78 $this->assertTrue($g->base == $base_uri, t('Base uri set properly by ARC2.'));
danielebarchiesi@4 79 // Test graph uri.
danielebarchiesi@4 80 $this->assertTrue($g->uri == $uri, t('Graph uri set properly by ARC2.'));
danielebarchiesi@4 81
danielebarchiesi@4 82 // Test if core rdf namespaces are present.
danielebarchiesi@4 83 // @todo move this into a dedicate test for namespaces.
danielebarchiesi@4 84 $erroneous_core_ns = FALSE;
danielebarchiesi@4 85 foreach(rdf_rdf_namespaces() as $prefix => $ns) {
danielebarchiesi@4 86 if (!isset($g->ns[$prefix]) || $g->ns[$prefix] != $ns) {
danielebarchiesi@4 87 $erroneous_core_ns = TRUE;
danielebarchiesi@4 88 }
danielebarchiesi@4 89 }
danielebarchiesi@4 90 $this->assertFalse($erroneous_core_ns, t('Core RDF namespaces set properly by ARC2.'));
danielebarchiesi@4 91
danielebarchiesi@4 92 // Test RDF types in ARC2 RDF index.
danielebarchiesi@4 93 $o = array (
danielebarchiesi@4 94 'value'=> 'http://rdfs.org/sioc/ns#Item',
danielebarchiesi@4 95 'type'=> 'uri',
danielebarchiesi@4 96 );
danielebarchiesi@4 97 $this->assertTrue(in_array($o, $g->index[$uri]['http://www.w3.org/1999/02/22-rdf-syntax-ns#type']), t('sioc:Item type found in ARC2 index.'));
danielebarchiesi@4 98 $o = array (
danielebarchiesi@4 99 'value'=> 'http://xmlns.com/foaf/0.1/Document',
danielebarchiesi@4 100 'type'=> 'uri',
danielebarchiesi@4 101 );
danielebarchiesi@4 102 $this->assertTrue(in_array($o, $g->index[$uri]['http://www.w3.org/1999/02/22-rdf-syntax-ns#type']), t('foaf:Document type found in ARC2 index.'));
danielebarchiesi@4 103
danielebarchiesi@4 104 // Test title in ARC2 RDF index.
danielebarchiesi@4 105 $o = array (
danielebarchiesi@4 106 'value'=> $node->title,
danielebarchiesi@4 107 'type'=> 'literal',
danielebarchiesi@4 108 'datatype'=> '',
danielebarchiesi@4 109 );
danielebarchiesi@4 110 $this->assertTrue(in_array($o, $g->index[$uri]['http://purl.org/dc/terms/title']), t('dc:title value found in ARC2 index.'));
danielebarchiesi@4 111
danielebarchiesi@4 112 // Test date in ARC2 RDF index.
danielebarchiesi@4 113 $o = array (
danielebarchiesi@4 114 'value'=> date_iso8601($node->created),
danielebarchiesi@4 115 'type'=> 'literal',
danielebarchiesi@4 116 'datatype' => 'xsd:dateTime',
danielebarchiesi@4 117 );
danielebarchiesi@4 118 $this->assertTrue(in_array($o, $g->index[$uri]['http://purl.org/dc/terms/date']), t('dc:date value found in ARC2 index.'));
danielebarchiesi@4 119 $o = array (
danielebarchiesi@4 120 'value'=> date_iso8601($node->created),
danielebarchiesi@4 121 'type'=> 'literal',
danielebarchiesi@4 122 'datatype' => 'xsd:dateTime',
danielebarchiesi@4 123 );
danielebarchiesi@4 124 $this->assertTrue(in_array($o, $g->index[$uri]['http://purl.org/dc/terms/created']), t('dc:created value found in ARC2 index.'));
danielebarchiesi@4 125
danielebarchiesi@4 126 // Test comment_count in ARC2 RDF index.
danielebarchiesi@4 127 $o = array (
danielebarchiesi@4 128 'value'=> $node->comment_count,
danielebarchiesi@4 129 'type'=> 'literal',
danielebarchiesi@4 130 'datatype'=> 'xsd:integer',
danielebarchiesi@4 131 );
danielebarchiesi@4 132 $this->assertTrue(in_array($o, $g->index[$uri]['http://rdfs.org/sioc/ns#num_replies']), t('sioc:num_replies value found in ARC2 index.'));
danielebarchiesi@4 133 }
danielebarchiesi@4 134
danielebarchiesi@4 135 }