diff --git a/test/phpunit/AllTests.php b/test/phpunit/AllTests.php
index c6f54d70428..cb79a262feb 100644
--- a/test/phpunit/AllTests.php
+++ b/test/phpunit/AllTests.php
@@ -141,8 +141,17 @@ class AllTests
require_once dirname(__FILE__).'/CategorieTest.php';
$suite->addTestSuite('CategorieTest');
- require_once dirname(__FILE__).'/WebservicesTest.php';
- $suite->addTestSuite('WebservicesTest');
+ require_once dirname(__FILE__).'/WebservicesInvoices.php';
+ $suite->addTestSuite('WebservicesInvoices');
+ require_once dirname(__FILE__).'/WebservicesOrders.php';
+ $suite->addTestSuite('WebservicesOrders');
+ require_once dirname(__FILE__).'/WebservicesOther.php';
+ $suite->addTestSuite('WebservicesOther');
+ require_once dirname(__FILE__).'/WebservicesThirparty.php';
+ $suite->addTestSuite('WebservicesThirdparty');
+ require_once dirname(__FILE__).'/WebservicesUserTest.php';
+ $suite->addTestSuite('WebservicesUserTest');
+
require_once dirname(__FILE__).'/ExportTest.php';
$suite->addTestSuite('ExportTest');
require_once dirname(__FILE__).'/ImportTest.php';
diff --git a/test/phpunit/WebservicesTest.php b/test/phpunit/WebservicesInvoicesTest.php
similarity index 62%
rename from test/phpunit/WebservicesTest.php
rename to test/phpunit/WebservicesInvoicesTest.php
index bdcc1f2eb85..abf91d044f5 100755
--- a/test/phpunit/WebservicesTest.php
+++ b/test/phpunit/WebservicesInvoicesTest.php
@@ -47,7 +47,7 @@ $conf->global->MAIN_DISABLE_ALL_MAILS=1;
* @backupStaticAttributes enabled
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
*/
-class WebservicesTest extends PHPUnit_Framework_TestCase
+class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase
{
protected $savconf;
protected $savuser;
@@ -116,67 +116,64 @@ class WebservicesTest extends PHPUnit_Framework_TestCase
print __METHOD__."\n";
}
- /**
- * testWSVersion
- *
- * @return int
- */
- public function testWSGetVersions()
- {
- global $conf,$user,$langs,$db;
- $conf=$this->savconf;
- $user=$this->savuser;
- $langs=$this->savlangs;
- $db=$this->savdb;
-
- $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_other.php';
- //$WS_DOL_URL = 'http://localhost:8080/'; // If not a page, should end with /
- $WS_METHOD = 'getVersions';
- $ns='http://www.dolibarr.org/ns/';
-
-
- // Set the WebService URL
- print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
- $soapclient = new nusoap_client($WS_DOL_URL);
- if ($soapclient)
- {
- $soapclient->soap_defencoding='UTF-8';
- $soapclient->decodeUTF8(false);
- }
-
- // Call the WebService method and store its result in $result.
- $authentication=array(
- 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
- 'sourceapplication'=>'DEMO',
- 'login'=>'admin',
- 'password'=>'admin',
- 'entity'=>'');
-
- // Test URL
- if ($WS_METHOD)
- {
- $parameters = array('authentication'=>$authentication);
- print __METHOD__."Call method ".$WS_METHOD."\n";
- $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
- if (! $result)
- {
- //var_dump($soapclient);
- //print_r($soapclient);
- print $soapclient->error_str;
- print "
\n\n";
- print $soapclient->request;
- print "
\n\n";
- print $soapclient->response;
- exit;
- }
- }
-
- print __METHOD__." result=".$result."\n";
- $this->assertEquals('OK',$result['result']['result_code']);
-
- return $result;
+
+ /**
+ * testWSInvoices_xxx
+ *
+ * @return int
+ */
+ public function testWSInvoices_xxx()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_invoice.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
}
-
}
?>
\ No newline at end of file
diff --git a/test/phpunit/WebservicesOrdersTest.php b/test/phpunit/WebservicesOrdersTest.php
new file mode 100755
index 00000000000..2df89cce462
--- /dev/null
+++ b/test/phpunit/WebservicesOrdersTest.php
@@ -0,0 +1,357 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ * or see http://www.gnu.org/
+ */
+
+/**
+ * \file test/phpunit/WebservicesTest.php
+ * \ingroup test
+ * \brief PHPUnit test
+ * \remarks To run this script as CLI: phpunit filename.php
+ */
+
+global $conf,$user,$langs,$db;
+//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
+require_once 'PHPUnit/Autoload.php';
+require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../../htdocs/core/lib/date.lib.php';
+require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
+
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user nb 1\n";
+ $user->fetch(1);
+ $user->getrights();
+}
+$conf->global->MAIN_DISABLE_ALL_MAILS=1;
+
+
+/**
+ * Class for PHPUnit tests
+ *
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class WebservicesOrdersTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return DateLibTest
+ */
+ function __construct()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * Init phpunit tests
+ *
+ * @return void
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * End phpunit tests
+ *
+ * @return void
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+
+ /**
+ * testWSOrder_xxx
+ *
+ * @return int
+ */
+ public function testWSOrder_xxx()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_order.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+
+
+ /**
+ * testWSOther_GetVersions
+ *
+ * @return int
+ */
+ public function testWSOther_GetVersions()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_other.php';
+ $WS_METHOD = 'getVersions';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ $this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+
+ /**
+ * testWSThirdparty
+ *
+ * @return int
+ */
+ public function testWSThirdparty()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_thirdparty.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+
+ /**
+ * testWSUser
+ *
+ * @return int
+ */
+ public function testWSUser()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_user.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/test/phpunit/WebservicesOtherTest.php b/test/phpunit/WebservicesOtherTest.php
new file mode 100755
index 00000000000..56812985008
--- /dev/null
+++ b/test/phpunit/WebservicesOtherTest.php
@@ -0,0 +1,179 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ * or see http://www.gnu.org/
+ */
+
+/**
+ * \file test/phpunit/WebservicesTest.php
+ * \ingroup test
+ * \brief PHPUnit test
+ * \remarks To run this script as CLI: phpunit filename.php
+ */
+
+global $conf,$user,$langs,$db;
+//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
+require_once 'PHPUnit/Autoload.php';
+require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../../htdocs/core/lib/date.lib.php';
+require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
+
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user nb 1\n";
+ $user->fetch(1);
+ $user->getrights();
+}
+$conf->global->MAIN_DISABLE_ALL_MAILS=1;
+
+
+/**
+ * Class for PHPUnit tests
+ *
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class WebservicesOtherTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return DateLibTest
+ */
+ function __construct()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * Init phpunit tests
+ *
+ * @return void
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * End phpunit tests
+ *
+ * @return void
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+
+ /**
+ * testWSOther_GetVersions
+ *
+ * @return int
+ */
+ public function testWSOther_GetVersions()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_other.php';
+ $WS_METHOD = 'getVersions';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ $this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/test/phpunit/WebservicesThirdpartyTest.php b/test/phpunit/WebservicesThirdpartyTest.php
new file mode 100755
index 00000000000..35c248f013c
--- /dev/null
+++ b/test/phpunit/WebservicesThirdpartyTest.php
@@ -0,0 +1,179 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ * or see http://www.gnu.org/
+ */
+
+/**
+ * \file test/phpunit/WebservicesTest.php
+ * \ingroup test
+ * \brief PHPUnit test
+ * \remarks To run this script as CLI: phpunit filename.php
+ */
+
+global $conf,$user,$langs,$db;
+//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
+require_once 'PHPUnit/Autoload.php';
+require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../../htdocs/core/lib/date.lib.php';
+require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
+
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user nb 1\n";
+ $user->fetch(1);
+ $user->getrights();
+}
+$conf->global->MAIN_DISABLE_ALL_MAILS=1;
+
+
+/**
+ * Class for PHPUnit tests
+ *
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class WebservicesThirdpartyTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return DateLibTest
+ */
+ function __construct()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * Init phpunit tests
+ *
+ * @return void
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * End phpunit tests
+ *
+ * @return void
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+
+ /**
+ * testWSThirdparty_xxx
+ *
+ * @return int
+ */
+ public function testWSThirdparty_xxx()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_thirdparty.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/test/phpunit/WebservicesUserTest.php b/test/phpunit/WebservicesUserTest.php
new file mode 100755
index 00000000000..c2157c0b7de
--- /dev/null
+++ b/test/phpunit/WebservicesUserTest.php
@@ -0,0 +1,179 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ * or see http://www.gnu.org/
+ */
+
+/**
+ * \file test/phpunit/WebservicesTest.php
+ * \ingroup test
+ * \brief PHPUnit test
+ * \remarks To run this script as CLI: phpunit filename.php
+ */
+
+global $conf,$user,$langs,$db;
+//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
+require_once 'PHPUnit/Autoload.php';
+require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../../htdocs/core/lib/date.lib.php';
+require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
+
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user nb 1\n";
+ $user->fetch(1);
+ $user->getrights();
+}
+$conf->global->MAIN_DISABLE_ALL_MAILS=1;
+
+
+/**
+ * Class for PHPUnit tests
+ *
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class WebservicesUserTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return DateLibTest
+ */
+ function __construct()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * Init phpunit tests
+ *
+ * @return void
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ * End phpunit tests
+ *
+ * @return void
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+
+ /**
+ * testWSUser_xxx
+ *
+ * @return int
+ */
+ public function testWSUser_xxx()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_other.php';
+ $WS_METHOD = 'xxx';
+ $ns='http://www.dolibarr.org/ns/';
+
+ // Set the WebService URL
+ print __METHOD__."Create nusoap_client for URL=".$WS_DOL_URL."\n";
+ $soapclient = new nusoap_client($WS_DOL_URL);
+ if ($soapclient)
+ {
+ $soapclient->soap_defencoding='UTF-8';
+ $soapclient->decodeUTF8(false);
+ }
+
+ // Call the WebService method and store its result in $result.
+ $authentication=array(
+ 'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
+ 'sourceapplication'=>'DEMO',
+ 'login'=>'admin',
+ 'password'=>'admin',
+ 'entity'=>'');
+
+ // Test URL
+ if ($WS_METHOD)
+ {
+ $parameters = array('authentication'=>$authentication);
+ print __METHOD__."Call method ".$WS_METHOD."\n";
+ $result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
+ if (! $result)
+ {
+ //var_dump($soapclient);
+ print $soapclient->error_str;
+ print "
\n\n";
+ print $soapclient->request;
+ print "
\n\n";
+ print $soapclient->response;
+ exit;
+ }
+ }
+
+ print __METHOD__." result=".$result."\n";
+ //$this->assertEquals('OK',$result['result']['result_code']);
+
+ return $result;
+ }
+
+}
+?>
\ No newline at end of file