Merge pull request #25008 from owncloud/externals_test_with_origin
Add support to know where the storage test comes from
This commit is contained in:
commit
ac163426ef
|
@ -299,7 +299,8 @@ StorageConfig.prototype = {
|
||||||
mountPoint: this.mountPoint,
|
mountPoint: this.mountPoint,
|
||||||
backend: this.backend,
|
backend: this.backend,
|
||||||
authMechanism: this.authMechanism,
|
authMechanism: this.authMechanism,
|
||||||
backendOptions: this.backendOptions
|
backendOptions: this.backendOptions,
|
||||||
|
testOnly: true
|
||||||
};
|
};
|
||||||
if (this.id) {
|
if (this.id) {
|
||||||
data.id = this.id;
|
data.id = this.id;
|
||||||
|
@ -326,6 +327,7 @@ StorageConfig.prototype = {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
url: OC.generateUrl(this._url + '/{id}', {id: this.id}),
|
url: OC.generateUrl(this._url + '/{id}', {id: this.id}),
|
||||||
|
data: {'testOnly': true},
|
||||||
success: options.success,
|
success: options.success,
|
||||||
error: options.error
|
error: options.error
|
||||||
});
|
});
|
||||||
|
@ -908,6 +910,7 @@ MountConfigListView.prototype = _.extend({
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
url: OC.generateUrl('apps/files_external/userglobalstorages'),
|
url: OC.generateUrl('apps/files_external/userglobalstorages'),
|
||||||
|
data: {'testOnly' : true},
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
success: function(result) {
|
success: function(result) {
|
||||||
var onCompletion = jQuery.Deferred();
|
var onCompletion = jQuery.Deferred();
|
||||||
|
|
|
@ -78,6 +78,7 @@ OCA.External.StatusManager = {
|
||||||
defObj = $.ajax({
|
defObj = $.ajax({
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
url: OC.webroot + '/index.php/apps/files_external/' + ((mountData.type === 'personal') ? 'userstorages' : 'userglobalstorages') + '/' + mountData.id,
|
url: OC.webroot + '/index.php/apps/files_external/' + ((mountData.type === 'personal') ? 'userstorages' : 'userglobalstorages') + '/' + mountData.id,
|
||||||
|
data: {'testOnly' : false},
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
if (response && response.status === 0) {
|
if (response && response.status === 0) {
|
||||||
self.mountStatus[mountData.mount_point] = response;
|
self.mountStatus[mountData.mount_point] = response;
|
||||||
|
|
|
@ -139,7 +139,8 @@ class GlobalStoragesController extends StoragesController {
|
||||||
$mountOptions,
|
$mountOptions,
|
||||||
$applicableUsers,
|
$applicableUsers,
|
||||||
$applicableGroups,
|
$applicableGroups,
|
||||||
$priority
|
$priority,
|
||||||
|
$testOnly = true
|
||||||
) {
|
) {
|
||||||
$storage = $this->createStorage(
|
$storage = $this->createStorage(
|
||||||
$mountPoint,
|
$mountPoint,
|
||||||
|
@ -172,7 +173,7 @@ class GlobalStoragesController extends StoragesController {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->updateStorageStatus($storage);
|
$this->updateStorageStatus($storage, $testOnly);
|
||||||
|
|
||||||
return new DataResponse(
|
return new DataResponse(
|
||||||
$storage,
|
$storage,
|
||||||
|
|
|
@ -238,7 +238,7 @@ abstract class StoragesController extends Controller {
|
||||||
*
|
*
|
||||||
* @param StorageConfig $storage storage configuration
|
* @param StorageConfig $storage storage configuration
|
||||||
*/
|
*/
|
||||||
protected function updateStorageStatus(StorageConfig &$storage) {
|
protected function updateStorageStatus(StorageConfig &$storage, $testOnly = true) {
|
||||||
try {
|
try {
|
||||||
$this->manipulateStorageConfig($storage);
|
$this->manipulateStorageConfig($storage);
|
||||||
|
|
||||||
|
@ -249,7 +249,8 @@ abstract class StoragesController extends Controller {
|
||||||
\OC_Mount_Config::getBackendStatus(
|
\OC_Mount_Config::getBackendStatus(
|
||||||
$backend->getStorageClass(),
|
$backend->getStorageClass(),
|
||||||
$storage->getBackendOptions(),
|
$storage->getBackendOptions(),
|
||||||
false
|
false,
|
||||||
|
$testOnly
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} catch (InsufficientDataForMeaningfulAnswerException $e) {
|
} catch (InsufficientDataForMeaningfulAnswerException $e) {
|
||||||
|
@ -293,11 +294,11 @@ abstract class StoragesController extends Controller {
|
||||||
*
|
*
|
||||||
* @return DataResponse
|
* @return DataResponse
|
||||||
*/
|
*/
|
||||||
public function show($id) {
|
public function show($id, $testOnly = true) {
|
||||||
try {
|
try {
|
||||||
$storage = $this->service->getStorage($id);
|
$storage = $this->service->getStorage($id);
|
||||||
|
|
||||||
$this->updateStorageStatus($storage);
|
$this->updateStorageStatus($storage, $testOnly);
|
||||||
} catch (NotFoundException $e) {
|
} catch (NotFoundException $e) {
|
||||||
return new DataResponse(
|
return new DataResponse(
|
||||||
[
|
[
|
||||||
|
|
|
@ -111,11 +111,11 @@ class UserGlobalStoragesController extends StoragesController {
|
||||||
*
|
*
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
*/
|
*/
|
||||||
public function show($id) {
|
public function show($id, $testOnly = true) {
|
||||||
try {
|
try {
|
||||||
$storage = $this->service->getStorage($id);
|
$storage = $this->service->getStorage($id);
|
||||||
|
|
||||||
$this->updateStorageStatus($storage);
|
$this->updateStorageStatus($storage, $testOnly);
|
||||||
} catch (NotFoundException $e) {
|
} catch (NotFoundException $e) {
|
||||||
return new DataResponse(
|
return new DataResponse(
|
||||||
[
|
[
|
||||||
|
@ -146,7 +146,8 @@ class UserGlobalStoragesController extends StoragesController {
|
||||||
*/
|
*/
|
||||||
public function update(
|
public function update(
|
||||||
$id,
|
$id,
|
||||||
$backendOptions
|
$backendOptions,
|
||||||
|
$testOnly = true
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
$storage = $this->service->getStorage($id);
|
$storage = $this->service->getStorage($id);
|
||||||
|
@ -171,7 +172,7 @@ class UserGlobalStoragesController extends StoragesController {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->updateStorageStatus($storage);
|
$this->updateStorageStatus($storage, $testOnly);
|
||||||
$this->sanitizeStorage($storage);
|
$this->sanitizeStorage($storage);
|
||||||
|
|
||||||
return new DataResponse(
|
return new DataResponse(
|
||||||
|
|
|
@ -101,8 +101,8 @@ class UserStoragesController extends StoragesController {
|
||||||
*
|
*
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function show($id) {
|
public function show($id, $testOnly = true) {
|
||||||
return parent::show($id);
|
return parent::show($id, $testOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -170,7 +170,8 @@ class UserStoragesController extends StoragesController {
|
||||||
$backend,
|
$backend,
|
||||||
$authMechanism,
|
$authMechanism,
|
||||||
$backendOptions,
|
$backendOptions,
|
||||||
$mountOptions
|
$mountOptions,
|
||||||
|
$testOnly = true
|
||||||
) {
|
) {
|
||||||
$storage = $this->createStorage(
|
$storage = $this->createStorage(
|
||||||
$mountPoint,
|
$mountPoint,
|
||||||
|
@ -200,7 +201,7 @@ class UserStoragesController extends StoragesController {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->updateStorageStatus($storage);
|
$this->updateStorageStatus($storage, $testOnly);
|
||||||
|
|
||||||
return new DataResponse(
|
return new DataResponse(
|
||||||
$storage,
|
$storage,
|
||||||
|
|
|
@ -215,7 +215,7 @@ class OC_Mount_Config {
|
||||||
* @return int see self::STATUS_*
|
* @return int see self::STATUS_*
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static function getBackendStatus($class, $options, $isPersonal) {
|
public static function getBackendStatus($class, $options, $isPersonal, $testOnly = true) {
|
||||||
if (self::$skipTest) {
|
if (self::$skipTest) {
|
||||||
return StorageNotAvailableException::STATUS_SUCCESS;
|
return StorageNotAvailableException::STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ class OC_Mount_Config {
|
||||||
$storage = new $class($options);
|
$storage = new $class($options);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$result = $storage->test($isPersonal);
|
$result = $storage->test($isPersonal, $testOnly);
|
||||||
$storage->setAvailability($result);
|
$storage->setAvailability($result);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
return StorageNotAvailableException::STATUS_SUCCESS;
|
return StorageNotAvailableException::STATUS_SUCCESS;
|
||||||
|
|
|
@ -223,7 +223,8 @@ describe('OCA.External.Settings tests', function() {
|
||||||
applicableGroups: [],
|
applicableGroups: [],
|
||||||
mountOptions: {
|
mountOptions: {
|
||||||
'previews': true
|
'previews': true
|
||||||
}
|
},
|
||||||
|
testOnly: true
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO: respond and check data-id
|
// TODO: respond and check data-id
|
||||||
|
|
Loading…
Reference in New Issue