*/
public function testStudentNameSchemaSpecialChars()
{
+ if (Tinebase_User::getConfiguredBackend() === Tinebase_User::ACTIVEDIRECTORY) {
+ // fails in AD setup (only with all tests):
+ // Zend_Ldap_Exception: 0x15 (Invalid syntax; 0000200B: objectclass_attrs:
+ // attribute 'primarygroupid' on entry 'cn=mycourse44 Lehrer,cn=Users,dc=example,dc=org'
+ // contains at least one invalid value!): updating: cn=mycourse44 Lehrer,cn=Users,dc=example,dc=org
+ $this->markTestSkipped('skipped for ad backend');
+ }
+
$this->_schemaConfigChanged = true;
Courses_Config::getInstance()->set(Courses_Config::STUDENTS_USERNAME_SCHEMA, 3);
'accountLastName' => 'Höt',
), $courseData);
- $this->assertEquals(2, count($result['results']));
+ $this->assertEquals(2, count($result['results']), 'should add 2 new members');
$id = NULL;
foreach ($result['results'] as $result) {
protected function _getCourseData()
{
return array(
- 'name' => Tinebase_Record_Abstract::generateUID(),
+ 'name' => 'mycourse' . rand(0, 100),
'description' => 'blabla',
'type' => $this->_department->getId(),
'internet' => 'ON',
public function testInvoiceRecreation()
{
- $this->markTestSkipped('FIXME: this fails randomly :(');
+ //$this->markTestSkipped('FIXME: this fails randomly :(');
$result = $this->_createInvoiceUpdateRecreationFixtures();
$this->assertEquals(1, $pA->count());
$pA = $pA->getFirstRecord();
$pA->interval = 4;
+ sleep(1);
Sales_Controller_ProductAggregate::getInstance()->update($pA);
$contract4->title = $contract4->getTitle() . ' changed';
- sleep(1);
$this->_contractController->update($contract4);
+ sleep(1);
$this->sharedTimesheet->id = NULL;
$this->_timesheetController->create($this->sharedTimesheet);
$result = $this->_invoiceController->checkForContractOrInvoiceUpdates();
- $this->assertEquals(true, (count($result)===2||count($result)===3));
+ $this->assertEquals(2, count($result));
$mapping = $this->_invoiceController->getAutoInvoiceRecreationResults();
$this->assertEquals(true, isset($mapping[$oldInvoiceId0]));
'/--filter [\S]+\D/',
'/--configuration [\S]+\D/',
'/--exclude-group [\S]+\D/',
+ '/--coverage-[\S]+ [\S]+\D/',
'/-c [\S]+\D/',
'/--log-junit [\S]+\D/'
), array(
(
array
(
- 'type' => 'any',
+ 'type' => 'array',
'name' => 'recordData',
- 'optional' => '',
+ 'optional' => false,
)
),
'returns' => 'array'
- ), $smdArray['services']['Inventory.saveInventoryItem']);
+ ), $smdArray['services']['Inventory.saveInventoryItem'], 'saveInventoryItem smd mismatch');
$this->assertEquals(array
(
'envelope' => 'JSON-RPC-2.0',
sleep(1);
Tinebase_User::syncUsers($syncOptions);
$user = Tinebase_User::getInstance()->getUserByPropertyFromSqlBackend('accountId', $user->getId(), 'Tinebase_Model_FullUser');
- $this->assertEquals($now->toString(), $user->accountExpires->toString(), 'expiry date should still be the same');
+ $this->assertTrue($now->toString() == $user->accountExpires->toString() ||
+ $now->subSecond(1)->toString() == $user->accountExpires->toString(), 'expiry date should still be the same');
// set expired to -1 year -> user should be deleted
$user->accountExpires = $now->subYear(1);
{label: _('Last Modified Time'), field: 'last_modified_time', valueType: 'date'},
{label: _('Last Modified By'), field: 'last_modified_by', valueType: 'user'},
{label: _('Creation Time'), field: 'creation_time', valueType: 'date'},
- {label: _('Created By'), field: 'created_by', valueType: 'user'}
+ {label: _('Created By'), field: 'created_by', valueType: 'user'},
+ {filtertype: 'tinebase.tag', app: app}
];
};
<?php
/**
- * abstract calendar export class
+ * calendar export generic trait
*
* @package Calendar
* @subpackage Export
* @package Calendar
* @subpackage Export
*
+ * TODO rename trait to hint functionality? GenericTrait is not a good name ;)
*/
trait Calendar_Export_GenericTrait
{
}
}
}
-
-
}
*/
protected function _createSharedLeads()
{
- $contacts = Addressbook_Controller_Contact::getInstance()->getAll();
- $addresses = $contacts->filter('type', 'contact');
+ $contactController = Addressbook_Controller_Contact::getInstance();
+
+ $filter = new Addressbook_Model_ContactFilter(array(
+ array('field' => 'type', 'operator' => 'equals', 'value' => 'contact'),
+ ));
$pagination = new Tinebase_Model_Pagination();
$pagination->start = 0;
$pagination->limit = 100;
- $addresses->limitByPagination($pagination);
- $users = $contacts->filter('type', 'user');
-
- unset($contacts);
+ $addresses = $contactController->search($filter, $pagination);
+
+ $filter = new Addressbook_Model_ContactFilter(array(
+ array('field' => 'type', 'operator' => 'equals', 'value' => 'user'),
+ ));
+ $users = $contactController->search($filter);
$userids = $users->getId();
app: 'HumanResources',
keyFieldName: 'extraFreetimeType',
fieldLabel: this.app.i18n._('Type'),
- name: 'type'
+ name: 'type',
+ showIcon: false
}], [{
fieldLabel: this.app.i18n._('Expiration date'),
xtype: 'datefield',
//get ids of invoices of which the contract was changed
$ids = $this->getInvoicesWithChangedContract((null!==$contract?$contract->getId():null));
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' found ' . count($ids) . ' invoices with a contract change after creation time');
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' found ' . count($ids) . ' invoices with a contract change after creation time');
}
$excludeIds = array();
$contracts = array();
continue;
}
$this->checkForRecreation($ids, $tmpContract);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' checkForRecreation result: ' . print_r($this->_autoInvoiceIterationResults, 1));
+ }
$result = array_merge($result, $this->_autoInvoiceIterationResults);
}
$p = new Tinebase_Model_Pagination(array('sort' => 'creation_time', 'dir' => 'ASC'));
$invoices = $this->search($f, $p, /* $_getRelations = */ false, /* only ids */ true);
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' found ' . count($invoices) . ' invoices which are not yet cleared');
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' found ' . count($invoices) . ' invoices which are not yet cleared');
}
foreach($invoices as $id)
}
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' found ' . count($billableAccountables) . ' accountables that need to be checked for: ' . $id);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' found ' . count($billableAccountables) . ' accountables that need to be checked for: ' . $id);
}
list($invoicePositions, $earliestStartDate, $latestEndDate) = $this->_findInvoicePositionsAndInvoiceInterval($billableAccountables);
if ($invoicePositions->count() > 0 ) {
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' found ' . $invoicePositions->count() . ' updates for: ' . $id);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' found ' . $invoicePositions->count() . ' updates for: ' . $id);
}
if ($invoice->start_date->isLater($earliestStartDate)) {
$invoice->start_date = $earliestStartDate;
{
if ($oldPosition->accountable_id == $position->accountable_id && $oldPosition->month == $position->month)
{
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' updating invoice position: ' . $oldPosition->id . ' with model: ' . $oldPosition->model . ' and accountable_id: ' . $oldPosition->accountable_id . ' in month: ' . $oldPosition->month . ' for invoice: ' . $id);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' updating invoice position: ' . $oldPosition->id . ' with model: ' . $oldPosition->model . ' and accountable_id: ' . $oldPosition->accountable_id . ' in month: ' . $oldPosition->month . ' for invoice: ' . $id);
}
//update the $invoice->price_net, price_gross too?!?
$oldPosition->quantity += $position->quantity;
}
// add a new invoice position
if (false===$found) {
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' adding invoice position with model: ' . $position->model . ' and accountable_id: ' . $position->accountable_id . ' in month: ' . $position->month . ' for invoice: ' . $id);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' adding invoice position with model: ' . $position->model . ' and accountable_id: ' . $position->accountable_id . ' in month: ' . $position->month . ' for invoice: ' . $id);
}
$position->invoice_id = $invoice->getId();
$ipc->create($position);
//we should delete from recent to old
//we should create from old to recent
//then compare correctly...
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
$forTrace = $contract->id . ' ' . print_r($ids, true);
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' for: ' . $forTrace);
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' for: ' . $forTrace);
}
$this->_autoInvoiceIterationDetailResults = array();
}
if (true === $somethingChanged) {
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' something changed for: ' . $forTrace);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' something changed for: ' . $forTrace);
}
Tinebase_TransactionManager::getInstance()->commitTransaction($transactionId);
}
} else {
- if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
- Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' nothing changed for: ' . $forTrace);
+ if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' nothing changed for: ' . $forTrace);
}
Tinebase_TransactionManager::getInstance()->rollBack();
}
Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' $this->_currentMonthToBill: ' . $this->_currentMonthToBill
. ' $this->_currentBillingDate ' . $this->_currentBillingDate);
foreach ($productAggregates as $productAggregate) {
- Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $productAggregate->id . ' ' . $productAggregate->last_autobill);
+ Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $productAggregate->id . ' ' . $productAggregate->last_autobill . ' ' . $productAggregate->interval);
}
}
}
$doSleep = true;
+ } elseif (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
+ Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' $invoicePositions->count() == false');
}
$this->_currentMonthToBill->addMonth(1);
--- /dev/null
+<?php
+/**
+ * ActiveDirectory generic trait
+ *
+ * @package Tinebase
+ * @subpackage ActiveDirectory
+ * @license http://www.gnu.org/licenses/agpl.html AGPL Version 3
+ * @author Philipp Schüle <p.schuele@metaways.de>
+ * @copyright Copyright (c) 2016 Metaways Infosystems GmbH (http://www.metaways.de)
+ *
+ */
+
+/**
+ * ActiveDirectory trait for reading domain configuration
+ * - can be used by User/Group AD controllers
+ *
+ * @package Tinebase
+ * @subpackage ActiveDirectory
+ *
+ */
+trait Tinebase_ActiveDirectory_DomainConfigurationTrait
+{
+ /**
+ * AD domain config
+ *
+ * @var array
+ */
+ protected $_domainConfig = null;
+
+ /**
+ * fetch domain config with domain sid and name
+ *
+ * @throws Tinebase_Exception_Backend_Ldap
+ * @throws Zend_Ldap_Exception
+ * @return array
+ *
+ * TODO cache this longer?
+ */
+ public function getDomainConfiguration()
+ {
+ if ($this->_domainConfig === null) {
+ $this->_domainConfig = $this->getLdap()->search(
+ 'objectClass=domain',
+ $this->getLdap()->getFirstNamingContext(),
+ Zend_Ldap::SEARCH_SCOPE_BASE
+ )->getFirst();
+
+ $this->_domainConfig['domainSidBinary'] = $this->_domainConfig['objectsid'][0];
+ $this->_domainConfig['domainSidPlain'] = Tinebase_Ldap::decodeSid($this->_domainConfig['objectsid'][0]);
+
+ $domainNameParts = array();
+ $keys = null; // not really needed
+ Zend_Ldap_Dn::explodeDn($this->_domainConfig['distinguishedname'][0], $keys, $domanNameParts);
+ $this->_domainConfig['domainName'] = implode('.', $domainNameParts);
+ }
+
+ return $this->_domainConfig;
+ }
+}
* @package Tinebase
* @subpackage Group
* @license http://www.gnu.org/licenses/agpl.html AGPL Version 3
- * @copyright Copyright (c) 2007-2013 Metaways Infosystems GmbH (http://www.metaways.de)
+ * @copyright Copyright (c) 2007-2016 Metaways Infosystems GmbH (http://www.metaways.de)
* @author Lars Kneschke <l.kneschke@metaways.de>
*/
*/
class Tinebase_Group_ActiveDirectory extends Tinebase_Group_Ldap
{
+ // TODO move more duplicated (in User/Group AD controllers) code into traits
+ use Tinebase_ActiveDirectory_DomainConfigurationTrait;
+
/**
* the ldap backend
*
protected $_userSearchScope = Zend_Ldap::SEARCH_SCOPE_SUB;
protected $_isReadOnlyBackend = false;
-
+
/**
* the constructor
*
}
parent::__construct($_options);
-
- // get domain sid
- $this->_domainConfig = $this->getLdap()->search(
- 'objectClass=domain',
- $this->getLdap()->getFirstNamingContext(),
- Zend_Ldap::SEARCH_SCOPE_BASE
- )->getFirst();
-
- $this->_domainSidBinary = $this->_domainConfig['objectsid'][0];
- $this->_domainSidPlain = Tinebase_Ldap::decodeSid($this->_domainConfig['objectsid'][0]);
-
- $domainNameParts = array();
- Zend_Ldap_Dn::explodeDn($this->_domainConfig['distinguishedname'][0], $unusedPart, $domainNameParts);
- $this->_domainName = implode('.', $domainNameParts);
}
-
+
/**
* create a new group in sync backend
*
if ($this->_options['useRfc2307']) {
$ldapData['objectclass'][] = 'posixGroup';
$ldapData['gidnumber'] = $this->_generateGidNumber();
-
- $ldapData['msSFU30NisDomain'] = Tinebase_Helper::array_value(0, explode('.', $this->_domainName));
+
+ $domainConfig = $this->getDomainConfiguration();
+ $ldapData['msSFU30NisDomain'] = Tinebase_Helper::array_value(0, explode('.', $domainConfig['domainName']));
}
if (Tinebase_Core::isLogLevel(Zend_Log::INFO))
*/
public function getGroupMembershipsFromSyncBackend($_userId)
{
- $userId = $_userId instanceof Tinebase_Model_User ? $_userId->getId() : $_userId;
+ $userId = $_userId instanceof Tinebase_Model_User ? $_userId->getId() : $_userId;
// find user in AD and retrieve memberOf attribute
$filter = Zend_Ldap_Filter::andFilter(
return array();
}
- // resolve primarygrouid to dn
+ // resolve primary group id to dn
+ $domainConfig = $this->getDomainConfiguration();
$filter = Zend_Ldap_Filter::andFilter(
Zend_Ldap_Filter::string($this->_groupBaseFilter),
- Zend_Ldap_Filter::equals('objectsid', Zend_Ldap::filterEscape($this->_domainSidPlain . '-' . $memberOfs['primarygroupid'][0]))
+ Zend_Ldap_Filter::equals('objectsid', Zend_Ldap::filterEscape($domainConfig['domainSidPlain'] . '-' . $memberOfs['primarygroupid'][0]))
);
$group = $this->getLdap()->search(
if (Tinebase_Core::isLogLevel(Zend_Log::TRACE))
Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " account meta data: " . print_r($accountMetaData, true));
- $memberUidNumbers = $this->getGroupMembers($_groupId);
-
$ldapData = array(
'member' => $accountMetaData['dn']
);
*/
public function resolveGIdNumberToUUId($rid)
{
- $groupSid = $this->_domainSidPlain . '-' . $rid;
+ $domainConfig = $this->getDomainConfiguration();
+ $groupSid = $domainConfig['domainSidPlain'] . '-' . $rid;
$filter = Zend_Ldap_Filter::andFilter(
Zend_Ldap_Filter::string($this->_groupBaseFilter),
if ($this->_isReadOnlyBackend) {
return;
}
-
+
$groupMetaData = $this->_getMetaData($_groupId);
$membersMetaDatas = $this->_getAccountsMetaData((array)$_groupMembers, FALSE);
Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' $group data: ' . print_r($groupMetaData, true));
if (Tinebase_Core::isLogLevel(Zend_Log::TRACE))
Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' $memebers: ' . print_r($membersMetaDatas, true));
-
- $groupDn = $this->_getDn($_groupId);
-
+
+ $domainConfig = $this->getDomainConfiguration();
$memberDn = array();
foreach ($membersMetaDatas as $memberMetadata) {
- if ($this->_domainSidPlain . '-' . $memberMetadata['primarygroupid'] == $groupMetaData['objectsid']) {
+ if ($domainConfig['domainSidPlain'] . '-' . $memberMetadata['primarygroupid'] == $groupMetaData['objectsid']) {
// skip this user => is already meber because of his primary group
continue;
}
$this->getLdap()->bind();
} catch (Zend_Ldap_Exception $zle) {
// @todo move this to Tinebase_Ldap?
+ Tinebase_Exception::log($zle);
throw new Tinebase_Exception_Backend_Ldap('Could not bind to LDAP: ' . $zle->getMessage());
}
}
'optReferrals' => null,
'tryUsernameSplit' => null
));
-
- $returnValue = parent::__construct($options);
if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__
. ' LDAP options: ' . print_r($options, true));
-
+
+ $returnValue = parent::__construct($options);
+
return $returnValue;
}
* @package Tinebase
* @subpackage User
* @license http://www.gnu.org/licenses/agpl.html AGPL Version 3
- * @copyright Copyright (c) 2007-2008 Metaways Infosystems GmbH (http://www.metaways.de)
+ * @copyright Copyright (c) 2007-2016 Metaways Infosystems GmbH (http://www.metaways.de)
* @author Lars Kneschke <l.kneschke@metaways.de>
*/
*/
class Tinebase_User_ActiveDirectory extends Tinebase_User_Ldap
{
+ // TODO move more duplicated (in User/Group AD controllers) code into traits
+ use Tinebase_ActiveDirectory_DomainConfigurationTrait;
+
const ACCOUNTDISABLE = 2;
const NORMAL_ACCOUNT = 512;
$this->_rowNameMapping['accountHomeDirectory'] = 'unixhomedirectory';
$this->_rowNameMapping['accountLoginShell'] = 'loginshell';
}
-
- // get domain sid
- $this->_domainConfig = $this->_ldap->search(
- 'objectClass=domain',
- $this->_ldap->getFirstNamingContext(),
- Zend_Ldap::SEARCH_SCOPE_BASE
- )->getFirst();
-
- $this->_domainSidBinary = $this->_domainConfig['objectsid'][0];
- $this->_domainSidPlain = Tinebase_Ldap::decodeSid($this->_domainConfig['objectsid'][0]);
-
- $domanNameParts = array();
- $keys = null; // not really needed
- Zend_Ldap_Dn::explodeDn($this->_domainConfig['distinguishedname'][0], $keys, $domanNameParts);
- $this->_domainName = implode('.', $domanNameParts);
}
/**
}
/*
- $maxPasswordAge = abs(bcdiv($this->_domainConfig['maxpwdage'][0], '10000000'));
+ $domainConfig = $this->getDomainConfiguration();
+ $maxPasswordAge = abs(bcdiv($domainConfig['maxpwdage'][0], '10000000'));
if ($maxPasswordAge > 0 && isset($accountArray['accountLastPasswordChange'])) {
$accountArray['accountExpires'] = clone $accountArray['accountLastPasswordChange'];
$accountArray['accountExpires']->addSecond($maxPasswordAge);
break;
}
}
-
+
+ $domainConfig = $this->getDomainConfiguration();
$ldapData['name'] = $ldapData['cn'];
- $ldapData['userPrincipalName'] = $_user->accountLoginName . '@' . $this->_domainName;
+ $ldapData['userPrincipalName'] = $_user->accountLoginName . '@' . $domainConfig['domainName'];
if ($this->_options['useRfc2307']) {
// homedir is an required attribute
}
$ldapData['gidnumber'] = Tinebase_Group::getInstance()->resolveGidNumber($_user->accountPrimaryGroup);
- $ldapData['msSFU30NisDomain'] = Tinebase_Helper::array_value(0, explode('.', $this->_domainName));
+ $ldapData['msSFU30NisDomain'] = Tinebase_Helper::array_value(0, explode('.', $domainConfig['domainName']));
}
if (isset($_user->sambaSAM) && $_user->sambaSAM instanceof Tinebase_Model_SAMUser) {
// check if already in
if (this.store.findExact('related_id', recordToAdd.id) === -1) {
+ var recordType = record.get('type');
+ if (! Ext.isString(recordType) && recordType['default']) {
+ record.set('type', recordType['default']);
+ record.commit();
+ }
this.store.add([record]);
}
<property name="testinclude" value="AllTests.php" override="true" />
<property name="includepath" value=".:/usr/share/php/:${configdir}:${project.basedir}:${project.basedir}/library:${project.basedir}/vendor/zendframework/zendframework1/library" override="true" />
<property name="testadditionalparams" value="" override="true" />
+ <property name="testsuite" value="tine20" override="true" />
<echo msg="Starting Tests..." />
<echo msg="Using config file ${testconfigdir}/phpunit.xml" />
<echo msg="Setting include_path to ${includepath}" />
- <exec executable="${project.basedir}/vendor/bin/phpunit" dir="${project.basedir}/../tests/tine20" passthru="true">
+ <exec executable="${project.basedir}/vendor/bin/phpunit" dir="${project.basedir}/../tests/${testsuite}" passthru="true">
<arg line="-d max_execution_time=0
-d include_path=${includepath}
--configuration ${testconfigdir}/phpunit.xml
<!-- ============================================ -->
<target name="phpunit-serv" depends="clean, phpunit-prepare">
<property name="testinclude" value="AllServerTests.php" override="true" />
- <property name="includepath" value=".:/usr/share/php/:${configdir}:${project.basedir}:${project.basedir}/library/" override="true" />
+ <property name="includepath" value=".:/usr/share/php/:${configdir}:${project.basedir}:${project.basedir}/library/:${project.basedir}/library/zf1ext" override="true" />
<property name="testadditionalparams" value="" override="true" />
<echo msg="Starting Server Tests..." />
<!-- ============================================ -->
<!-- Target: report -->
- <!-- TODO remove code duplication (phpunit target) -->
+ <!-- TODO remove code duplication (phpunit target) OR remove this -->
<!-- ============================================ -->
<target name="report">
<echo msg="Starting Tests..." />