From fd498535fd0c343a6c64b758cf71de7f038525a4 Mon Sep 17 00:00:00 2001
From: "bharathwaj.shankar" <bharathwaj.shankar@trustrace.com>
Date: Wed, 7 Dec 2022 14:42:14 +0530
Subject: [PATCH] LR-251 - BatchService-Identity manager should be optional for
 setup altering test cases according to config

---
 service/conf/application.conf                 |  2 +-
 .../controllers/LearnerControllerTest.java    | 16 ++--
 .../cache/CacheControllerTest.java            |  5 ++
 .../CourseEnrollmentControllerTest.java       | 74 +++++++++++--------
 .../CourseEnrollmentControllerTest2.java      | 38 ++++++----
 5 files changed, 80 insertions(+), 55 deletions(-)

diff --git a/service/conf/application.conf b/service/conf/application.conf
index a5459d796..f7c8dfd9f 100644
--- a/service/conf/application.conf
+++ b/service/conf/application.conf
@@ -289,7 +289,7 @@ play.server {
 # ~~~~~
 libraryDependencies += javaWs
 
-AuthenticationEnabled = false
+AuthenticationEnabled = true
 
 ## Cache
 # https://www.playframework.com/documentation/latest/JavaCache
diff --git a/service/test/controllers/LearnerControllerTest.java b/service/test/controllers/LearnerControllerTest.java
index 8678fcc4b..d50a543d4 100644
--- a/service/test/controllers/LearnerControllerTest.java
+++ b/service/test/controllers/LearnerControllerTest.java
@@ -4,6 +4,8 @@ import static util.TestUtil.mapToJson;
 
 import actors.DummyActor;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -79,12 +81,14 @@ public class LearnerControllerTest extends BaseApplicationTest {
 
   @Test
   public void testGetContentStateFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    JsonNode json = createGetContentStateRequest(null, COURSE_ID, BATCH_ID);
-    Http.RequestBuilder req =
-        new Http.RequestBuilder().uri(CONTENT_STATE_READ_URL).bodyJson(json).method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals(401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      JsonNode json = createGetContentStateRequest(null, COURSE_ID, BATCH_ID);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder().uri(CONTENT_STATE_READ_URL).bodyJson(json).method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
diff --git a/service/test/controllers/cache/CacheControllerTest.java b/service/test/controllers/cache/CacheControllerTest.java
index 81bec93e9..2116c496c 100644
--- a/service/test/controllers/cache/CacheControllerTest.java
+++ b/service/test/controllers/cache/CacheControllerTest.java
@@ -15,6 +15,9 @@ import org.powermock.core.classloader.annotations.SuppressStaticInitializationFo
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.sunbird.common.models.util.JsonKey;
 import org.sunbird.common.request.HeaderParam;
+
+import com.typesafe.config.ConfigFactory;
+
 import play.mvc.Http;
 import play.mvc.Result;
 import play.test.Helpers;
@@ -60,11 +63,13 @@ public class CacheControllerTest extends BaseApplicationTest {
   @Test
   public void testClearCacheUnauth() {
     PowerMockito.mockStatic(RequestInterceptor.class);
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
     PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any()))
         .thenReturn(JsonKey.UNAUTHORIZED);
     Http.RequestBuilder req =
         new Http.RequestBuilder().uri("/v1/cache/clear/" + MAP_NAME).method("DELETE");
     Result result = Helpers.route(application, req);
     Assert.assertEquals(401, result.status());
+    }
   }
 }
diff --git a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
index cf18197d4..58e1fbcc4 100644
--- a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
+++ b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest.java
@@ -1,6 +1,8 @@
 package controllers.courseenrollment;
 
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import controllers.BaseApplicationTest;
 import actors.DummyActor;
 import org.junit.Assert;
@@ -96,14 +98,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testEnrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
@@ -130,14 +134,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testUnenrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(UENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 401, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(UENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(401, result.status());
+    }
   }
 
   @Test
@@ -218,14 +224,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testAdminEnrollCourseFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ADMIN_ENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 400, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ADMIN_ENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(400, result.status());
+    }
   }
 
   @Test
@@ -263,14 +271,16 @@ public class CourseEnrollmentControllerTest extends BaseApplicationTest {
 
   @Test
   public void testAdminUnenrollCourseBatchFailureWithoutUserId() {
-    PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-    Http.RequestBuilder req =
-            new Http.RequestBuilder()
-                    .uri(ADMIN_UENROLL_BATCH_URL)
-                    .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                    .method("POST");
-    Result result = Helpers.route(application, req);
-    Assert.assertEquals( 400, result.status());
+    if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+      PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+      Http.RequestBuilder req =
+              new Http.RequestBuilder()
+                      .uri(ADMIN_UENROLL_BATCH_URL)
+                      .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                      .method("POST");
+      Result result = Helpers.route(application, req);
+      Assert.assertEquals(400, result.status());
+    }
   }
 
   @Test
diff --git a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
index c26048fcf..eb8bef01a 100644
--- a/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
+++ b/service/test/controllers/courseenrollment/CourseEnrollmentControllerTest2.java
@@ -2,6 +2,8 @@ package controllers.courseenrollment;
 
 import actors.DummyActor;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.typesafe.config.ConfigFactory;
+
 import controllers.BaseApplicationTest;
 import org.junit.Assert;
 import org.junit.Before;
@@ -78,14 +80,16 @@ public class CourseEnrollmentControllerTest2 extends BaseApplicationTest {
 
     @Test
     public void testAdminEnrollCourseFailureWithoutUserId() {
-        PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-        Http.RequestBuilder req =
-                new Http.RequestBuilder()
-                        .uri(ADMIN_ENROLL_BATCH_URL)
-                        .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                        .method("POST");
-        Result result = Helpers.route(application, req);
-        Assert.assertEquals( 400, result.status());
+        if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+            PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+            Http.RequestBuilder req =
+                    new Http.RequestBuilder()
+                            .uri(ADMIN_ENROLL_BATCH_URL)
+                            .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                            .method("POST");
+            Result result = Helpers.route(application, req);
+            Assert.assertEquals(400, result.status());
+        }
     }
 
     @Test
@@ -123,14 +127,16 @@ public class CourseEnrollmentControllerTest2 extends BaseApplicationTest {
 
     @Test
     public void testAdminUnenrollCourseBatchFailureWithoutUserId() {
-        PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
-        Http.RequestBuilder req =
-                new Http.RequestBuilder()
-                        .uri(ADMIN_UENROLL_BATCH_URL)
-                        .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
-                        .method("POST");
-        Result result = Helpers.route(application, req);
-        Assert.assertEquals( 400, result.status());
+        if (ConfigFactory.load().getBoolean(JsonKey.AUTH_ENABLED)) {
+            PowerMockito.when(RequestInterceptor.verifyRequestData(Mockito.any())).thenReturn(JsonKey.ANONYMOUS);
+            Http.RequestBuilder req =
+                    new Http.RequestBuilder()
+                            .uri(ADMIN_UENROLL_BATCH_URL)
+                            .bodyJson(createCourseEnrollmentRequest(COURSE_ID, BATCH_ID, null))
+                            .method("POST");
+            Result result = Helpers.route(application, req);
+            Assert.assertEquals(400, result.status());
+        }
     }
 
     @Test
-- 
GitLab