/** * 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'); }
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); }
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'); }