From f182fbf3963ebfd3a539edda52f1ecc52a1615fe Mon Sep 17 00:00:00 2001 From: James Allen Date: Tue, 22 Mar 2016 09:53:47 +0000 Subject: [PATCH] Convert 'anonymous-user' from real-time api in 'null' internally --- .../Features/Editor/EditorHttpController.coffee | 2 ++ .../coffee/Editor/EditorHttpControllerTests.coffee | 11 +++++++++++ .../test/acceptance/coffee/AuthorizationTests.coffee | 6 +++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/services/web/app/coffee/Features/Editor/EditorHttpController.coffee b/services/web/app/coffee/Features/Editor/EditorHttpController.coffee index ca4d70b1aa..379f20fe5b 100644 --- a/services/web/app/coffee/Features/Editor/EditorHttpController.coffee +++ b/services/web/app/coffee/Features/Editor/EditorHttpController.coffee @@ -15,6 +15,8 @@ module.exports = EditorHttpController = joinProject: (req, res, next) -> project_id = req.params.Project_id user_id = req.query.user_id + if user_id == "anonymous-user" + user_id = null logger.log {user_id, project_id}, "join project request" Metrics.inc "editor.join-project" EditorHttpController._buildJoinProjectView project_id, user_id, (error, project, privilegeLevel) -> diff --git a/services/web/test/UnitTests/coffee/Editor/EditorHttpControllerTests.coffee b/services/web/test/UnitTests/coffee/Editor/EditorHttpControllerTests.coffee index 6a594f31ee..a98c34af28 100644 --- a/services/web/test/UnitTests/coffee/Editor/EditorHttpControllerTests.coffee +++ b/services/web/test/UnitTests/coffee/Editor/EditorHttpControllerTests.coffee @@ -77,6 +77,17 @@ describe "EditorHttpController", -> @ProjectDeleter.unmarkAsDeletedByExternalSource .calledWith(@project_id) .should.equal true + + describe "with an anonymous user", -> + beforeEach -> + @req.query = + user_id: "anonymous-user" + @EditorHttpController.joinProject @req, @res + + it "should pass the user id as null", -> + @EditorHttpController._buildJoinProjectView + .calledWith(@project_id, null) + .should.equal true describe "_buildJoinProjectView", -> beforeEach -> diff --git a/services/web/test/acceptance/coffee/AuthorizationTests.coffee b/services/web/test/acceptance/coffee/AuthorizationTests.coffee index 177750c28d..c6678656b9 100644 --- a/services/web/test/acceptance/coffee/AuthorizationTests.coffee +++ b/services/web/test/acceptance/coffee/AuthorizationTests.coffee @@ -56,9 +56,13 @@ try_admin_access = (user, project_id, test, callback) -> try_content_access = (user, project_id, test, callback) -> # The real-time service calls this end point to determine the user's # permissions. + if user.id? + user_id = user.id + else + user_id = "anonymous-user" request.post { url: "/project/#{project_id}/join" - qs: {user_id: user.id} + qs: {user_id} auth: user: settings.apis.web.user pass: settings.apis.web.pass