diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/js/setupchecks.js | 9 | ||||
-rw-r--r-- | core/js/tests/specs/setupchecksSpec.js | 17 |
2 files changed, 21 insertions, 5 deletions
diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index aa59cc8181b..ca7d979f5f3 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -52,9 +52,14 @@ * @param url the URL to test * @param placeholderUrl the placeholder URL - can be found at oc_defaults.docPlaceholderUrl * @param {boolean} runCheck if this is set to false the check is skipped and no error is returned + * @param {int} expectedStatus the expected HTTP status to be returned by the URL, 207 by default * @return $.Deferred object resolved with an array of error messages */ - checkWellKnownUrl: function(url, placeholderUrl, runCheck) { + checkWellKnownUrl: function(url, placeholderUrl, runCheck, expectedStatus) { + if (expectedStatus === undefined) { + expectedStatus = 207; + } + var deferred = $.Deferred(); if(runCheck === false) { @@ -63,7 +68,7 @@ } var afterCall = function(xhr) { var messages = []; - if (xhr.status !== 207) { + if (xhr.status !== expectedStatus) { var docUrl = placeholderUrl.replace('PLACEHOLDER', 'admin-setup-well-known-URL'); messages.push({ msg: t('core', 'Your web server is not properly set up to resolve "{url}". Further information can be found in the <a target="_blank" rel="noreferrer noopener" href="{docLink}">documentation</a>.', { docLink: docUrl, url: url }), diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index 3de1a4463b0..47443e5e727 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -61,8 +61,8 @@ describe('OC.SetupChecks tests', function() { }); describe('checkWellKnownUrl', function() { - it('should fail with another response status code than 207', function(done) { - var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', 'http://example.org/PLACEHOLDER', true); + it('should fail with another response status code than the expected one', function(done) { + var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', 'http://example.org/PLACEHOLDER', true, 207); suite.server.requests[0].respond(200); @@ -75,7 +75,18 @@ describe('OC.SetupChecks tests', function() { }); }); - it('should return no error with a response status code of 207', function(done) { + it('should return no error with the expected response status code', function(done) { + var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', 'http://example.org/PLACEHOLDER', true, 207); + + suite.server.requests[0].respond(207); + + async.done(function( data, s, x ){ + expect(data).toEqual([]); + done(); + }); + }); + + it('should return no error with the default expected response status code', function(done) { var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav', 'http://example.org/PLACEHOLDER', true); suite.server.requests[0].respond(207); |