コード例 #1
0
 /**
  * tests an upgrade package containing two schema upgrades
  *
  */
 function test_upgradeSchemas()
 {
     $this->_deleteTestAppVarRecord('tables_core', '');
     $this->assertEqual($this->_getTestAppVarValue('tables_core', ''), '', '');
     $this->_createTestAppVarRecord('tables_core', '997');
     $this->assertEqual($this->_getTestAppVarValue('tables_core', '997'), '997', '');
     $this->_createTestAppVarRecord('oa_version', '2.3.00');
     $oUpgrade->versionInitialSchema['tables_core'] = 997;
     $oUpgrade->versionInitialApplication = '2.3.00';
     $oUpgrade = new OA_Upgrade();
     $oUpgrade->upgradePath = MAX_PATH . '/lib/OA/Upgrade/tests/data/';
     $oUpgrade->oDBUpgrader->path_changes = $oUpgrade->upgradePath;
     $oUpgrade->oDBUpgrader->path_schema = $oUpgrade->upgradePath;
     $input_file = 'openads_upgrade_2.3.00_to_2.3.02_beta.xml';
     $oUpgrade->initDatabaseConnection();
     $oUpgrade->_parseUpgradePackageFile($oUpgrade->upgradePath . $input_file);
     $this->assertTrue($oUpgrade->upgradeSchemas(), 'upgradeSchemas');
     $this->_checkTablesUpgraded($oUpgrade);
     $this->assertEqual($this->_getTestAppVarValue('tables_core', '999'), '999', '');
     // remove the fake application variable records
     $this->_deleteTestAppVarRecordAllNames('oa_version');
     $this->_deleteTestAppVarRecordAllNames('tables_core');
     TestEnv::restoreConfig();
     TestEnv::restoreEnv();
 }
コード例 #2
0
 function test_upgradeSchemasFail()
 {
     $oUpgrade = new OA_Upgrade();
     Mock::generatePartial('OA_Version_Controller', $mockVersioner = 'OA_Version_Controller' . rand(), array('getSchemaVersion', 'putSchemaVersion'));
     $oUpgrade->oVersioner = new $mockVersioner($this);
     $oUpgrade->oVersioner->setReturnValueAt(0, 'getSchemaVersion', 1);
     $oUpgrade->oVersioner->expectCallCount('getSchemaVersion', 1);
     $oUpgrade->oVersioner->setReturnValue('putSchemaVersion', null);
     $oUpgrade->oVersioner->expectCallCount('putSchemaVersion', 0);
     Mock::generatePartial('OA_DB_Upgrade', $mockDBUpgrade = 'OA_DB_Upgrade' . rand(), array('init', 'upgrade', 'rollback', 'prepPrescript', 'prepPostcript', 'prepRollback'));
     $oUpgrade->oDBUpgrader = new $mockDBUpgrade($this);
     $oUpgrade->oDBUpgrader->setReturnValue('init', true);
     $oUpgrade->oDBUpgrader->expectCallCount('init', 1);
     $oUpgrade->oDBUpgrader->setReturnValue('prepPrescript', true);
     $oUpgrade->oDBUpgrader->expectCallCount('prepPrescript', 0);
     $oUpgrade->oDBUpgrader->setReturnValue('upgrade', false);
     $oUpgrade->oDBUpgrader->expectCallCount('upgrade', 1);
     Mock::generatePartial('OA_DB_UpgradeAuditor', $mockAuditor = 'OA_DB_UpgradeAuditor' . rand(), array('logAuditAction'));
     $oUpgrade->oAuditor->oDBAuditor = new $mockAuditor($this);
     $oUpgrade->oAuditor->oDBAuditor->setReturnValue('logAuditAction', true);
     $oUpgrade->aDBPackages = array(0 => array('version' => '2', 'schema' => 'test_tables', 'files' => ''));
     $this->assertFalse($oUpgrade->upgradeSchemas(), 'schema upgrade method failed (testing failure.  it was supposed to fail and it didn\'t)');
     $this->assertEqual($oUpgrade->versionInitialSchema['test_tables'], 1, 'error setting initial schema version');
     $oUpgrade->oDBUpgrader->tally();
     $oUpgrade->oVersioner->tally();
 }