From fffc218a05d37d4beae0cccf424941f05d74dd24 Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Fri, 14 Jun 2013 10:07:04 -0400
Subject: [PATCH] Made directory structure consistent with namespaces.

---
 languages/en.ini                                    |  1 +
 module/VuFind/src/VuFind/Auth/Manager.php           | 12 ++++++++++++
 .../src/VuFind/Controller/MyResearchController.php  | 13 +++++++++++--
 .../src/{ => VuFindTest}/Connection/SolrTest.php    |  0
 .../View/Helper/Root/ResultFeedTest.php             |  0
 .../src/{ => VuFindTest}/Auth/DatabaseTest.php      |  0
 .../src/{ => VuFindTest}/Auth/ILSTest.php           |  0
 .../src/{ => VuFindTest}/Auth/LDAPTest.php          |  0
 .../src/{ => VuFindTest}/Auth/MultiAuthTest.php     |  0
 .../src/{ => VuFindTest}/Auth/SIP2Test.php          |  0
 .../src/{ => VuFindTest}/Auth/ShibbolethTest.php    |  0
 .../Cache/Storage/Adapter/NoCacheAdapterTest.php    |  0
 .../unit-tests/src/{ => VuFindTest}/CartTest.php    |  0
 .../src/{ => VuFindTest}/Code/ISBNTest.php          |  0
 .../{ => VuFindTest}/Config/PluginFactoryTest.php   |  0
 .../Config/Reader/CacheDecoratorTest.php            |  0
 .../Config/SearchSpecsReaderTest.php                |  0
 .../src/{ => VuFindTest}/Config/UpgradeTest.php     |  0
 .../src/{ => VuFindTest}/Config/WriterTest.php      |  0
 .../src/{ => VuFindTest}/Cookie/ContainerTest.php   |  0
 .../src/{ => VuFindTest}/Date/ConverterTest.php     |  0
 .../{ => VuFindTest}/Db/Table/ChangeTrackerTest.php |  0
 .../src/{ => VuFindTest}/Db/Table/UserListTest.php  |  0
 .../src/{ => VuFindTest}/ILS/Driver/AlephTest.php   |  0
 .../src/{ => VuFindTest}/ILS/Driver/AmicusTest.php  |  0
 .../{ => VuFindTest}/ILS/Driver/ClaviusSQLTest.php  |  0
 .../src/{ => VuFindTest}/ILS/Driver/DAIATest.php    |  0
 .../src/{ => VuFindTest}/ILS/Driver/DemoTest.php    |  0
 .../{ => VuFindTest}/ILS/Driver/EvergreenTest.php   |  0
 .../src/{ => VuFindTest}/ILS/Driver/HorizonTest.php |  0
 .../ILS/Driver/HorizonXMLAPITest.php                |  0
 .../{ => VuFindTest}/ILS/Driver/InnovativeTest.php  |  0
 .../src/{ => VuFindTest}/ILS/Driver/KohaTest.php    |  0
 .../ILS/Driver/MultiBackendTest.php                 |  0
 .../{ => VuFindTest}/ILS/Driver/NewGenLibTest.php   |  0
 .../src/{ => VuFindTest}/ILS/Driver/NoILSTest.php   |  0
 .../src/{ => VuFindTest}/ILS/Driver/PICATest.php    |  0
 .../src/{ => VuFindTest}/ILS/Driver/SampleTest.php  |  0
 .../{ => VuFindTest}/ILS/Driver/SymphonyTest.php    |  0
 .../src/{ => VuFindTest}/ILS/Driver/UnicornTest.php |  0
 .../src/{ => VuFindTest}/ILS/Driver/VirtuaTest.php  |  0
 .../ILS/Driver/VoyagerRestfulTest.php               |  0
 .../src/{ => VuFindTest}/ILS/Driver/VoyagerTest.php |  0
 .../src/{ => VuFindTest}/ILS/Driver/XCNCIP2Test.php |  0
 .../src/{ => VuFindTest}/ILS/Driver/XCNCIPTest.php  |  0
 .../{ => VuFindTest}/RecordDriver/SolrMarcTest.php  |  0
 .../{ => VuFindTest}/Search/BackendManagerTest.php  |  0
 .../src/{ => VuFindTest}/Search/Base/ParamsTest.php |  0
 .../{ => VuFindTest}/Search/Base/ResultsTest.php    |  0
 .../{ => VuFindTest}/Search/QueryAdapterTest.php    |  0
 .../Search/Solr/MultiIndexListenerTest.php          |  0
 .../Search/Solr/V3/ErrorListenerTest.php            |  0
 .../Search/Solr/V4/ErrorListenerTest.php            |  0
 .../src/{ => VuFindTest}/SimpleXMLTest.php          |  0
 .../src/{ => VuFindTest}/Solr/UtilsTest.php         |  0
 .../unit-tests/src/{ => VuFindTest}/TagsTest.php    |  0
 .../{ => VuFindTest}/View/Helper/Root/CartTest.php  |  0
 .../View/Helper/Root/CitationTest.php               |  0
 58 files changed, 24 insertions(+), 2 deletions(-)
 rename module/VuFind/tests/integration-tests/src/{ => VuFindTest}/Connection/SolrTest.php (100%)
 rename module/VuFind/tests/integration-tests/src/{ => VuFindTest}/View/Helper/Root/ResultFeedTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/DatabaseTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/ILSTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/LDAPTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/MultiAuthTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/SIP2Test.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Auth/ShibbolethTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Cache/Storage/Adapter/NoCacheAdapterTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/CartTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Code/ISBNTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Config/PluginFactoryTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Config/Reader/CacheDecoratorTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Config/SearchSpecsReaderTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Config/UpgradeTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Config/WriterTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Cookie/ContainerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Date/ConverterTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Db/Table/ChangeTrackerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Db/Table/UserListTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/AlephTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/AmicusTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/ClaviusSQLTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/DAIATest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/DemoTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/EvergreenTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/HorizonTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/HorizonXMLAPITest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/InnovativeTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/KohaTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/MultiBackendTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/NewGenLibTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/NoILSTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/PICATest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/SampleTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/SymphonyTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/UnicornTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/VirtuaTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/VoyagerRestfulTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/VoyagerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/XCNCIP2Test.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/ILS/Driver/XCNCIPTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/RecordDriver/SolrMarcTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/BackendManagerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/Base/ParamsTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/Base/ResultsTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/QueryAdapterTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/Solr/MultiIndexListenerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/Solr/V3/ErrorListenerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Search/Solr/V4/ErrorListenerTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/SimpleXMLTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/Solr/UtilsTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/TagsTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/View/Helper/Root/CartTest.php (100%)
 rename module/VuFind/tests/unit-tests/src/{ => VuFindTest}/View/Helper/Root/CitationTest.php (100%)

diff --git a/languages/en.ini b/languages/en.ini
index 4653f0644e4..065540f6bba 100644
--- a/languages/en.ini
+++ b/languages/en.ini
@@ -55,6 +55,7 @@ authentication_error_admin = "We cannot log you in at this time.  Please contact
 authentication_error_blank = "Login information cannot be blank."
 authentication_error_denied = "Credentials do not match! Access denied."
 authentication_error_invalid = "Invalid login -- please try again."
+authentication_error_loggedout = "You have logged out."
 authentication_error_technical = "We cannot log you in at this time.  Please try again later."
 Author = Author
 Author Browse = "Author Browse"
diff --git a/module/VuFind/src/VuFind/Auth/Manager.php b/module/VuFind/src/VuFind/Auth/Manager.php
index 07e1533296f..f0a52a92597 100644
--- a/module/VuFind/src/VuFind/Auth/Manager.php
+++ b/module/VuFind/src/VuFind/Auth/Manager.php
@@ -199,6 +199,7 @@ class Manager implements ServiceLocatorAwareInterface
         // Clear out the cached user object and session entry.
         $this->currentUser = false;
         unset($this->session->userId);
+        setcookie('loggedOut', 1, null, '/');
 
         // Destroy the session for good measure, if requested.
         if ($destroy) {
@@ -213,6 +214,16 @@ class Manager implements ServiceLocatorAwareInterface
         return $url;
     }
 
+    /**
+     * Checks whether the user has recently logged out.
+     *
+     * @return bool
+     */
+    public function userHasLoggedOut()
+    {
+        return isset($_COOKIE['loggedOut']) && $_COOKIE['loggedOut'];
+    }
+
     /**
      * Checks whether the user is logged in.
      *
@@ -258,6 +269,7 @@ class Manager implements ServiceLocatorAwareInterface
     {
         $this->currentUser = $user;
         $this->session->userId = $user->id;
+        setcookie('loggedOut', '', time() - 3600, '/'); // clear logged out cookie
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Controller/MyResearchController.php b/module/VuFind/src/VuFind/Controller/MyResearchController.php
index 2d53f409323..8d305f96109 100644
--- a/module/VuFind/src/VuFind/Controller/MyResearchController.php
+++ b/module/VuFind/src/VuFind/Controller/MyResearchController.php
@@ -58,8 +58,17 @@ class MyResearchController extends AbstractBase
             try {
                 $this->getAuthManager()->login($this->getRequest());
             } catch (AuthException $e) {
-                $this->flashMessenger()->setNamespace('error')
-                    ->addMessage($e->getMessage());
+                $msg = $e->getMessage();
+                // If a Shibboleth-style login has failed and the user just logged
+                // out, we need to override the error message with a more relevant
+                // one:
+                if ($msg == 'authentication_error_admin'
+                    && $this->getAuthManager()->userHasLoggedOut()
+                    && $this->getSessionInitiator()
+                ) {
+                    $msg = 'authentication_error_loggedout';
+                }
+                $this->flashMessenger()->setNamespace('error')->addMessage($msg);
             }
         }
 
diff --git a/module/VuFind/tests/integration-tests/src/Connection/SolrTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Connection/SolrTest.php
similarity index 100%
rename from module/VuFind/tests/integration-tests/src/Connection/SolrTest.php
rename to module/VuFind/tests/integration-tests/src/VuFindTest/Connection/SolrTest.php
diff --git a/module/VuFind/tests/integration-tests/src/View/Helper/Root/ResultFeedTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/View/Helper/Root/ResultFeedTest.php
similarity index 100%
rename from module/VuFind/tests/integration-tests/src/View/Helper/Root/ResultFeedTest.php
rename to module/VuFind/tests/integration-tests/src/VuFindTest/View/Helper/Root/ResultFeedTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/DatabaseTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/DatabaseTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/DatabaseTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/DatabaseTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/ILSTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/ILSTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/LDAPTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LDAPTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/LDAPTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LDAPTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/MultiAuthTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/MultiAuthTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/MultiAuthTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/MultiAuthTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/SIP2Test.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/SIP2Test.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/SIP2Test.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/SIP2Test.php
diff --git a/module/VuFind/tests/unit-tests/src/Auth/ShibbolethTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ShibbolethTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Auth/ShibbolethTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ShibbolethTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Cache/Storage/Adapter/NoCacheAdapterTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Cache/Storage/Adapter/NoCacheAdapterTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Cache/Storage/Adapter/NoCacheAdapterTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Cache/Storage/Adapter/NoCacheAdapterTest.php
diff --git a/module/VuFind/tests/unit-tests/src/CartTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/CartTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Code/ISBNTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Code/ISBNTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Code/ISBNTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Code/ISBNTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Config/PluginFactoryTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/PluginFactoryTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Config/PluginFactoryTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Config/PluginFactoryTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Config/Reader/CacheDecoratorTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/Reader/CacheDecoratorTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Config/Reader/CacheDecoratorTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Config/Reader/CacheDecoratorTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Config/SearchSpecsReaderTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/SearchSpecsReaderTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Config/SearchSpecsReaderTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Config/SearchSpecsReaderTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Config/UpgradeTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Config/UpgradeTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Config/WriterTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/WriterTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Config/WriterTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Config/WriterTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Cookie/ContainerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Cookie/ContainerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Cookie/ContainerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Cookie/ContainerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Date/ConverterTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Date/ConverterTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Date/ConverterTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Date/ConverterTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Db/Table/ChangeTrackerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Db/Table/ChangeTrackerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/ChangeTrackerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Db/Table/UserListTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Db/Table/UserListTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/AlephTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AlephTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/AlephTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AlephTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/AmicusTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AmicusTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/AmicusTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AmicusTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/ClaviusSQLTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ClaviusSQLTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/ClaviusSQLTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ClaviusSQLTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/DAIATest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/DAIATest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/DAIATest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/DAIATest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/DemoTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/DemoTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/DemoTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/DemoTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/EvergreenTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/EvergreenTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/EvergreenTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/EvergreenTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/HorizonTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/HorizonTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/HorizonTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/HorizonTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/HorizonXMLAPITest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/HorizonXMLAPITest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/HorizonXMLAPITest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/HorizonXMLAPITest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/InnovativeTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/InnovativeTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/InnovativeTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/InnovativeTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/KohaTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/KohaTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/KohaTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/KohaTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/MultiBackendTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/MultiBackendTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/NewGenLibTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/NewGenLibTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/NewGenLibTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/NewGenLibTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/NoILSTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/NoILSTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/NoILSTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/NoILSTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/PICATest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/PICATest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/PICATest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/PICATest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/SampleTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/SampleTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/SampleTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/SampleTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/SymphonyTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/SymphonyTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/SymphonyTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/SymphonyTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/UnicornTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/UnicornTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/UnicornTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/UnicornTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/VirtuaTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VirtuaTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/VirtuaTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VirtuaTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/VoyagerRestfulTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VoyagerRestfulTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/VoyagerRestfulTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VoyagerRestfulTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/VoyagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VoyagerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/VoyagerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/VoyagerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/XCNCIP2Test.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/XCNCIP2Test.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php
diff --git a/module/VuFind/tests/unit-tests/src/ILS/Driver/XCNCIPTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIPTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/ILS/Driver/XCNCIPTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIPTest.php
diff --git a/module/VuFind/tests/unit-tests/src/RecordDriver/SolrMarcTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/SolrMarcTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/RecordDriver/SolrMarcTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/SolrMarcTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/BackendManagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/BackendManagerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/BackendManagerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/BackendManagerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/Base/ParamsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Base/ParamsTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/Base/ParamsTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/Base/ParamsTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/Base/ResultsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Base/ResultsTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/Base/ResultsTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/Base/ResultsTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/QueryAdapterTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/QueryAdapterTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/QueryAdapterTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/QueryAdapterTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/Solr/MultiIndexListenerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/MultiIndexListenerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/Solr/MultiIndexListenerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/MultiIndexListenerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/Solr/V3/ErrorListenerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/V3/ErrorListenerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/Solr/V3/ErrorListenerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/V3/ErrorListenerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Search/Solr/V4/ErrorListenerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/V4/ErrorListenerTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Search/Solr/V4/ErrorListenerTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/V4/ErrorListenerTest.php
diff --git a/module/VuFind/tests/unit-tests/src/SimpleXMLTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/SimpleXMLTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/SimpleXMLTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/SimpleXMLTest.php
diff --git a/module/VuFind/tests/unit-tests/src/Solr/UtilsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/Solr/UtilsTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php
diff --git a/module/VuFind/tests/unit-tests/src/TagsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/TagsTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/TagsTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/TagsTest.php
diff --git a/module/VuFind/tests/unit-tests/src/View/Helper/Root/CartTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CartTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/View/Helper/Root/CartTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CartTest.php
diff --git a/module/VuFind/tests/unit-tests/src/View/Helper/Root/CitationTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php
similarity index 100%
rename from module/VuFind/tests/unit-tests/src/View/Helper/Root/CitationTest.php
rename to module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CitationTest.php
-- 
GitLab