|
@@ -228,6 +228,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -289,6 +290,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -351,6 +353,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -410,6 +413,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: false,
|
|
@@ -468,6 +472,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -526,6 +531,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: false,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -570,6 +576,124 @@ describe('OC.SetupChecks tests', function() {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ it('should return an info if transactional file locking is not set up', function(done) {
|
|
|
+ var async = OC.SetupChecks.checkSetup();
|
|
|
+
|
|
|
+ suite.server.requests[0].respond(
|
|
|
+ 200,
|
|
|
+ {
|
|
|
+ 'Content-Type': 'application/json'
|
|
|
+ },
|
|
|
+ JSON.stringify({
|
|
|
+ hasFileinfoInstalled: true,
|
|
|
+ isGetenvServerWorking: true,
|
|
|
+ isReadOnlyConfig: false,
|
|
|
+ wasEmailTestSuccessful: true,
|
|
|
+ hasWorkingFileLocking: false,
|
|
|
+ hasDBFileLocking: false,
|
|
|
+ hasValidTransactionIsolationLevel: true,
|
|
|
+ suggestedOverwriteCliURL: '',
|
|
|
+ isRandomnessSecure: true,
|
|
|
+ securityDocs: 'https://docs.nextcloud.com/myDocs.html',
|
|
|
+ isFairUseOfFreePushService: true,
|
|
|
+ serverHasInternetConnectionProblems: false,
|
|
|
+ isMemcacheConfigured: true,
|
|
|
+ forwardedForHeadersWorking: true,
|
|
|
+ isCorrectMemcachedPHPModuleInstalled: true,
|
|
|
+ hasPassedCodeIntegrityCheck: true,
|
|
|
+ OpcacheSetupRecommendations: [],
|
|
|
+ isSettimelimitAvailable: true,
|
|
|
+ hasFreeTypeSupport: true,
|
|
|
+ missingIndexes: [],
|
|
|
+ missingPrimaryKeys: [],
|
|
|
+ missingColumns: [],
|
|
|
+ cronErrors: [],
|
|
|
+ cronInfo: {
|
|
|
+ diffInSeconds: 0
|
|
|
+ },
|
|
|
+ isMemoryLimitSufficient: true,
|
|
|
+ appDirsWithDifferentOwner: [],
|
|
|
+ isImagickEnabled: true,
|
|
|
+ areWebauthnExtensionsEnabled: true,
|
|
|
+ is64bit: true,
|
|
|
+ recommendedPHPModules: [],
|
|
|
+ pendingBigIntConversionColumns: [],
|
|
|
+ isMysqlUsedWithoutUTF8MB4: false,
|
|
|
+ isDefaultPhoneRegionSet: true,
|
|
|
+ isEnoughTempSpaceAvailableIfS3PrimaryStorageIsUsed: true,
|
|
|
+ reverseProxyGeneratedURL: 'https://server',
|
|
|
+ temporaryDirectoryWritable: true,
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+ async.done(function( data, s, x ){
|
|
|
+ expect(data).toEqual([{
|
|
|
+ msg: 'Transactional file locking is disabled, this might lead to issues with race conditions. Enable "filelocking.enabled" in config.php to avoid these problems. See the <a target="_blank" rel="noreferrer noopener" class="external" href="https://docs.example.org/admin-transactional-locking">documentation ↗</a> for more information.',
|
|
|
+ type: OC.SetupChecks.MESSAGE_TYPE_WARNING
|
|
|
+ }]);
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should return an info if database file locking is used', function(done) {
|
|
|
+ var async = OC.SetupChecks.checkSetup();
|
|
|
+
|
|
|
+ suite.server.requests[0].respond(
|
|
|
+ 200,
|
|
|
+ {
|
|
|
+ 'Content-Type': 'application/json'
|
|
|
+ },
|
|
|
+ JSON.stringify({
|
|
|
+ hasFileinfoInstalled: true,
|
|
|
+ isGetenvServerWorking: true,
|
|
|
+ isReadOnlyConfig: false,
|
|
|
+ wasEmailTestSuccessful: true,
|
|
|
+ hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: true,
|
|
|
+ hasValidTransactionIsolationLevel: true,
|
|
|
+ suggestedOverwriteCliURL: '',
|
|
|
+ isRandomnessSecure: true,
|
|
|
+ securityDocs: 'https://docs.nextcloud.com/myDocs.html',
|
|
|
+ isFairUseOfFreePushService: true,
|
|
|
+ serverHasInternetConnectionProblems: false,
|
|
|
+ isMemcacheConfigured: true,
|
|
|
+ forwardedForHeadersWorking: true,
|
|
|
+ isCorrectMemcachedPHPModuleInstalled: true,
|
|
|
+ hasPassedCodeIntegrityCheck: true,
|
|
|
+ OpcacheSetupRecommendations: [],
|
|
|
+ isSettimelimitAvailable: true,
|
|
|
+ hasFreeTypeSupport: true,
|
|
|
+ missingIndexes: [],
|
|
|
+ missingPrimaryKeys: [],
|
|
|
+ missingColumns: [],
|
|
|
+ cronErrors: [],
|
|
|
+ cronInfo: {
|
|
|
+ diffInSeconds: 0
|
|
|
+ },
|
|
|
+ isMemoryLimitSufficient: true,
|
|
|
+ appDirsWithDifferentOwner: [],
|
|
|
+ isImagickEnabled: true,
|
|
|
+ areWebauthnExtensionsEnabled: true,
|
|
|
+ is64bit: true,
|
|
|
+ recommendedPHPModules: [],
|
|
|
+ pendingBigIntConversionColumns: [],
|
|
|
+ isMysqlUsedWithoutUTF8MB4: false,
|
|
|
+ isDefaultPhoneRegionSet: true,
|
|
|
+ isEnoughTempSpaceAvailableIfS3PrimaryStorageIsUsed: true,
|
|
|
+ reverseProxyGeneratedURL: 'https://server',
|
|
|
+ temporaryDirectoryWritable: true,
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+ async.done(function( data, s, x ){
|
|
|
+ expect(data).toEqual([{
|
|
|
+ msg: 'The database is used for transactional file locking. To enhance performance, please configure memcache, if available. See the <a target="_blank" rel="noreferrer noopener" class="external" href="https://docs.example.org/admin-transactional-locking">documentation ↗</a> for more information.',
|
|
|
+ type: OC.SetupChecks.MESSAGE_TYPE_INFO
|
|
|
+ }]);
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
it('should return a warning if there are app directories with wrong permissions', function(done) {
|
|
|
var async = OC.SetupChecks.checkSetup();
|
|
|
|
|
@@ -584,6 +708,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -644,6 +769,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -702,6 +828,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -760,6 +887,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -838,6 +966,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -897,6 +1026,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -955,6 +1085,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1013,6 +1144,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1075,6 +1207,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1134,6 +1267,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1190,6 +1324,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1249,6 +1384,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1308,6 +1444,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1366,6 +1503,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1424,6 +1562,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|
|
@@ -1482,6 +1621,7 @@ describe('OC.SetupChecks tests', function() {
|
|
|
isReadOnlyConfig: false,
|
|
|
wasEmailTestSuccessful: true,
|
|
|
hasWorkingFileLocking: true,
|
|
|
+ hasDBFileLocking: false,
|
|
|
hasValidTransactionIsolationLevel: true,
|
|
|
suggestedOverwriteCliURL: '',
|
|
|
isRandomnessSecure: true,
|