[Pkg-owncloud-commits] [owncloud] 36/79: add test for factories

David Prévot taffit at moszumanska.debian.org
Tue Sep 1 20:55:36 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch stable8
in repository owncloud.

commit c31e2464c825587549f1e7a7665b416386a59e3b
Author: Bernhard Posselt <dev at bernhard-posselt.com>
Date:   Fri Jul 24 13:43:50 2015 +0200

    add test for factories
    
    use ref for factory test
    
    Ensure we construct SimpleContainer
    
    Use single instance of DIContainer in routing tests
---
 .../dependencyinjection/dicontainer.php            |  1 +
 lib/private/server.php                             |  1 +
 tests/lib/appframework/routing/RoutingTest.php     | 30 ++++++++++++++--------
 .../appframework/utility/SimpleContainerTest.php   |  8 +++++-
 4 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/lib/private/appframework/dependencyinjection/dicontainer.php b/lib/private/appframework/dependencyinjection/dicontainer.php
index a11e4ee..85d0db1 100644
--- a/lib/private/appframework/dependencyinjection/dicontainer.php
+++ b/lib/private/appframework/dependencyinjection/dicontainer.php
@@ -59,6 +59,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
 	 * @param string $appName the name of the app
 	 */
 	public function __construct($appName, $urlParams = array()){
+		parent::__construct();
 		$this['AppName'] = $appName;
 		$this['urlParams'] = $urlParams;
 
diff --git a/lib/private/server.php b/lib/private/server.php
index c08940b..635d511 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -75,6 +75,7 @@ class Server extends SimpleContainer implements IServerContainer {
 	 * @param string $webRoot
 	 */
 	public function __construct($webRoot) {
+		parent::__construct();
 		$this->webRoot = $webRoot;
 
 		$this->registerService('ContactsManager', function ($c) {
diff --git a/tests/lib/appframework/routing/RoutingTest.php b/tests/lib/appframework/routing/RoutingTest.php
index 4ee3ed5..51c191f 100644
--- a/tests/lib/appframework/routing/RoutingTest.php
+++ b/tests/lib/appframework/routing/RoutingTest.php
@@ -120,7 +120,8 @@ class RoutingTest extends \Test\TestCase
 		}
 
 		// route mocks
-		$route = $this->mockRoute($verb, $controllerName, $actionName, $requirements, $defaults);
+		$container = new DIContainer('app1');
+		$route = $this->mockRoute($container, $verb, $controllerName, $actionName, $requirements, $defaults);
 
 		// router mock
 		$router = $this->getMock("\OC\Route\Router", array('create'));
@@ -133,7 +134,6 @@ class RoutingTest extends \Test\TestCase
 			->will($this->returnValue($route));
 
 		// load route configuration
-		$container = new DIContainer('app1');
 		$config = new RouteConfig($container, $router, $routes);
 
 		$config->register();
@@ -151,11 +151,12 @@ class RoutingTest extends \Test\TestCase
 		$router = $this->getMock("\OC\Route\Router", array('create'));
 
 		// route mocks
-		$indexRoute = $this->mockRoute('GET', $controllerName, 'index');
-		$showRoute = $this->mockRoute('GET', $controllerName, 'show');
-		$createRoute = $this->mockRoute('POST', $controllerName, 'create');
-		$updateRoute = $this->mockRoute('PUT', $controllerName, 'update');
-		$destroyRoute = $this->mockRoute('DELETE', $controllerName, 'destroy');
+		$container = new DIContainer('app1');
+		$indexRoute = $this->mockRoute($container, 'GET', $controllerName, 'index');
+		$showRoute = $this->mockRoute($container, 'GET', $controllerName, 'show');
+		$createRoute = $this->mockRoute($container, 'POST', $controllerName, 'create');
+		$updateRoute = $this->mockRoute($container, 'PUT', $controllerName, 'update');
+		$destroyRoute = $this->mockRoute($container, 'DELETE', $controllerName, 'destroy');
 
 		$urlWithParam = $url . '/{' . $paramName . '}';
 
@@ -191,21 +192,28 @@ class RoutingTest extends \Test\TestCase
 			->will($this->returnValue($destroyRoute));
 
 		// load route configuration
-		$container = new DIContainer('app1');
 		$config = new RouteConfig($container, $router, $yaml);
 
 		$config->register();
 	}
 
 	/**
+	 * @param DIContainer $container
 	 * @param string $verb
 	 * @param string $controllerName
 	 * @param string $actionName
+	 * @param array $requirements
+	 * @param array $defaults
 	 * @return \PHPUnit_Framework_MockObject_MockObject
 	 */
-	private function mockRoute($verb, $controllerName, $actionName, array $requirements=array(), array $defaults=array())
-	{
-		$container = new DIContainer('app1');
+	private function mockRoute(
+		DIContainer $container,
+		$verb,
+		$controllerName,
+		$actionName,
+		array $requirements=array(),
+		array $defaults=array()
+	) {
 		$route = $this->getMock("\OC\Route\Route", array('method', 'action', 'requirements', 'defaults'), array(), '', false);
 		$route
 			->expects($this->exactly(1))
diff --git a/tests/lib/appframework/utility/SimpleContainerTest.php b/tests/lib/appframework/utility/SimpleContainerTest.php
index c5c522d..05abf76 100644
--- a/tests/lib/appframework/utility/SimpleContainerTest.php
+++ b/tests/lib/appframework/utility/SimpleContainerTest.php
@@ -153,7 +153,6 @@ class SimpleContainerTest extends \Test\TestCase {
         $this->assertEquals('abc', $object->test);
     }
 
-
     /**
      * @expectedException \OCP\AppFramework\QueryException
      */
@@ -163,5 +162,12 @@ class SimpleContainerTest extends \Test\TestCase {
         );
     }
 
+    public function testRegisterFactory() {
+        $this->container->registerService('test', function() {
+            return new \StdClass();
+        }, false);
+        $this->assertNotSame(
+            $this->container->query('test'), $this->container->query('test'));
+    }
 
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list