Просмотр исходного кода

Test for when anon write access is disabled

Shane Kilkelly 9 лет назад
Родитель
Сommit
9cd6b4e6ad
1 измененных файлов с 29 добавлено и 2 удалено
  1. 29 2
      services/web/test/acceptance/coffee/TokenAccessTests.coffee

+ 29 - 2
services/web/test/acceptance/coffee/TokenAccessTests.coffee

@@ -263,9 +263,36 @@ describe 'TokenAccess', ->
 				, done)
 				, done)
 
 
 	if !settings.allowAnonymousReadAndWriteSharing
 	if !settings.allowAnonymousReadAndWriteSharing
-		console.log ">> Skipping anonymous read-write token tests"
+		describe 'anonymous read-and-write token, disabled', ->
+			before (done) ->
+				@owner.createProject "token-anon-rw-test#{Math.random()}", (err, project_id) =>
+					return done(err) if err?
+					@project_id = project_id
+					@owner.makeTokenBased @project_id, (err) =>
+						return done(err) if err?
+						@owner.getProject @project_id, (err, project) =>
+							return done(err) if err?
+							@tokens = project.tokens
+							done()
+
+			it 'should deny access before the token is used', (done) ->
+				try_read_access(@anon, @project_id, (response, body) =>
+					expect(response.statusCode).to.equal 302
+					expect(body).to.match /.*\/restricted.*/
+				, done)
+
+			it 'should not allow the user to access read-and-write token', (done) ->
+				try_read_and_write_token_access(@anon, @tokens.readAndWrite, (response, body) =>
+					expect(response.statusCode).to.equal 404
+				, done)
+
+			it 'should not allow the user to join the project', (done) ->
+				try_anon_content_access(@anon, @project_id, @tokens.readAndWrite, (response, body) =>
+					expect(body.privilegeLevel).to.equal false
+				, done)
+
 	else
 	else
-		describe 'anonymous read-and-write token', ->
+		describe 'anonymous read-and-write token, enabled', ->
 			before (done) ->
 			before (done) ->
 				@owner.createProject "token-anon-rw-test#{Math.random()}", (err, project_id) =>
 				@owner.createProject "token-anon-rw-test#{Math.random()}", (err, project_id) =>
 					return done(err) if err?
 					return done(err) if err?