Ejemplo n.º 1
0
 public function setUp()
 {
     self::$hookCalls = array();
     $config = \OC::$server->getConfig();
     $this->dataDir = $config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data/');
     \OC_Mount_Config::$skipTest = true;
     // prepare BackendService mock
     $this->backendService = $this->getMockBuilder('\\OCA\\Files_External\\Service\\BackendService')->disableOriginalConstructor()->getMock();
     $authMechanisms = ['identifier:\\Auth\\Mechanism' => $this->getAuthMechMock('null', '\\Auth\\Mechanism'), 'identifier:\\Other\\Auth\\Mechanism' => $this->getAuthMechMock('null', '\\Other\\Auth\\Mechanism'), 'identifier:\\OCA\\Files_External\\Lib\\Auth\\NullMechanism' => $this->getAuthMechMock()];
     $this->backendService->method('getAuthMechanism')->will($this->returnCallback(function ($class) use($authMechanisms) {
         if (isset($authMechanisms[$class])) {
             return $authMechanisms[$class];
         }
         return null;
     }));
     $this->backendService->method('getAuthMechanismsByScheme')->will($this->returnCallback(function ($schemes) use($authMechanisms) {
         return array_filter($authMechanisms, function ($authMech) use($schemes) {
             return in_array($authMech->getScheme(), $schemes, true);
         });
     }));
     $this->backendService->method('getAuthMechanisms')->will($this->returnValue($authMechanisms));
     $sftpBackend = $this->getBackendMock('\\OCA\\Files_External\\Lib\\Backend\\SFTP', '\\OC\\Files\\Storage\\SFTP');
     $backends = ['identifier:\\OCA\\Files_External\\Lib\\Backend\\SMB' => $this->getBackendMock('\\OCA\\Files_External\\Lib\\Backend\\SMB', '\\OC\\Files\\Storage\\SMB'), 'identifier:\\OCA\\Files_External\\Lib\\Backend\\SFTP' => $sftpBackend, 'identifier:sftp_alias' => $sftpBackend];
     $backends['identifier:\\OCA\\Files_External\\Lib\\Backend\\SFTP']->method('getLegacyAuthMechanism')->willReturn($authMechanisms['identifier:\\Other\\Auth\\Mechanism']);
     $this->backendService->method('getBackend')->will($this->returnCallback(function ($backendClass) use($backends) {
         if (isset($backends[$backendClass])) {
             return $backends[$backendClass];
         }
         return null;
     }));
     $this->backendService->method('getBackends')->will($this->returnValue($backends));
     \OCP\Util::connectHook(Filesystem::CLASSNAME, Filesystem::signal_create_mount, get_class($this), 'createHookCallback');
     \OCP\Util::connectHook(Filesystem::CLASSNAME, Filesystem::signal_delete_mount, get_class($this), 'deleteHookCallback');
     $containerMock = $this->getMock('\\OCP\\AppFramework\\IAppContainer');
     $containerMock->method('query')->will($this->returnCallback(function ($name) {
         if ($name === 'OCA\\Files_External\\Service\\BackendService') {
             return $this->backendService;
         }
     }));
     \OC_Mount_Config::$app = $this->getMockBuilder('\\OCA\\Files_External\\Appinfo\\Application')->disableOriginalConstructor()->getMock();
     \OC_Mount_Config::$app->method('getContainer')->willReturn($containerMock);
 }
Ejemplo n.º 2
0
Archivo: app.php Proyecto: kenwi/core
 * as published by the Free Software Foundation.
 *
 * 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 Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License, version 3,
 * along with this program.  If not, see <http://www.gnu.org/licenses/>
 *
 */
OC::$CLASSPATH['OC\\Files\\Storage\\StreamWrapper'] = 'files_external/lib/streamwrapper.php';
OC::$CLASSPATH['OC\\Files\\Storage\\FTP'] = 'files_external/lib/ftp.php';
OC::$CLASSPATH['OC\\Files\\Storage\\OwnCloud'] = 'files_external/lib/owncloud.php';
OC::$CLASSPATH['OC\\Files\\Storage\\Google'] = 'files_external/lib/google.php';
OC::$CLASSPATH['OC\\Files\\Storage\\Swift'] = 'files_external/lib/swift.php';
OC::$CLASSPATH['OC\\Files\\Storage\\SMB'] = 'files_external/lib/smb.php';
OC::$CLASSPATH['OC\\Files\\Storage\\AmazonS3'] = 'files_external/lib/amazons3.php';
OC::$CLASSPATH['OC\\Files\\Storage\\Dropbox'] = 'files_external/lib/dropbox.php';
OC::$CLASSPATH['OC\\Files\\Storage\\SFTP'] = 'files_external/lib/sftp.php';
OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php';
OC::$CLASSPATH['OCA\\Files\\External\\Api'] = 'files_external/lib/api.php';
require_once __DIR__ . '/../3rdparty/autoload.php';
// register Application object singleton
\OC_Mount_Config::$app = new \OCA\Files_external\Appinfo\Application();
$appContainer = \OC_Mount_Config::$app->getContainer();
\OC_Mount_Config::$app->registerSettings();
$l = \OC::$server->getL10N('files_external');
\OCA\Files\App::getNavigationManager()->add(["id" => 'extstoragemounts', "appname" => 'files_external', "script" => 'list.php', "order" => 30, "name" => $l->t('External storage')]);
$mountProvider = $appContainer->query('OCA\\Files_External\\Config\\ConfigAdapter');
\OC::$server->getMountProviderCollection()->registerProvider($mountProvider);