Example #1
0
 /**
  * Test fixed-up models
  * 
  * The fixup process removes the db connection from the schema, so we need to
  * manually specify it here.
  */
 public function testModels()
 {
     $this->initConnections();
     // Create an entry to satisfy later constraints
     $node = $this->createKnownNode(new TestModelKnownNode(), $this->conNode);
     try {
         $organiser = new TestModelTestOrganiser();
         $organiser->setCreatorNodeId($node->getPrimaryKey());
         $organiser->setName($orgName = 'Mr. Badger');
         $event = new TestModelTestEvent();
         $event->setCreatorNodeId($node->getPrimaryKey());
         $event->setName($eventName = 'Expert Burrowing In The Built Environment');
         $event->setTestModelTestOrganiser($organiser);
         $event->save($this->conNode);
         $ok = true;
     } catch (Exception $e) {
         // @todo Remove this temporary error reporting
         echo 'Error: ' . $e->getMessage() . "\n";
         $ok = false;
     }
     $this->assertTrue($ok, 'Save some rows to the test model');
     // Check they have been written okay
     $organiser = TestModelTestOrganiserQuery::create()->findOneByName($orgName, $this->conNode);
     $event = TestModelTestEventQuery::create()->findOneByName($eventName, $this->conNode);
     $this->assertTrue($organiser instanceof TestModelTestOrganiser && $event instanceof TestModelTestEvent, 'Retrieve rows from the database');
 }
Example #2
0
 public function __construct($label = false)
 {
     // Same package name as test 2
     parent::__construct('test_model', $label);
     $this->node = $this->createKnownNode(new TestModelKnownNode(), $this->conNode);
     // Create/empty the log
     $logDir = Meshing_Utils::getProjectRoot() . Meshing_Utils::getPaths()->getTestLogPath();
     $this->logFile = $logDir . '/' . LOCKING_TEST_LOG;
     file_put_contents($this->logFile, '');
     // Create test row
     $organiser = new TestModelTestOrganiser();
     $organiser->setCreatorNodeId($this->node->getPrimaryKey());
     $organiser->setName('Mr. Toad');
     $organiser->save($this->conNode);
 }
Example #3
0
 public function testBasicHash()
 {
     $strategy = $this->useBasicStrategy();
     // Create a record
     $organiser = new TestModelTestOrganiser();
     $organiser->setCreatorNodeId($this->node->getId());
     $organiser->setName('Organiser');
     $organiser->setEmail('*****@*****.**');
     $organiser->save($this->conNode);
     // Calc the hash and see if it is okay (interleaved 1s = "preceding value not null")
     $values = array($organiser->getId(), $organiser->getName(), $organiser->getEmail(), $organiser->getTestModelKnownNode($this->conNode)->getFqdn());
     $out = '';
     foreach ($values as $value) {
         $out .= $value . $strategy->getValueTerminator($value);
     }
     $expectedHash = sha1($out);
     $this->assertEqual($expectedHash, $organiser->getHash($this->conNode), 'Checking simple SHA1 works');
 }