adding build.xml for jenkins, and fix AppSolrTest

This commit is contained in:
Fernando Ontiveros
2012-07-04 17:13:44 -04:00
parent 17c9554dde
commit a4eeb91547
3 changed files with 201 additions and 52 deletions

137
build.xml Normal file
View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="name-of-project" default="build-simple">
<target name="build"
depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpdox,phpunit,phpcb"/>
<target name="build-simple"
depends="prepare,phpunit,phpcs-ci,phploc"/>
<target name="build-parallel"
depends="prepare,lint,tools-parallel,phpunit,phpcb"/>
<target name="tools-parallel" description="Run tools in parallel">
<parallel threadCount="2">
<sequential>
<antcall target="pdepend"/>
<antcall target="phpmd-ci"/>
</sequential>
<antcall target="phpcpd"/>
<antcall target="phpcs-ci"/>
<antcall target="phploc"/>
<antcall target="phpdox"/>
</parallel>
</target>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/build/api"/>
<delete dir="${basedir}/build/code-browser"/>
<delete dir="${basedir}/build/coverage"/>
<delete dir="${basedir}/build/logs"/>
<delete dir="${basedir}/build/pdepend"/>
</target>
<target name="prepare" depends="clean" description="Prepare for build">
<mkdir dir="${basedir}/build/api"/>
<mkdir dir="${basedir}/build/code-browser"/>
<mkdir dir="${basedir}/build/coverage"/>
<mkdir dir="${basedir}/build/logs"/>
<mkdir dir="${basedir}/build/pdepend"/>
<mkdir dir="${basedir}/build/phpdox"/>
</target>
<target name="lint" description="Perform syntax check of sourcecode files">
<apply executable="php" failonerror="true">
<arg value="-l" />
<fileset dir="${basedir}/workflow/methods/login">
<include name="*.php" />
<modified />
</fileset>
</apply>
</target>
<target name="phploc" description="Measure project size using PHPLOC">
<exec executable="phploc">
<arg value="--log-csv" />
<arg value="${basedir}/build/logs/phploc.csv" />
<arg path="${basedir}/workflow/engine" />
</exec>
</target>
<target name="pdepend" description="Calculate software metrics using PHP_Depend">
<exec executable="pdepend">
<arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
<arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
<arg path="${basedir}/workflow" />
</exec>
</target>
<target name="phpmd"
description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
<exec executable="phpmd">
<arg path="${basedir}/workflow" />
<arg value="text" />
<arg value="codesize" /> <!-- ${basedir}/build/phpmd.xml" /> !-->
</exec>
</target>
<target name="phpmd-ci" description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
<exec executable="phpmd">
<arg path="${basedir}/workflow" />
<arg value="xml" />
<arg value="${basedir}/build/phpmd.xml" />
<arg value="--reportfile" />
<arg value="${basedir}/build/logs/pmd.xml" />
</exec>
</target>
<target name="phpcs"
description="Find coding standard violations using PHP_CodeSniffer and print human readable output. Intended for usage on the command line before committing.">
<exec executable="phpcs">
<arg value="--standard=PSR2" />
<arg path="${basedir}/workflow/engine/methods/login" />
<arg path="${basedir}/workflow/engine/methods/services" />
</exec>
</target>
<target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="phpcs" output="/dev/null">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=PSR2" />
<arg path="${basedir}/workflow/engine/methods/login" />
<arg path="${basedir}/workflow/engine/methods/services" />
</exec>
</target>
<target name="phpcpd" description="Find duplicate code using PHPCPD">
<exec executable="phpcpd">
<arg value="--log-pmd" />
<arg value="${basedir}/build/logs/pmd-cpd.xml" />
<arg path="${basedir}/workflow" />
</exec>
</target>
<target name="phpdox" description="Generate API documentation using phpDox">
<exec executable="phpdox"/>
</target>
<target name="phpunit" description="Run unit tests with PHPUnit">
<exec executable="phpunit" failonerror="true"/>
</target>
<target name="phpcb" description="Aggregate tool output with PHP_CodeBrowser">
<exec executable="phpcb">
<arg value="--log" />
<arg path="${basedir}/build/logs" />
<arg value="--source" />
<arg path="${basedir}/workflow" />
<arg value="--output" />
<arg path="${basedir}/build/code-browser" />
</exec>
</target>
</project>

View File

@@ -29,6 +29,14 @@
</filter> --> </filter> -->
<php> <php>
<var name="SYS_SYS" value="herbert" /> <var name="SYS_SYS" value="os" />
</php> </php>
<logging>
<log type="coverage-html" target="build/coverage" title="ERC"
charset="UTF-8" yui="true" highlight="true"
lowUpperBound="10" highLowerBound="20"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
</phpunit> </phpunit>

View File

@@ -12,20 +12,24 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
* @var AppSolr * @var AppSolr
*/ */
protected $object; protected $object;
/** /**
* Sets up the fixture, for example, opens a network connection. * Sets up the fixture, for example, opens a network connection.
* This method is called before each test is executed. * This method is called before each test is executed.
*/ */
protected function setUp() protected function setUp()
{ {
// get Solr initialization variables // get Solr initialization variables
if (($solrConf = System::solrEnv (SYS_SYS)) !== false) { // get Solr initialization variables
$solrConf = array(
'solr_enabled' => 1,
'solr_host' => 'localhost',
'solr_instance' => 'os'
);
G::LoadClass ('AppSolr'); G::LoadClass ('AppSolr');
$this->object = new AppSolr ($solrConf ['solr_enabled'], $solrConf ['solr_host'], $solrConf ['solr_instance']); $this->object = new AppSolr ($solrConf ['solr_enabled'], $solrConf ['solr_host'], $solrConf ['solr_instance']);
}
} }
/** /**
* Tears down the fixture, for example, closes a network connection. * Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed. * This method is called after a test is executed.
@@ -33,7 +37,7 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
protected function tearDown() protected function tearDown()
{ {
} }
/** /**
* @covers AppSolr::isSolrEnabled * @covers AppSolr::isSolrEnabled
*/ */
@@ -44,7 +48,7 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
$result = $this->object->isSolrEnabled (); $result = $this->object->isSolrEnabled ();
$this->assertEquals ($result, true, "Assert error testIsSolrEnabled"); $this->assertEquals ($result, true, "Assert error testIsSolrEnabled");
} }
/** /**
* @covers AppSolr::reindexAllApplications * @covers AppSolr::reindexAllApplications
* executed first to copy all the application records to the search server * executed first to copy all the application records to the search server
@@ -54,7 +58,7 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
{ {
$this->object->reindexAllApplications (); $this->object->reindexAllApplications ();
} }
/** /**
* @covers AppSolr::getCountApplicationsPMOS2 * @covers AppSolr::getCountApplicationsPMOS2
* *
@@ -65,11 +69,11 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
$result = $this->object->getCountApplicationsPMOS2 (); $result = $this->object->getCountApplicationsPMOS2 ();
$this->assertGreaterThan (0, $result, "Assert error testGetCountApplicationsPMOS2"); $this->assertGreaterThan (0, $result, "Assert error testGetCountApplicationsPMOS2");
print "Applications count: " . $result . "\n"; print "Applications count: " . $result . "\n";
return $result; return $result;
} }
/** /**
* @covers AppSolr::getPagedApplicationUids * @covers AppSolr::getPagedApplicationUids
* *
@@ -78,19 +82,19 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
public function testGetPagedApplicationUids($totalNumApplications) public function testGetPagedApplicationUids($totalNumApplications)
{ {
$pagesize = 2; $pagesize = 2;
$aAppUids = $this->object->getPagedApplicationUids(0, $pagesize); $aAppUids = $this->object->getPagedApplicationUids(0, $pagesize);
if($totalNumApplications >= $pagesize){ if($totalNumApplications >= $pagesize){
$this->assertCount(2, $aAppUids, 'Error returned paginated list of AppUids'); $this->assertCount(2, $aAppUids, 'Error returned paginated list of AppUids');
} }
else{ else{
$this->assertGreaterThan(0, $aAppUids, 'No AppUids found'); $this->assertGreaterThan(0, $aAppUids, 'No AppUids found');
} }
return $aAppUids; return $aAppUids;
} }
/** /**
* @covers AppSolr::getAppGridData * @covers AppSolr::getAppGridData
* *
@@ -98,7 +102,7 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
*/ */
public function testGetAppGridData() public function testGetAppGridData()
{ {
//$userUid, $start = null, $limit = null, $action = null, $filter = null, $search = null, $process = null, $user = null, //$userUid, $start = null, $limit = null, $action = null, $filter = null, $search = null, $process = null, $user = null,
//$status = null, $type = null, $dateFrom = null, $dateTo = null, $callback = null, $dir = null, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $doCount = false //$status = null, $type = null, $dateFrom = null, $dateTo = null, $callback = null, $dir = null, $sort = 'APP_CACHE_VIEW.APP_NUMBER', $doCount = false
$userUid = '00000000000000000000000000000001'; //admin user $userUid = '00000000000000000000000000000001'; //admin user
$start = 0; $start = 0;
@@ -106,7 +110,7 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
$action = 'todo'; $action = 'todo';
$sort = 'APP_NUMBER'; $sort = 'APP_NUMBER';
$dir = 'ASC'; $dir = 'ASC';
$result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null,
null, null, null, null, null, $dir, $sort, false); null, null, null, null, null, $dir, $sort, false);
print_r($result); print_r($result);
if(!$result ['success']){ if(!$result ['success']){
@@ -115,13 +119,13 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
if(!$result ['result']){ if(!$result ['result']){
$this->assertCount(0, $result ['data'], 'Returned data when not success reported'); $this->assertCount(0, $result ['data'], 'Returned data when not success reported');
} }
//verify the number of returned rows //verify the number of returned rows
print 'count results: ' . count($result ['data']); print 'count results: ' . count($result ['data']);
//$this->assertGreaterThan($result ['totalCount'], count($result ['data']), 'The returned records are less than the total'); //$this->assertGreaterThan($result ['totalCount'], count($result ['data']), 'The returned records are less than the total');
//test all the views //test all the views
$userUid = '00000000000000000000000000000001'; //admin user $userUid = '00000000000000000000000000000001'; //admin user
$start = 0; $start = 0;
@@ -130,9 +134,9 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
$sort = 'APP_NUMBER'; $sort = 'APP_NUMBER';
$dir = 'ASC'; $dir = 'ASC';
$result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null,
null, null, null, null, null, $dir, $sort, false); null, null, null, null, null, $dir, $sort, false);
$userUid = '00000000000000000000000000000001'; //admin user $userUid = '00000000000000000000000000000001'; //admin user
$start = 0; $start = 0;
$limit = 20; $limit = 20;
@@ -150,12 +154,12 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
$dir = 'ASC'; $dir = 'ASC';
$result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null, $result = $this->object->getAppGridData ($userUid, $start, $limit, $action, null, null, null, null,
null, null, null, null, null, $dir, $sort, false); null, null, null, null, null, $dir, $sort, false);
//test search functionality //test search functionality
} }
/** /**
* @covers AppSolr::getCasesCount * @covers AppSolr::getCasesCount
* *
@@ -164,10 +168,10 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
{ {
$userUid = '00000000000000000000000000000001'; $userUid = '00000000000000000000000000000001';
$result = $this->object->getCasesCount($userUid); $result = $this->object->getCasesCount($userUid);
print_r($result); print_r($result);
$this->assertNotEmpty($result, 'Empty array of counters'); $this->assertNotEmpty($result, 'Empty array of counters');
} }
/** /**
* @covers AppSolr::updateApplicationSearchIndex * @covers AppSolr::updateApplicationSearchIndex
* *
@@ -175,11 +179,11 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
*/ */
public function testUpdateApplicationSearchIndex($aAppUids) public function testUpdateApplicationSearchIndex($aAppUids)
{ {
$this->object->updateApplicationSearchIndex($aAppUids); $this->object->updateApplicationSearchIndex($aAppUids);
} }
/** /**
* @covers AppSolr::deleteApplicationSearchIndex * @covers AppSolr::deleteApplicationSearchIndex
* *
@@ -188,22 +192,22 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
public function testDeleteApplicationSearchIndex($aAppUids) public function testDeleteApplicationSearchIndex($aAppUids)
{ {
$appUID = $aAppUids[0]['APP_UID']; $appUID = $aAppUids[0]['APP_UID'];
$count = $this->object->getCountApplicationsSearchIndex(); $count = $this->object->getCountApplicationsSearchIndex();
$this->object->deleteApplicationSearchIndex($appUID); $this->object->deleteApplicationSearchIndex($appUID);
$count2 = $this->object->getCountApplicationsSearchIndex(); $count2 = $this->object->getCountApplicationsSearchIndex();
$this->assertEquals($count, $count2 + 1, 'Error deleting application in search index'); $this->assertEquals($count, $count2 + 1, 'Error deleting application in search index');
//leave index as in the beginning //leave index as in the beginning
$this->object->reindexAllApplications(); $this->object->reindexAllApplications();
$count3 = $this->object->getCountApplicationsSearchIndex(); $count3 = $this->object->getCountApplicationsSearchIndex();
$this->assertEquals($count, $count3, 'Error restoring deleted application in search index'); $this->assertEquals($count, $count3, 'Error restoring deleted application in search index');
} }
/** /**
* @covers AppSolr::applicationChangedUpdateSolrQueue * @covers AppSolr::applicationChangedUpdateSolrQueue
* *
@@ -212,12 +216,12 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
public function testApplicationChangedUpdateSolrQueue($aAppUids) public function testApplicationChangedUpdateSolrQueue($aAppUids)
{ {
$appUID = $aAppUids[0]['APP_UID']; $appUID = $aAppUids[0]['APP_UID'];
//mark application for deletion //mark application for deletion
$this->object->applicationChangedUpdateSolrQueue($appUID, 2); //to delete $this->object->applicationChangedUpdateSolrQueue($appUID, 2); //to delete
} }
/** /**
* @covers AppSolr::synchronizePendingApplications * @covers AppSolr::synchronizePendingApplications
* *
@@ -227,22 +231,22 @@ class AppSolrTest extends PHPUnit_Framework_TestCase
{ {
//count number of indexed applications //count number of indexed applications
$count = $this->object->getCountApplicationsSearchIndex(); $count = $this->object->getCountApplicationsSearchIndex();
print "Total applications:" . $count; print "Total applications:" . $count;
//delete application marked in previous test //delete application marked in previous test
$this->object->synchronizePendingApplications(); $this->object->synchronizePendingApplications();
$count2 = $this->object->getCountApplicationsSearchIndex(); $count2 = $this->object->getCountApplicationsSearchIndex();
print "Total applications deleted record:" . $count2; print "Total applications deleted record:" . $count2;
$this->assertEquals($count, $count2 + 1, 'Error synchronizing applications in search index'); $this->assertEquals($count, $count2 + 1, 'Error synchronizing applications in search index');
//leave index as in the beginning //leave index as in the beginning
$this->object->reindexAllApplications(); $this->object->reindexAllApplications();
$count3 = $this->object->getCountApplicationsSearchIndex(); $count3 = $this->object->getCountApplicationsSearchIndex();
$this->assertEquals($count, $count3, 'Error restoring deleted application in search index'); $this->assertEquals($count, $count3, 'Error restoring deleted application in search index');
} }
} }