From f98e8ca69737a6d2224a6713bd64e3bc8a31b81c Mon Sep 17 00:00:00 2001 From: aalekhj <aaljain@microsoft.com> Date: Thu, 24 Sep 2020 18:15:31 +0530 Subject: [PATCH] Added constructor and refactored `whoami` method for performing Unit Testing in `WhoamiController.java` --- .../legal/azure/security/WhoamiController.java | 17 ++++++++++++++++- .../azure/security/WhoamiControllerTest.java | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/security/WhoamiControllerTest.java diff --git a/provider/legal-azure/src/main/java/org/opengroup/osdu/legal/azure/security/WhoamiController.java b/provider/legal-azure/src/main/java/org/opengroup/osdu/legal/azure/security/WhoamiController.java index 5a538259e..e04342872 100644 --- a/provider/legal-azure/src/main/java/org/opengroup/osdu/legal/azure/security/WhoamiController.java +++ b/provider/legal-azure/src/main/java/org/opengroup/osdu/legal/azure/security/WhoamiController.java @@ -15,6 +15,7 @@ package org.opengroup.osdu.legal.azure.security; import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,10 +23,24 @@ import org.springframework.web.bind.annotation.ResponseBody; @Controller public class WhoamiController { + + private SecurityContext securityContext; + + // Constructor made for unit testing + public WhoamiController(SecurityContext securityContext) { + this.securityContext = securityContext; + } + + public WhoamiController() { + } + @RequestMapping(value = "/whoami") @ResponseBody public String whoami() { - final Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + // Added for unit testing + if (securityContext == null) + securityContext = SecurityContextHolder.getContext(); + final Authentication auth = securityContext.getAuthentication(); String userName = auth.getName(); String roles = String.valueOf(auth.getAuthorities()); diff --git a/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/security/WhoamiControllerTest.java b/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/security/WhoamiControllerTest.java new file mode 100644 index 000000000..6a8df1c3f --- /dev/null +++ b/provider/legal-azure/src/test/java/org/opengroup/osdu/legal/azure/security/WhoamiControllerTest.java @@ -0,0 +1,2 @@ +package org.opengroup.osdu.legal.azure.security;public class WhoamiControllerTest { +} -- GitLab