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> -->
<php>
<var name="SYS_SYS" value="herbert" />
<var name="SYS_SYS" value="os" />
</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>

View File

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