From e44a3febd80effaf2f8065ce1cc6ac73a55d8d95 Mon Sep 17 00:00:00 2001 From: Anil Gupta Date: Thu, 22 Jun 2023 17:42:39 +0530 Subject: [PATCH 1/9] Issue #LR-583 merge: From release-5.3.0 to master (#1202) (#1203) --- keycloak_local_setup/img_18.png | Bin 0 -> 68889 bytes keycloak_local_setup/img_19.png | Bin 0 -> 96046 bytes keycloak_local_setup/img_20.png | Bin 0 -> 62965 bytes keycloak_local_setup/img_21.png | Bin 0 -> 99311 bytes keycloak_local_setup/img_22.png | Bin 0 -> 50022 bytes keycloak_local_setup/img_8.png | Bin 0 -> 48929 bytes keycloak_local_setup/img_9.png | Bin 0 -> 61286 bytes keycloak_local_setup/keycloak_local_setup.md | 55 ++++++++++++++++--- lernsetup.md | 9 +-- 9 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 keycloak_local_setup/img_18.png create mode 100644 keycloak_local_setup/img_19.png create mode 100644 keycloak_local_setup/img_20.png create mode 100644 keycloak_local_setup/img_21.png create mode 100644 keycloak_local_setup/img_22.png create mode 100644 keycloak_local_setup/img_8.png create mode 100644 keycloak_local_setup/img_9.png diff --git a/keycloak_local_setup/img_18.png b/keycloak_local_setup/img_18.png new file mode 100644 index 0000000000000000000000000000000000000000..7cac593598cfa42ce3a9389659fbae5483c7ec2c GIT binary patch literal 68889 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 z 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 SKMGsdZ#dYw{QSh$kN7Wl!iW$6 literal 0 HcmV?d00001 diff --git a/keycloak_local_setup/img_20.png b/keycloak_local_setup/img_20.png new file mode 100644 index 0000000000000000000000000000000000000000..993f47af6b8bf6ade53165f1137f4088b4cd28d2 GIT binary patch literal 62965 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

Os{2xvD&f$BM!w!IyQ0SGAN0udJYDgzcqSX@< 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

+^ zeb5DMA^f4Zhl&zqH+;MsaVUAi)ea1{vu+#JdnpGoow2M!16cQ;ui><}d){d101!Q9 zXG~H+c*Jv}|r=CRj;B*O&}vizyl)z;I3U0O~8_u|FuF1wPUXfhlQkn&H>#yeS&c zaVMs7qye=k>T;$uyVCaWUYX^cnfhnO*0`*8Aa$8uAR=B;(W!L_A)@r*J+x%Elx>?5 z?BDVOw|JchT^)dO`MUM`)DD-UO^lZ9rp5kU-+jNuC3p3;7Tfddiw(DJyq~u^z;wD< zY0YfCI?KzGz-p8QB_0u_^+EC7(%Ld; zs*UR+B3ZTHF1Kp4xN8gK&dcVq#m4hhe{DaReGuDMgtY3`f-LesR&mZUPPCl#J7v+V z{d9?Q^f>RR@49&89bA)7;Hjm=Iwo_6haoteNI;?zQpd6Uc&=LDh78-(tJwv{fe6emR&MV&abimZ=Ga@5gcSgcB zh5w6E9=SyA8ovZ1HWa-&zQkQw)*0_K`yv$-wzVN{Jn<_Clb*{MPbE18>)C#>^mFLY zOvbSRbs4Opw< zK-VC+)lkxzFKql2Nk-SLDQW0n`4HbJg?-VgbCekEDDTKrb~Wi1k0x(Bs!X7MJY-Fp zc}y~s{S>OtLW@|Kmt1xmMtGK{;`baUMzpSUIHVhUx2s7G&Yg*aY8Vy5h+=ZV=`k{d znEvJnTVCq*oMAUSGclIi*XC#V&QZrM8l(dfh+RDgO9JP!6L8&xtt-8CtPDDMnRY-$ zVymrBa7aHzI4GPfmDkmzwzNWc)lhXOg|7uKI2I73?f(Qp7HB|3lo>fSPp)fj;Q0W!TUgyBd^7N*MD6M^h(^fkB8oXBwW=9oea-QHA zk0T>_(Kq_1&Q_d%bgc67g!a1d0{%L->hf=!Llx?cd>os1NB10K$oFUjxRsuQdcRU8 n`4J}|S}*+OrOQuN$;65^$VN|$cGOyzg(vPVp1)KaJbmRqoOs_U literal 0 HcmV?d00001 diff --git a/keycloak_local_setup/keycloak_local_setup.md b/keycloak_local_setup/keycloak_local_setup.md index 9f298a1f15..e05dee59d2 100644 --- a/keycloak_local_setup/keycloak_local_setup.md +++ b/keycloak_local_setup/keycloak_local_setup.md @@ -67,7 +67,7 @@ psql postgresql://kcpgadmin:kcpgpassword@kc_postgres:5432/quartz 10. Local user-org setup keycloak related configurations will be as follows: ```shell sunbird_keycloak_user_federation_provider_id = #Cassandra-storage-provider - Provider Id value. -sunbird_sso_url = http://localhost:8080/auth +sunbird_sso_url = http://localhost:8080/auth/ sunbird_sso_realm = sunbird sunbird_sso_client_id = lms sunbird_sso_client_secret = #newly generated secret of 'lms' client @@ -109,7 +109,10 @@ Please refer to https://project-sunbird.atlassian.net/l/cp/St3y353z for understa ### Steps for integrating local keycloak setup with local user-org service setup 1. Ensure postgres and keycloak containers are up and running. 2. Ensure environment variables are exported with values from keycloak as mentioned above in 'Step 10' -3. Ensure public key from 'sunbird' realm is copied as file under 'keys' folder with 'kid' as file name. +3. Ensure public key from 'sunbird' realm is copied as file under 'keys' folder with 'kid' as file name. Run below command after updating '$PATH_TO_WORKSPACE' value in the command. +```shell +env "accesstoken.publickey.basepath=$PATH_TO_WORKSPACE/keys/" bash +``` ![img_13.png](img_13.png)![img_12.png](img_12.png) 4. Add CORS filter to 'application.conf' in controller folder of user-org service. ```shell @@ -119,11 +122,36 @@ Please refer to https://project-sunbird.atlassian.net/l/cp/St3y353z for understa 5. Ensure local user-org service is restarted after above steps 6. Create a default organisations 'custodian' and 'sunbird' in your local setup. (with property 'channel_registration_disabled=true' in externalresource.properties). Save organisation Ids from response. 7. export 'custodian' organisation id value from response to 'custodianRootOrgId' and 'custodianOrgId' environment variables. -8. Restart user-org service -9. Create user using below curl. Ensure you get success response +8. Restart user-org service. + + +### Steps to create default system admin user and other tenant users +1. Login to keycloak and go to 'Users' menu. Click 'Add user' button. Enter user details and 'Save'. +![img_8.png](img_8.png) ![img_9.png](img_9.png) +2. As default user gets created, go to 'Role Mappings' sub menu of the user. Add 'admin' to 'Assigned Roles'. +![img_18.png](img_18.png) +3. Under 'Client Roles', select 'realm management' and add 'manage-users' to 'Assigned Roles'. +![img_19.png](img_19.png) +4. Go to 'Credentials' menu and set password for the default user. +![img_20.png](img_20.png) +5. Now you can generate token for creating users via below CURL with default system admin user token. + - CURL TO GENERATE USER TOKEN. Copy "access_token" value from the response and use as create user CURL 'x-authenticated-user-token' header's value. +![img_21.png](img_21.png) ```shell -curl --location --request POST 'localhost:9000/v1/user/create' \ +curl --location --request POST 'localhost:8080/auth/realms/sunbird/protocol/openid-connect/token' \ +--header 'Content-Type: application/x-www-form-urlencoded' \ +--data-urlencode 'client_id=lms' \ +--data-urlencode 'client_secret=#newly generated secret of 'lms' client' \ +--data-urlencode 'grant_type=password' \ +--data-urlencode 'username=Systemadminuser' \ +--data-urlencode 'password=Test@123' +``` + - CURL TO CREATE USER. +![img_22.png](img_22.png) +```shell +curl --location --request POST 'localhost:9000/v1/ssouser/create' \ --header 'Content-Type: application/json' \ +--header 'x-authenticated-user-token: #'access_token' value from above CURL response' \ --data-raw '{ "request": { "firstName": "Test", @@ -138,10 +166,10 @@ curl --location --request POST 'localhost:9000/v1/user/create' \ }' ``` ![img_15.png](img_15.png) -10. login to keycloak. Go to user's menu and search for the user using username -![img_14.png](img_14.png) -![img_16.png](img_16.png) -11. Ensure you are able to generate user token for the newly created user +6. login to keycloak. Go to user's menu and search for the user using username + ![img_14.png](img_14.png) + ![img_16.png](img_16.png) +7. Ensure you are able to generate user token for the newly created user ```shell curl --location --request POST 'localhost:8080/auth/realms/sunbird/protocol/openid-connect/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ @@ -152,3 +180,12 @@ curl --location --request POST 'localhost:8080/auth/realms/sunbird/protocol/open --data-urlencode 'password=Test@123' ``` ![img_17.png](img_17.png) + + +Note: Always create an admin user belonging to a tenant and assign 'ORG_ADMIN' role. Org Admin has ability to create other users via application. + + +### Steps to perform token validation + + +For server side token validation, please refer to https://project-sunbird.atlassian.net/wiki/spaces/DevOps/pages/3274276929/Adminutils+on+Sunbird diff --git a/lernsetup.md b/lernsetup.md index d74680a2c1..182a5233a2 100644 --- a/lernsetup.md +++ b/lernsetup.md @@ -165,14 +165,11 @@ export sunbird_msg_sender= export sunbird_installation_display_name_for_sms= ``` -### Once the setup done, create user using below APIs +### Post configuration step -```shell -curl --location '{{host}}/v1/user/create' \ ---header 'Content-Type: application/json' \ ---data-raw '' -``` +Once setup is complete, please refer to [keycloak_local_setup](keycloak_local_setup/keycloak_local_setup.md) +**Note:** {{host}} has to be replaced with respective local host url and has to be replaced with the latest payload of USER_CREATE_API If you are able to create an user successfully then the local setup is working normal. \ No newline at end of file From bd9f0f98dab28c54f51943e9615835bf40ee72a1 Mon Sep 17 00:00:00 2001 From: Bharathwaj <32808916+BharathwajShankar@users.noreply.github.com> Date: Thu, 29 Jun 2023 18:33:12 +0530 Subject: [PATCH 2/9] Issue #LR-102 feat:Ability for Lern to connect to shared instances (#1204) * Issue #LR-102 feat:Ability for Lern to connect to shared instances --- .../notification/utils/SmsTemplateUtil.java | 3 ++- .../src/main/java/org/sunbird/keys/JsonKey.java | 7 +++++++ .../main/java/org/sunbird/util/ProjectUtil.java | 10 +++++----- .../main/resources/externalresource.properties | 8 +++++++- .../user/UserExternalIdManagementActor.java | 6 +++--- .../impl/BulkUploadProcessDaoImpl.java | 3 ++- .../impl/BulkUploadProcessTaskDaoImpl.java | 5 +++-- .../dao/location/impl/LocationDaoImpl.java | 6 +++--- .../org/sunbird/dao/notes/impl/NotesDaoImpl.java | 2 +- .../notification/impl/EmailTemplateDaoImpl.java | 3 ++- .../dao/organisation/impl/OrgDaoImpl.java | 4 ++-- .../organisation/impl/OrgExternalDaoImpl.java | 3 ++- .../org/sunbird/dao/otp/impl/OTPDaoImpl.java | 9 +++++---- .../sunbird/dao/ratelimit/RateLimitDaoImpl.java | 5 +++-- .../org/sunbird/dao/role/impl/RoleDaoImpl.java | 3 ++- .../sunbird/dao/role/impl/RoleGroupDaoImpl.java | 3 ++- .../impl/SystemSettingDaoImpl.java | 3 ++- .../impl/TenantPreferenceDaoImpl.java | 7 ++++--- .../dao/urlaction/impl/UrlActionDaoImpl.java | 3 ++- .../org/sunbird/dao/user/impl/UserDaoImpl.java | 2 +- .../user/impl/UserExternalIdentityDaoImpl.java | 5 +++-- .../sunbird/dao/user/impl/UserOrgDaoImpl.java | 13 +++++++------ .../sunbird/dao/user/impl/UserRoleDaoImpl.java | 8 ++++---- .../user/impl/UserSelfDeclarationDaoImpl.java | 13 +++++++------ .../dao/userconsent/impl/UserConsentDaoImpl.java | 5 +++-- .../service/user/ShadowUserMigrationService.java | 9 +++++---- .../java/org/sunbird/util/DataCacheHandler.java | 2 +- service/src/main/java/org/sunbird/util/Util.java | 2 +- .../notification/EmailServiceActorTest.java | 1 + .../notification/SendNotificationActorTest.java | 1 + .../systemsettings/SystemSettingsActorTest.java | 3 ++- .../actor/user/ResetPasswordActorTest.java | 6 ++++-- .../actor/user/UserProfileReadActorTest.java | 6 ++++-- .../notification/EmailTemplateDaoImplTest.java | 6 ++++-- .../org/sunbird/dao/role/RoleDaoImplTest.java | 4 +++- .../sunbird/dao/role/RoleGroupDaoImplTest.java | 4 +++- .../sunbird/util/user/GetUserOrgDetailsTest.java | 4 +++- .../util/user/SetUserDefaultValueTest.java | 6 ++++-- .../user/ShadowUserMigrationServiceTest.java | 16 +++++++++------- .../java/org/sunbird/util/user/UserUtilTest.java | 5 +++-- 40 files changed, 132 insertions(+), 82 deletions(-) diff --git a/core/notification-utils/src/main/java/org/sunbird/notification/utils/SmsTemplateUtil.java b/core/notification-utils/src/main/java/org/sunbird/notification/utils/SmsTemplateUtil.java index 2042e64f02..39b1680fac 100644 --- a/core/notification-utils/src/main/java/org/sunbird/notification/utils/SmsTemplateUtil.java +++ b/core/notification-utils/src/main/java/org/sunbird/notification/utils/SmsTemplateUtil.java @@ -10,6 +10,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.logging.LoggerUtil; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class SmsTemplateUtil { private static final LoggerUtil logger = new LoggerUtil(SmsTemplateUtil.class); @@ -18,7 +19,7 @@ public class SmsTemplateUtil { public static Map> getSmsTemplateConfigMap() { Response response = cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.SYSTEM_SETTINGS_DB, JsonKey.SMS_TEMPLATE_CONFIG, null); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.SYSTEM_SETTINGS_DB, JsonKey.SMS_TEMPLATE_CONFIG, null); List> responseList = (List>) response.get(JsonKey.RESPONSE); if (null != responseList && !responseList.isEmpty()) { diff --git a/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java b/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java index 5805d83e07..af1a3d652f 100644 --- a/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java +++ b/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java @@ -644,6 +644,13 @@ public final class JsonKey { public static final String DATA_SECURITY_POLICY = "dataSecurityPolicy"; public static final String JOB = "job"; public static final String USER_PRIVATE_FIELDS = "userPrivateFields"; + //Release 5.4.0 LR-102 + public static final String SUNBIRD_KEYSPACE = "sunbird_keyspace"; + public static final String ES_LOCATION_INDEX = "es_location_index"; + public static final String ES_USER_FEED_INDEX = "es_user_feed_index"; + public static final String ES_USER_NOTES_INDEX = "es_user_notes_index"; + public static final String ES_USER_INDEX_ALIAS = "user_index_alias"; + public static final String ES_ORG_INDEX_INDEX = "org_index_alias"; private JsonKey() {} } diff --git a/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java b/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java index 47d4b15b2e..c5a118e065 100644 --- a/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java @@ -261,11 +261,11 @@ public String getIndexName() { * @author Manzarul */ public enum EsType { - user(getConfigValue("user_index_alias")), - organisation(getConfigValue("org_index_alias")), - usernotes("usernotes"), - location("location"), - userfeed("userfeed"); + user(getConfigValue(JsonKey.ES_USER_INDEX_ALIAS)), + organisation(getConfigValue(JsonKey.ES_ORG_INDEX_INDEX)), + usernotes(getConfigValue(JsonKey.ES_USER_NOTES_INDEX)), + location(getConfigValue(JsonKey.ES_LOCATION_INDEX)), + userfeed(getConfigValue(JsonKey.ES_USER_FEED_INDEX)); private String typeName; diff --git a/core/platform-common/src/main/resources/externalresource.properties b/core/platform-common/src/main/resources/externalresource.properties index 0f4f0d02a9..1f7da65c4c 100644 --- a/core/platform-common/src/main/resources/externalresource.properties +++ b/core/platform-common/src/main/resources/externalresource.properties @@ -89,9 +89,14 @@ enable_captcha=true consent_expiry_in_days=100 feed_limit=30 learner_in_memory_cache_ttl=14400 +#alias is actually referring the user and org index so no need to mention separately user_index_alias=user_alias -defaultMonthDate = -12-31 org_index_alias=org_alias +#Release 5.4.0 LR-102 +es_user_notes_index=usernotes +es_location_index=location +es_user_feed_index=userfeed +defaultMonthDate = -12-31 nic_sms_gateway_provider_base_url=https://smsgw.sms.gov.in/failsafe/HttpLink sms_gateway_provider=91SMS stacktrace_char_length=2500 @@ -106,3 +111,4 @@ sunbird_password_reset_login_page_url=/resources isFormValidationRequired=true userProfileConfigMap={\"type\":\"profileconfig\",\"subtype\":\"28\",\"action\":\"get\",\"component\":\"*\",\"framework\":\"*\",\"data\":{\"templateName\":\"profileConfig_v2\",\"action\":\"get\",\"fields\":[{\"code\":\"persona\",\"children\":{\"administrator\":[{\"code\":\"district\"},{\"code\":\"state\"},{\"code\":\"subPersona\",\"type\":\"select\",\"default\":null,\"templateOptions\":{\"options\":[{\"label\":\"Headmaster\",\"value\":\"hm\"},{\"label\":\"Cluster Resource Person\",\"value\":\"crp\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"teacher\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"student\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"parent\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"other\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"subPersona\",\"templateOptions\":{\"options\":[{\"value\":\"Doctor (Allopathy)\",\"label\":\"Doctor (Allopathy)\"},{\"value\":\"AYUSH Professional\",\"label\":\"AYUSH Professional\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}]}}]},\"created_on\":\"2022-02-10T14:16:51.852Z\",\"last_modified_on\":\"2022-11-14T05:45:02.685Z\",\"rootOrgId\":\"*\"} sunbird_cloud_service_provider=azure +sunbird_keyspace=sunbird \ No newline at end of file diff --git a/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java b/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java index 6e42bf9e6e..bf8eb71947 100644 --- a/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java +++ b/service/src/main/java/org/sunbird/actor/user/UserExternalIdManagementActor.java @@ -161,7 +161,7 @@ private List> getUserExternalIds( Map req = new HashMap<>(); req.put(JsonKey.USER_ID, requestMap.get(JsonKey.USER_ID)); Response response = - cassandraOperation.getRecordById(JsonKey.SUNBIRD, JsonKey.USR_EXT_IDNT_TABLE, req, context); + cassandraOperation.getRecordById(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USR_EXT_IDNT_TABLE, req, context); if (null != response && null != response.getResult()) { dbResExternalIds = (List>) response.getResult().get(JsonKey.RESPONSE); } @@ -178,7 +178,7 @@ private void deleteUserExternalId(Map map, RequestContext contex map.remove(JsonKey.ORIGINAL_ID_TYPE); map.remove(JsonKey.ORIGINAL_PROVIDER); // map.remove(JsonKey.STATUS); - cassandraOperation.deleteRecord(JsonKey.SUNBIRD, JsonKey.USR_EXT_IDNT_TABLE, map, context); + cassandraOperation.deleteRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USR_EXT_IDNT_TABLE, map, context); } private void throwExternalIDNotFoundException(String externalId, String idType, String provider) { @@ -210,7 +210,7 @@ private Map upsertUserExternalIdentityData( map.put(JsonKey.LAST_UPDATED_BY, requestMap.get(JsonKey.UPDATED_BY)); map.put(JsonKey.LAST_UPDATED_ON, new Timestamp(Calendar.getInstance().getTime().getTime())); } - cassandraOperation.upsertRecord(JsonKey.SUNBIRD, JsonKey.USR_EXT_IDNT_TABLE, map, context); + cassandraOperation.upsertRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USR_EXT_IDNT_TABLE, map, context); return map; } } diff --git a/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessDaoImpl.java b/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessDaoImpl.java index b459c7482c..89fee01de2 100644 --- a/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessDaoImpl.java @@ -15,13 +15,14 @@ import org.sunbird.model.bulkupload.BulkUploadProcess; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; /** Created by arvind on 24/4/18. */ public class BulkUploadProcessDaoImpl implements BulkUploadProcessDao { private final LoggerUtil logger = new LoggerUtil(BulkUploadProcessDaoImpl.class); private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ObjectMapper mapper = new ObjectMapper(); - private static final String KEYSPACE_NAME = "sunbird"; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String TABLE_NAME = "bulk_upload_process"; public static BulkUploadProcessDao bulkUploadProcessDao = null; diff --git a/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessTaskDaoImpl.java b/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessTaskDaoImpl.java index 132a5a0823..f5065c2bc5 100644 --- a/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessTaskDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/bulkupload/impl/BulkUploadProcessTaskDaoImpl.java @@ -16,6 +16,7 @@ import org.sunbird.model.bulkupload.BulkUploadProcessTask; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; /** * Data access implementation for BulkUploadProcessTask entity. @@ -26,7 +27,7 @@ public class BulkUploadProcessTaskDaoImpl implements BulkUploadProcessTaskDao { private final LoggerUtil logger = new LoggerUtil(BulkUploadProcessTaskDaoImpl.class); private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ObjectMapper mapper = new ObjectMapper(); - private final String KEYSPACE_NAME = "sunbird"; + private final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private final String TABLE_NAME = "bulk_upload_process_task"; public static BulkUploadProcessTaskDao bulkUploadProcessTaskDao = null; @@ -49,7 +50,7 @@ public String update(BulkUploadProcessTask bulkUploadProcessTask, RequestContext Map> map = CassandraUtil.batchUpdateQuery(bulkUploadProcessTask); Response response = cassandraOperation.updateRecord( - KEYSPACE_NAME, + KEYSPACE_NAME, TABLE_NAME, map.get(JsonKey.NON_PRIMARY_KEY), map.get(JsonKey.PRIMARY_KEY), diff --git a/service/src/main/java/org/sunbird/dao/location/impl/LocationDaoImpl.java b/service/src/main/java/org/sunbird/dao/location/impl/LocationDaoImpl.java index 1abc94afd7..9bc23b077e 100644 --- a/service/src/main/java/org/sunbird/dao/location/impl/LocationDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/location/impl/LocationDaoImpl.java @@ -26,7 +26,7 @@ public class LocationDaoImpl implements LocationDao { private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ElasticSearchService esUtil = EsClientFactory.getInstance(JsonKey.REST); private final ObjectMapper mapper = new ObjectMapper(); - private static final String KEYSPACE_NAME = "sunbird"; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String LOCATION_TABLE_NAME = "location"; @Override @@ -73,14 +73,14 @@ public Response search(Map searchQueryMap, RequestContext contex @Override public Response read(String locationId, RequestContext context) { return cassandraOperation.getRecordById( - KEYSPACE_NAME, LOCATION_TABLE_NAME, locationId, context); + KEYSPACE_NAME, LOCATION_TABLE_NAME, locationId, context); } @Override public Response getLocationsByIds( List locationIds, List locationFields, RequestContext context) { return cassandraOperation.getPropertiesValueById( - KEYSPACE_NAME, LOCATION_TABLE_NAME, locationIds, locationFields, context); + KEYSPACE_NAME, LOCATION_TABLE_NAME, locationIds, locationFields, context); } @Override diff --git a/service/src/main/java/org/sunbird/dao/notes/impl/NotesDaoImpl.java b/service/src/main/java/org/sunbird/dao/notes/impl/NotesDaoImpl.java index b6cb71d7cc..9766cab19c 100644 --- a/service/src/main/java/org/sunbird/dao/notes/impl/NotesDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/notes/impl/NotesDaoImpl.java @@ -21,7 +21,7 @@ public class NotesDaoImpl implements NotesDao { private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ElasticSearchService esService = EsClientFactory.getInstance(JsonKey.REST); - private static final String KEYSPACE_NAME = JsonKey.SUNBIRD; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String TABLE_NAME = "user_notes"; private static NotesDao notesDao; diff --git a/service/src/main/java/org/sunbird/dao/notification/impl/EmailTemplateDaoImpl.java b/service/src/main/java/org/sunbird/dao/notification/impl/EmailTemplateDaoImpl.java index 89b1ff8e30..fea78cfd6a 100644 --- a/service/src/main/java/org/sunbird/dao/notification/impl/EmailTemplateDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/notification/impl/EmailTemplateDaoImpl.java @@ -12,6 +12,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class EmailTemplateDaoImpl implements EmailTemplateDao { @@ -38,7 +39,7 @@ public String getTemplate(String templateName, RequestContext context) { Response response = getCassandraOperation() .getRecordsByPrimaryKeys( - JsonKey.SUNBIRD, EMAIL_TEMPLATE, idList, JsonKey.NAME, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), EMAIL_TEMPLATE, idList, JsonKey.NAME, context); List> emailTemplateList = (List>) response.get(JsonKey.RESPONSE); Map map = Collections.emptyMap(); diff --git a/service/src/main/java/org/sunbird/dao/organisation/impl/OrgDaoImpl.java b/service/src/main/java/org/sunbird/dao/organisation/impl/OrgDaoImpl.java index a3bad155f7..8393b11ed9 100644 --- a/service/src/main/java/org/sunbird/dao/organisation/impl/OrgDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/organisation/impl/OrgDaoImpl.java @@ -31,7 +31,7 @@ public class OrgDaoImpl implements OrgDao { private final ObjectMapper mapper = new ObjectMapper(); private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private static OrgDao orgDao; - private static final String KEYSPACE_NAME = JsonKey.SUNBIRD; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String ORG_TABLE_NAME = JsonKey.ORGANISATION; public static OrgDao getInstance() { @@ -68,7 +68,7 @@ public List> getOrgByIds( if (CollectionUtils.isNotEmpty(orgIds)) { Response response = cassandraOperation.getPropertiesValueById( - KEYSPACE_NAME, ORG_TABLE_NAME, orgIds, fields, context); + KEYSPACE_NAME, ORG_TABLE_NAME, orgIds, fields, context); List> responseList = (List>) response.get(JsonKey.RESPONSE); if (CollectionUtils.isNotEmpty(responseList)) { diff --git a/service/src/main/java/org/sunbird/dao/organisation/impl/OrgExternalDaoImpl.java b/service/src/main/java/org/sunbird/dao/organisation/impl/OrgExternalDaoImpl.java index 852becb698..8346bae787 100644 --- a/service/src/main/java/org/sunbird/dao/organisation/impl/OrgExternalDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/organisation/impl/OrgExternalDaoImpl.java @@ -11,11 +11,12 @@ import org.sunbird.keys.JsonKey; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class OrgExternalDaoImpl implements OrgExternalDao { private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); - private static final String KEYSPACE_NAME = JsonKey.SUNBIRD; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String ORG_EXT_TABLE_NAME = JsonKey.ORG_EXT_ID_DB; @Override diff --git a/service/src/main/java/org/sunbird/dao/otp/impl/OTPDaoImpl.java b/service/src/main/java/org/sunbird/dao/otp/impl/OTPDaoImpl.java index bd0e5245c4..1896eb8cfa 100644 --- a/service/src/main/java/org/sunbird/dao/otp/impl/OTPDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/otp/impl/OTPDaoImpl.java @@ -10,6 +10,7 @@ import org.sunbird.logging.LoggerUtil; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.PropertiesCache; public class OTPDaoImpl implements OTPDao { @@ -45,7 +46,7 @@ public Map getOTPDetails(String type, String key, RequestContext ttlFields.add(JsonKey.OTP); Response result = cassandraOperation.getRecordWithTTLById( - JsonKey.SUNBIRD, TABLE_NAME, request, ttlFields, fields, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, request, ttlFields, fields, context); List> otpMapList = (List>) result.get(JsonKey.RESPONSE); if (CollectionUtils.isEmpty(otpMapList)) { return null; @@ -64,7 +65,7 @@ public void insertOTPDetails(String type, String key, String otp, RequestContext String expirationInSeconds = PropertiesCache.getInstance().getProperty(JsonKey.SUNBIRD_OTP_EXPIRATION); int ttl = Integer.valueOf(expirationInSeconds); - cassandraOperation.insertRecordWithTTL(JsonKey.SUNBIRD, TABLE_NAME, request, ttl, context); + cassandraOperation.insertRecordWithTTL(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, request, ttl, context); } @Override @@ -72,7 +73,7 @@ public void deleteOtp(String type, String key, RequestContext context) { Map compositeKeyMap = new HashMap<>(); compositeKeyMap.put(JsonKey.TYPE, type); compositeKeyMap.put(JsonKey.KEY, key); - cassandraOperation.deleteRecord(JsonKey.SUNBIRD, TABLE_NAME, compositeKeyMap, context); + cassandraOperation.deleteRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, compositeKeyMap, context); logger.debug(context, "OTPDaoImpl:deleteOtp:otp deleted"); } @@ -88,6 +89,6 @@ public void updateAttemptCount(Map otpDetails, RequestContext co compositeKey.put(JsonKey.TYPE, otpDetails.get(JsonKey.TYPE)); compositeKey.put(JsonKey.KEY, otpDetails.get(JsonKey.KEY)); cassandraOperation.updateRecordWithTTL( - JsonKey.SUNBIRD, TABLE_NAME, request, compositeKey, ttl, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, request, compositeKey, ttl, context); } } diff --git a/service/src/main/java/org/sunbird/dao/ratelimit/RateLimitDaoImpl.java b/service/src/main/java/org/sunbird/dao/ratelimit/RateLimitDaoImpl.java index 4167075d46..1a16b21912 100644 --- a/service/src/main/java/org/sunbird/dao/ratelimit/RateLimitDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/ratelimit/RateLimitDaoImpl.java @@ -11,6 +11,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.ratelimit.RateLimit; public class RateLimitDaoImpl implements RateLimitDao { @@ -40,7 +41,7 @@ public void insertRateLimits(List rateLimits, RequestContext context) List> records = rateLimits.stream().map(rateLimit -> rateLimit.getRecord()).collect(Collectors.toList()); - cassandraOperation.batchInsertWithTTL(JsonKey.SUNBIRD, TABLE_NAME, records, ttl, context); + cassandraOperation.batchInsertWithTTL(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, records, ttl, context); } @Override @@ -56,7 +57,7 @@ public List> getRateLimits(String key, RequestContext contex Response response = cassandraOperation.getRecordsByIdsWithSpecifiedColumnsAndTTL( - JsonKey.SUNBIRD, TABLE_NAME, partitionKey, properties, ttlPropsWithAlias, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, partitionKey, properties, ttlPropsWithAlias, context); return (List>) response.get(JsonKey.RESPONSE); } diff --git a/service/src/main/java/org/sunbird/dao/role/impl/RoleDaoImpl.java b/service/src/main/java/org/sunbird/dao/role/impl/RoleDaoImpl.java index 0bc70ee086..aedde00a1a 100644 --- a/service/src/main/java/org/sunbird/dao/role/impl/RoleDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/role/impl/RoleDaoImpl.java @@ -11,6 +11,7 @@ import org.sunbird.model.role.Role; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class RoleDaoImpl implements RoleDao { @@ -29,7 +30,7 @@ public static RoleDao getInstance() { @Override public List getRoles(RequestContext context) { Response roleResults = - getCassandraOperation().getAllRecords(JsonKey.SUNBIRD, TABLE_NAME, context); + getCassandraOperation().getAllRecords(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, context); TypeReference> roleMapType = new TypeReference<>() {}; List> roleMapList = (List>) roleResults.get(JsonKey.RESPONSE); diff --git a/service/src/main/java/org/sunbird/dao/role/impl/RoleGroupDaoImpl.java b/service/src/main/java/org/sunbird/dao/role/impl/RoleGroupDaoImpl.java index 8d668c8342..0828d5af4b 100644 --- a/service/src/main/java/org/sunbird/dao/role/impl/RoleGroupDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/role/impl/RoleGroupDaoImpl.java @@ -11,6 +11,7 @@ import org.sunbird.model.role.RoleGroup; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class RoleGroupDaoImpl implements RoleGroupDao { @@ -27,7 +28,7 @@ public static RoleGroupDao getInstance() { @SuppressWarnings("unchecked") @Override public List getRoleGroups(RequestContext context) { - String KEYSPACE_NAME = "sunbird"; + String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); String TABLE_NAME = "role_group"; Response roleGroupResults = getCassandraOperation().getAllRecords(KEYSPACE_NAME, TABLE_NAME, context); diff --git a/service/src/main/java/org/sunbird/dao/systemsettings/impl/SystemSettingDaoImpl.java b/service/src/main/java/org/sunbird/dao/systemsettings/impl/SystemSettingDaoImpl.java index 99966a9ec7..4c00f1579b 100644 --- a/service/src/main/java/org/sunbird/dao/systemsettings/impl/SystemSettingDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/systemsettings/impl/SystemSettingDaoImpl.java @@ -12,12 +12,13 @@ import org.sunbird.model.systemsettings.SystemSetting; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class SystemSettingDaoImpl implements SystemSettingDao { private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ObjectMapper mapper = new ObjectMapper(); - private static final String KEYSPACE_NAME = JsonKey.SUNBIRD; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String TABLE_NAME = JsonKey.SYSTEM_SETTINGS_DB; @Override diff --git a/service/src/main/java/org/sunbird/dao/tenantpreference/impl/TenantPreferenceDaoImpl.java b/service/src/main/java/org/sunbird/dao/tenantpreference/impl/TenantPreferenceDaoImpl.java index 64b9589fc4..f70b7bb768 100644 --- a/service/src/main/java/org/sunbird/dao/tenantpreference/impl/TenantPreferenceDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/tenantpreference/impl/TenantPreferenceDaoImpl.java @@ -9,6 +9,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class TenantPreferenceDaoImpl implements TenantPreferenceDao { @@ -30,7 +31,7 @@ public List> getTenantPreferenceById( properties.put(JsonKey.KEY, key); Response tenantPreferences = cassandraOperation.getRecordsByProperties( - JsonKey.SUNBIRD, JsonKey.TENANT_PREFERENCE_V2_DB, properties, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.TENANT_PREFERENCE_V2_DB, properties, context); return (List>) tenantPreferences.get(JsonKey.RESPONSE); } @@ -38,7 +39,7 @@ public List> getTenantPreferenceById( public Response insertTenantPreference( Map tenantPreference, RequestContext context) { return cassandraOperation.insertRecord( - JsonKey.SUNBIRD, JsonKey.TENANT_PREFERENCE_V2_DB, tenantPreference, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.TENANT_PREFERENCE_V2_DB, tenantPreference, context); } @Override @@ -47,7 +48,7 @@ public Response updateTenantPreference( Map clusteringKeys, RequestContext context) { return cassandraOperation.updateRecord( - JsonKey.SUNBIRD, + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.TENANT_PREFERENCE_V2_DB, tenantPreference, clusteringKeys, diff --git a/service/src/main/java/org/sunbird/dao/urlaction/impl/UrlActionDaoImpl.java b/service/src/main/java/org/sunbird/dao/urlaction/impl/UrlActionDaoImpl.java index d3ea7861fc..f005588779 100644 --- a/service/src/main/java/org/sunbird/dao/urlaction/impl/UrlActionDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/urlaction/impl/UrlActionDaoImpl.java @@ -10,6 +10,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.model.urlaction.UrlAction; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class UrlActionDaoImpl implements UrlActionDao { @@ -26,7 +27,7 @@ public static UrlActionDao getInstance() { @Override public List getUrlActions() { - String KEYSPACE_NAME = "sunbird"; + String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); String TABLE_NAME = "url_action"; Response urlActionResults = cassandraOperation.getAllRecords(KEYSPACE_NAME, TABLE_NAME, null); TypeReference> urlActionType = new TypeReference<>() {}; diff --git a/service/src/main/java/org/sunbird/dao/user/impl/UserDaoImpl.java b/service/src/main/java/org/sunbird/dao/user/impl/UserDaoImpl.java index 6f785214f6..e1aad8ec86 100644 --- a/service/src/main/java/org/sunbird/dao/user/impl/UserDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/user/impl/UserDaoImpl.java @@ -32,7 +32,7 @@ public class UserDaoImpl implements UserDao { private final LoggerUtil logger = new LoggerUtil(UserDaoImpl.class); private static final String TABLE_NAME = JsonKey.USER; - private static final String KEY_SPACE_NAME = JsonKey.SUNBIRD; + private static final String KEY_SPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private final ElasticSearchService esService = EsClientFactory.getInstance(JsonKey.REST); private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private final ObjectMapper mapper = new ObjectMapper(); diff --git a/service/src/main/java/org/sunbird/dao/user/impl/UserExternalIdentityDaoImpl.java b/service/src/main/java/org/sunbird/dao/user/impl/UserExternalIdentityDaoImpl.java index 6d4d0298dd..4f1d04b2f5 100644 --- a/service/src/main/java/org/sunbird/dao/user/impl/UserExternalIdentityDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/user/impl/UserExternalIdentityDaoImpl.java @@ -14,6 +14,7 @@ import org.sunbird.logging.LoggerUtil; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class UserExternalIdentityDaoImpl implements UserExternalIdentityDao { @@ -49,7 +50,7 @@ public List> getUserExternalIds(String userId, RequestContex Map req = new HashMap<>(); req.put(JsonKey.USER_ID, userId); Response response = - cassandraOperation.getRecordById(JsonKey.SUNBIRD, JsonKey.USR_EXT_IDNT_TABLE, req, context); + cassandraOperation.getRecordById(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USR_EXT_IDNT_TABLE, req, context); if (null != response && null != response.getResult()) { dbResExternalIds = (List>) response.getResult().get(JsonKey.RESPONSE); } @@ -64,7 +65,7 @@ public List> getUserSelfDeclaredDetails( req.put(JsonKey.USER_ID, userId); Response response = cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, req, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, req, context); if (null != response && null != response.getResult()) { dbResExternalIds = (List>) response.getResult().get(JsonKey.RESPONSE); } diff --git a/service/src/main/java/org/sunbird/dao/user/impl/UserOrgDaoImpl.java b/service/src/main/java/org/sunbird/dao/user/impl/UserOrgDaoImpl.java index 25e550132c..e5c106ac35 100644 --- a/service/src/main/java/org/sunbird/dao/user/impl/UserOrgDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/user/impl/UserOrgDaoImpl.java @@ -12,6 +12,7 @@ import org.sunbird.model.user.UserOrg; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public final class UserOrgDaoImpl implements UserOrgDao { @@ -42,20 +43,20 @@ public Response updateUserOrg(UserOrg userOrg, RequestContext context) { compositeKey.put(JsonKey.USER_ID, request.remove(JsonKey.USER_ID)); compositeKey.put(JsonKey.ORGANISATION_ID, request.remove(JsonKey.ORGANISATION_ID)); return cassandraOperation.updateRecord( - JsonKey.SUNBIRD, TABLE_NAME, request, compositeKey, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, request, compositeKey, context); } @Override public Response createUserOrg(UserOrg userOrg, RequestContext context) { return cassandraOperation.insertRecord( - JsonKey.SUNBIRD, TABLE_NAME, mapper.convertValue(userOrg, Map.class), context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, mapper.convertValue(userOrg, Map.class), context); } @Override public Response getUserOrgListByUserId(String userId, RequestContext context) { Map compositeKey = new LinkedHashMap<>(2); compositeKey.put(JsonKey.USER_ID, userId); - return cassandraOperation.getRecordById(JsonKey.SUNBIRD, TABLE_NAME, compositeKey, context); + return cassandraOperation.getRecordById(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, compositeKey, context); } @Override @@ -66,12 +67,12 @@ public Response getUserOrgDetails(String userId, String organisationId, RequestC searchMap.put(JsonKey.ORGANISATION_ID, organisationId); } return cassandraOperation.getRecordsByCompositeKey( - JsonKey.SUNBIRD, JsonKey.USER_ORG, searchMap, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_ORG, searchMap, context); } @Override public Response insertRecord(Map reqMap, RequestContext context) { - return cassandraOperation.insertRecord(JsonKey.SUNBIRD, JsonKey.USER_ORG, reqMap, context); + return cassandraOperation.insertRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_ORG, reqMap, context); } public void deleteUserOrgMapping(List> userOrgList, RequestContext context) { @@ -79,7 +80,7 @@ public void deleteUserOrgMapping(List> userOrgList, RequestC Map compositeKey = new LinkedHashMap<>(2); compositeKey.put(JsonKey.USER_ID, (String) userOrg.get(JsonKey.USER_ID)); compositeKey.put(JsonKey.ORGANISATION_ID, (String) userOrg.get(JsonKey.ORGANISATION_ID)); - cassandraOperation.deleteRecord(JsonKey.SUNBIRD, JsonKey.USER_ORG, compositeKey, context); + cassandraOperation.deleteRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_ORG, compositeKey, context); } } } diff --git a/service/src/main/java/org/sunbird/dao/user/impl/UserRoleDaoImpl.java b/service/src/main/java/org/sunbird/dao/user/impl/UserRoleDaoImpl.java index 5575ade974..babc0982d5 100644 --- a/service/src/main/java/org/sunbird/dao/user/impl/UserRoleDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/user/impl/UserRoleDaoImpl.java @@ -35,7 +35,7 @@ public static UserRoleDao getInstance() { @Override public Response assignUserRole(List> userRoleMap, RequestContext context) { - return cassandraOperation.batchInsert(JsonKey.SUNBIRD, TABLE_NAME, userRoleMap, context); + return cassandraOperation.batchInsert(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, userRoleMap, context); } @Override @@ -47,7 +47,7 @@ public Response updateRoleScope(List> userRoleMap, RequestCo compositeKey.put(JsonKey.ROLE, dataMap.remove(JsonKey.ROLE)); result = cassandraOperation.updateRecord( - JsonKey.SUNBIRD, TABLE_NAME, dataMap, compositeKey, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, dataMap, compositeKey, context); } return result; } @@ -55,7 +55,7 @@ public Response updateRoleScope(List> userRoleMap, RequestCo @Override public void deleteUserRole(List> userRoleMap, RequestContext context) { for (Map dataMap : userRoleMap) { - cassandraOperation.deleteRecord(JsonKey.SUNBIRD, TABLE_NAME, dataMap, context); + cassandraOperation.deleteRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, dataMap, context); } } @@ -68,7 +68,7 @@ public List> getUserRoles( compositeKeyMap.put(JsonKey.ROLE, role); } Response existingRecord = - cassandraOperation.getRecordById(JsonKey.SUNBIRD, TABLE_NAME, compositeKeyMap, context); + cassandraOperation.getRecordById(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, compositeKeyMap, context); List> responseList = (List>) existingRecord.get(JsonKey.RESPONSE); diff --git a/service/src/main/java/org/sunbird/dao/user/impl/UserSelfDeclarationDaoImpl.java b/service/src/main/java/org/sunbird/dao/user/impl/UserSelfDeclarationDaoImpl.java index 7c36410eab..b929ec1ef6 100644 --- a/service/src/main/java/org/sunbird/dao/user/impl/UserSelfDeclarationDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/user/impl/UserSelfDeclarationDaoImpl.java @@ -14,6 +14,7 @@ import org.sunbird.model.user.UserDeclareEntity; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class UserSelfDeclarationDaoImpl implements UserSelfDeclarationDao { private final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); @@ -29,7 +30,7 @@ public static UserSelfDeclarationDao getInstance() { public void insertSelfDeclaredFields(Map extIdMap, RequestContext context) { cassandraOperation.insertRecord( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, extIdMap, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, extIdMap, context); } public List> getUserSelfDeclaredFields( @@ -41,7 +42,7 @@ public List> getUserSelfDeclaredFields( properties.put(JsonKey.PERSONA, userDeclareEntity.getPersona()); Response response = cassandraOperation.getRecordsByProperties( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, properties, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, properties, context); if (null != response && null != response.getResult()) { dbResExternalIds = (List>) response.getResult().get(JsonKey.RESPONSE); } @@ -64,7 +65,7 @@ public UserDeclareEntity upsertUserSelfDeclaredFields( updateFieldsMap.put( JsonKey.UPDATED_ON, new Timestamp(Calendar.getInstance().getTime().getTime())); cassandraOperation.updateRecord( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, updateFieldsMap, compositeKey, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, updateFieldsMap, compositeKey, context); return userDeclareEntity; } @@ -75,7 +76,7 @@ public List> getUserSelfDeclaredFields( properties.put(JsonKey.USER_ID, userId); Response response = cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, properties, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, properties, context); if (null != response && null != response.getResult()) { dbResExternalIds = (List>) response.getResult().get(JsonKey.RESPONSE); } @@ -89,7 +90,7 @@ public void deleteUserSelfDeclaredDetails( properties.put(JsonKey.ORG_ID, orgId); properties.put(JsonKey.PERSONA, persona); cassandraOperation.deleteRecord( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, properties, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, properties, context); } public Response updateUserSelfDeclaredFields( @@ -97,6 +98,6 @@ public Response updateUserSelfDeclaredFields( Map compositeKey, RequestContext context) { return cassandraOperation.updateRecord( - JsonKey.SUNBIRD, JsonKey.USER_DECLARATION_DB, updateFieldsMap, compositeKey, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.USER_DECLARATION_DB, updateFieldsMap, compositeKey, context); } } diff --git a/service/src/main/java/org/sunbird/dao/userconsent/impl/UserConsentDaoImpl.java b/service/src/main/java/org/sunbird/dao/userconsent/impl/UserConsentDaoImpl.java index a9fdbbc9d9..ffaa3d66fb 100644 --- a/service/src/main/java/org/sunbird/dao/userconsent/impl/UserConsentDaoImpl.java +++ b/service/src/main/java/org/sunbird/dao/userconsent/impl/UserConsentDaoImpl.java @@ -8,6 +8,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class UserConsentDaoImpl implements UserConsentDao { private final String TABLE_NAME = "user_consent"; @@ -24,7 +25,7 @@ public static UserConsentDao getInstance() { @Override public Response updateConsent(Map consent, RequestContext context) { - return cassandraOperation.upsertRecord(JsonKey.SUNBIRD, TABLE_NAME, consent, context); + return cassandraOperation.upsertRecord(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, consent, context); } @Override @@ -32,7 +33,7 @@ public List> getConsent( Map consentReq, RequestContext context) { Response response = cassandraOperation.getRecordsByCompositeKey( - JsonKey.SUNBIRD, TABLE_NAME, consentReq, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), TABLE_NAME, consentReq, context); return (List>) response.get(JsonKey.RESPONSE); } } diff --git a/service/src/main/java/org/sunbird/service/user/ShadowUserMigrationService.java b/service/src/main/java/org/sunbird/service/user/ShadowUserMigrationService.java index 435556aec3..7a72f00799 100644 --- a/service/src/main/java/org/sunbird/service/user/ShadowUserMigrationService.java +++ b/service/src/main/java/org/sunbird/service/user/ShadowUserMigrationService.java @@ -11,6 +11,7 @@ import org.sunbird.model.ShadowUser; import org.sunbird.request.RequestContext; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; public class ShadowUserMigrationService { private static final LoggerUtil logger = new LoggerUtil(ShadowUserMigrationService.class); @@ -29,7 +30,7 @@ public static ShadowUser getRecordByUserId(String userId, RequestContext context ShadowUser shadowUser = null; Response response = cassandraOperation.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, context); if (!((List) response.getResult().get(JsonKey.RESPONSE)).isEmpty()) { shadowUser = mapper.convertValue( @@ -53,7 +54,7 @@ public static boolean updateRecord( compositeKeysMap.put(JsonKey.CHANNEL, channel); Response response = cassandraOperation.updateRecord( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, propertiesMap, compositeKeysMap, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.SHADOW_USER, propertiesMap, compositeKeysMap, context); logger.info( context, "MigrationUtils:updateRecord:update in cassandra with userExtId" @@ -116,7 +117,7 @@ public static List getEligibleUsersById( List shadowUsersList = new ArrayList<>(); Response response = cassandraOperation.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, propsMap, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, propsMap, context); if (!((List) response.getResult().get(JsonKey.RESPONSE)).isEmpty()) { ((List) response.getResult().get(JsonKey.RESPONSE)) .stream() @@ -142,7 +143,7 @@ public static List getEligibleUsersById(String userId, RequestContex List shadowUsersList = new ArrayList<>(); Response response = cassandraOperation.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, context); + ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE), JsonKey.SHADOW_USER, JsonKey.USERIDS, userId, context); if (!((List) response.getResult().get(JsonKey.RESPONSE)).isEmpty()) { ((List) response.getResult().get(JsonKey.RESPONSE)) .stream() diff --git a/service/src/main/java/org/sunbird/util/DataCacheHandler.java b/service/src/main/java/org/sunbird/util/DataCacheHandler.java index c847ccedef..aaa2243bd6 100644 --- a/service/src/main/java/org/sunbird/util/DataCacheHandler.java +++ b/service/src/main/java/org/sunbird/util/DataCacheHandler.java @@ -44,7 +44,7 @@ public class DataCacheHandler implements Runnable { private static Map> formApiDataConfigMap = new ConcurrentHashMap<>(); private static List> roleList = new CopyOnWriteArrayList<>(); private CassandraOperation cassandraOperation = ServiceFactory.getInstance(); - private static final String KEY_SPACE_NAME = JsonKey.SUNBIRD; + private static final String KEY_SPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static Response roleCacheResponse; private static Map orderMap; public static String[] bulkUserAllowedFields = { diff --git a/service/src/main/java/org/sunbird/util/Util.java b/service/src/main/java/org/sunbird/util/Util.java index 7a10a881a5..5134590109 100644 --- a/service/src/main/java/org/sunbird/util/Util.java +++ b/service/src/main/java/org/sunbird/util/Util.java @@ -19,7 +19,7 @@ public final class Util { public static final Map dbInfoMap = new HashMap<>(); - private static final String KEY_SPACE_NAME = "sunbird"; + private static final String KEY_SPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final CassandraOperation cassandraOperation = ServiceFactory.getInstance(); private static final DecryptionService decService = org.sunbird.datasecurity.impl.ServiceFactory.getDecryptionServiceInstance(); diff --git a/service/src/test/java/org/sunbird/actor/notification/EmailServiceActorTest.java b/service/src/test/java/org/sunbird/actor/notification/EmailServiceActorTest.java index 581283b45c..7fde626913 100644 --- a/service/src/test/java/org/sunbird/actor/notification/EmailServiceActorTest.java +++ b/service/src/test/java/org/sunbird/actor/notification/EmailServiceActorTest.java @@ -76,6 +76,7 @@ public void beforeTest() { when(cassandraOperation.getRecordById( Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any())) .thenReturn(cassandraGetRecordById()); + when(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE)).thenReturn("sunbird"); } private static Response cassandraGetRecordById() { diff --git a/service/src/test/java/org/sunbird/actor/notification/SendNotificationActorTest.java b/service/src/test/java/org/sunbird/actor/notification/SendNotificationActorTest.java index 3841052349..aa074a68d8 100644 --- a/service/src/test/java/org/sunbird/actor/notification/SendNotificationActorTest.java +++ b/service/src/test/java/org/sunbird/actor/notification/SendNotificationActorTest.java @@ -84,6 +84,7 @@ public void beforeTest() { Mockito.anyList(), Mockito.any())) .thenReturn(cassandraGetRecordById()); + when(ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE)).thenReturn("sunbird"); } private static Response cassandraGetRecordById() { diff --git a/service/src/test/java/org/sunbird/actor/systemsettings/SystemSettingsActorTest.java b/service/src/test/java/org/sunbird/actor/systemsettings/SystemSettingsActorTest.java index 36d841d166..8c6889af45 100644 --- a/service/src/test/java/org/sunbird/actor/systemsettings/SystemSettingsActorTest.java +++ b/service/src/test/java/org/sunbird/actor/systemsettings/SystemSettingsActorTest.java @@ -32,6 +32,7 @@ import org.sunbird.operations.ActorOperations; import org.sunbird.request.Request; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; import scala.concurrent.duration.FiniteDuration; @RunWith(PowerMockRunner.class) @@ -60,7 +61,7 @@ public class SystemSettingsActorTest { private static String FIELD = "someField"; private static String VALUE = "someValue"; private ElasticSearchRestHighImpl esUtil; - private static final String KEYSPACE_NAME = JsonKey.SUNBIRD; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private static final String TABLE_NAME = JsonKey.SYSTEM_SETTINGS_DB; @Before diff --git a/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java b/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java index 5d99e7b420..44ceb46533 100644 --- a/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/ResetPasswordActorTest.java @@ -35,6 +35,7 @@ import org.sunbird.sso.KeycloakUtil; import org.sunbird.sso.SSOManager; import org.sunbird.sso.SSOServiceFactory; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.UserUtility; @RunWith(PowerMockRunner.class) @@ -60,6 +61,7 @@ public class ResetPasswordActorTest { private CassandraOperation cassandraOperation = null; Props props = Props.create(ResetPasswordActor.class); ActorSystem system = ActorSystem.create("ResetPasswordActor"); + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); private void getRecordByIdNonEmptyResponse() { Response response = new Response(); @@ -78,7 +80,7 @@ private void getRecordByIdNonEmptyResponse() { userList.add(user); response.getResult().put(JsonKey.RESPONSE, userList); PowerMockito.when( - cassandraOperation.getRecordById(JsonKey.SUNBIRD, JsonKey.USER, "ValidUserId", null)) + cassandraOperation.getRecordById(KEYSPACE_NAME, JsonKey.USER, "ValidUserId", null)) .thenReturn(response); } @@ -86,7 +88,7 @@ private void getRecordByIdEmptyResponse() { Response response = new Response(); PowerMockito.when( cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.USER, "invalidParameter", null)) + KEYSPACE_NAME, JsonKey.USER, "invalidParameter", null)) .thenReturn(response); } diff --git a/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java b/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java index 5d852e6f0d..980f79f308 100644 --- a/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/UserProfileReadActorTest.java @@ -49,6 +49,7 @@ import org.sunbird.sso.SSOServiceFactory; import org.sunbird.sso.impl.KeyCloakServiceImpl; import org.sunbird.util.DataCacheHandler; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.UserUtility; import org.sunbird.util.Util; import org.sunbird.util.user.UserUtil; @@ -100,6 +101,7 @@ public class UserProfileReadActorTest { private static final String INVALID_PHONE = "000"; private static final String VALID_USERNAME = "USERNAME"; private static ElasticSearchService esService; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Before public void beforeEachTest() { @@ -389,7 +391,7 @@ public void testGetUserProfileSuccessV3WithFieldDeclarationAndExternalIds() thro Map req = new HashMap<>(); req.put(JsonKey.USER_ID, VALID_USER_ID); when(cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.USR_DECLARATION_TABLE, req, null)) + KEYSPACE_NAME, JsonKey.USR_DECLARATION_TABLE, req, null)) .thenReturn(getUserDeclarationResponse(true)); boolean result = testScenario(reqObj, null); assertTrue(result); @@ -489,7 +491,7 @@ public void testGetUserByEmailKey() throws Exception { Map req = new HashMap<>(); req.put(JsonKey.USER_ID, VALID_USER_ID); when(cassandraOperation.getRecordById( - JsonKey.SUNBIRD, JsonKey.USR_DECLARATION_TABLE, req, null)) + KEYSPACE_NAME, JsonKey.USR_DECLARATION_TABLE, req, null)) .thenReturn(getUserDeclarationResponse(true)); reqMap = getUserProfileByKeyRequest(JsonKey.EMAIL, INVALID_EMAIL); setCassandraResponse(getCassandraResponse(false)); diff --git a/service/src/test/java/org/sunbird/dao/notification/EmailTemplateDaoImplTest.java b/service/src/test/java/org/sunbird/dao/notification/EmailTemplateDaoImplTest.java index ebf7cd0b18..41d2288442 100644 --- a/service/src/test/java/org/sunbird/dao/notification/EmailTemplateDaoImplTest.java +++ b/service/src/test/java/org/sunbird/dao/notification/EmailTemplateDaoImplTest.java @@ -22,6 +22,7 @@ import org.sunbird.helper.ServiceFactory; import org.sunbird.keys.JsonKey; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; @RunWith(PowerMockRunner.class) @PrepareForTest({ @@ -42,6 +43,7 @@ public class EmailTemplateDaoImplTest { private static final String DEFAULT_EMAIL_TEMPLATE_NAME = "default"; private static final String TEMPLATE = "template"; private EmailTemplateDao emailTemplateDao = new EmailTemplateDaoImpl(); + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Before public void setUp() throws Exception { @@ -61,7 +63,7 @@ public void testGetTemplateWithBlankTemplateName() { orgList.add(map); response.put(JsonKey.RESPONSE, orgList); when(cassandraOperation.getRecordsByPrimaryKeys( - JsonKey.SUNBIRD, EMAIL_TEMPLATE, idList, JsonKey.NAME, null)) + KEYSPACE_NAME, EMAIL_TEMPLATE, idList, JsonKey.NAME, null)) .thenReturn(response); String resp = emailTemplateDao.getTemplate(StringUtils.EMPTY, null); Assert.assertEquals(null, resp); @@ -78,7 +80,7 @@ public void testGetTemplateWithTemplateName() { orgList.add(map); response.put(JsonKey.RESPONSE, orgList); when(cassandraOperation.getRecordsByPrimaryKeys( - JsonKey.SUNBIRD, EMAIL_TEMPLATE, idList, JsonKey.NAME, null)) + KEYSPACE_NAME, EMAIL_TEMPLATE, idList, JsonKey.NAME, null)) .thenReturn(response); String resp = emailTemplateDao.getTemplate("Sunbird_email_template", null); Assert.assertEquals("Course is Been completed", resp); diff --git a/service/src/test/java/org/sunbird/dao/role/RoleDaoImplTest.java b/service/src/test/java/org/sunbird/dao/role/RoleDaoImplTest.java index 0635550d12..e2dde6186c 100644 --- a/service/src/test/java/org/sunbird/dao/role/RoleDaoImplTest.java +++ b/service/src/test/java/org/sunbird/dao/role/RoleDaoImplTest.java @@ -22,6 +22,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.model.role.Role; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; @RunWith(PowerMockRunner.class) @PrepareForTest({ @@ -41,6 +42,7 @@ public class RoleDaoImplTest { private CassandraOperation cassandraOperation; private Response response; private RoleDao roleDao; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Before public void setUp() throws Exception { @@ -59,7 +61,7 @@ public void testGetRoles() { cassandraOperation = PowerMockito.mock(CassandraOperation.class); PowerMockito.mockStatic(ServiceFactory.class); when(ServiceFactory.getInstance()).thenReturn(cassandraOperation); - when(cassandraOperation.getAllRecords(JsonKey.SUNBIRD, TABLE_NAME, null)) + when(cassandraOperation.getAllRecords(KEYSPACE_NAME, TABLE_NAME, null)) .thenReturn(response); List roleList = roleDao.getRoles(null); Assert.assertEquals("TEACHER", roleList.get(0).getName()); diff --git a/service/src/test/java/org/sunbird/dao/role/RoleGroupDaoImplTest.java b/service/src/test/java/org/sunbird/dao/role/RoleGroupDaoImplTest.java index a600d9b928..cdfb9ff12b 100644 --- a/service/src/test/java/org/sunbird/dao/role/RoleGroupDaoImplTest.java +++ b/service/src/test/java/org/sunbird/dao/role/RoleGroupDaoImplTest.java @@ -22,6 +22,7 @@ import org.sunbird.keys.JsonKey; import org.sunbird.model.role.RoleGroup; import org.sunbird.response.Response; +import org.sunbird.util.ProjectUtil; @RunWith(PowerMockRunner.class) @PrepareForTest({ @@ -41,6 +42,7 @@ public class RoleGroupDaoImplTest { private CassandraOperation cassandraOperation; private Response response; private RoleGroupDao roleGroupDao; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Before public void setUp() { @@ -59,7 +61,7 @@ public void testGetRoles() { cassandraOperation = PowerMockito.mock(CassandraOperation.class); PowerMockito.mockStatic(ServiceFactory.class); when(ServiceFactory.getInstance()).thenReturn(cassandraOperation); - when(cassandraOperation.getAllRecords(JsonKey.SUNBIRD, TABLE_NAME, null)) + when(cassandraOperation.getAllRecords(KEYSPACE_NAME, TABLE_NAME, null)) .thenReturn(response); List roleGroups = roleGroupDao.getRoleGroups(null); Assert.assertEquals("Flag Reviewer", roleGroups.get(0).getName()); diff --git a/service/src/test/java/org/sunbird/util/user/GetUserOrgDetailsTest.java b/service/src/test/java/org/sunbird/util/user/GetUserOrgDetailsTest.java index 50bc88d668..9f98a090f5 100644 --- a/service/src/test/java/org/sunbird/util/user/GetUserOrgDetailsTest.java +++ b/service/src/test/java/org/sunbird/util/user/GetUserOrgDetailsTest.java @@ -17,6 +17,7 @@ import org.sunbird.cassandraimpl.CassandraOperationImpl; import org.sunbird.helper.ServiceFactory; import org.sunbird.keys.JsonKey; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.Util; import org.sunbird.response.Response; @@ -30,6 +31,7 @@ "javax.crypto.*" }) public class GetUserOrgDetailsTest { + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Test public void testGetUserOrgDetails() { @@ -49,7 +51,7 @@ public void testGetUserOrgDetails() { ids.add("123-456-789"); when(ServiceFactory.getInstance()).thenReturn(cassandraOperationImpl); when(cassandraOperationImpl.getRecordsByPrimaryKeys( - JsonKey.SUNBIRD, "user_organisation", ids, JsonKey.USER_ID, null)) + KEYSPACE_NAME, "user_organisation", ids, JsonKey.USER_ID, null)) .thenReturn(response1); List> res = UserUtil.getActiveUserOrgDetails("123-456-789", null); Assert.assertNotNull(res); diff --git a/service/src/test/java/org/sunbird/util/user/SetUserDefaultValueTest.java b/service/src/test/java/org/sunbird/util/user/SetUserDefaultValueTest.java index d2a23e3fbe..175f2a9dd6 100644 --- a/service/src/test/java/org/sunbird/util/user/SetUserDefaultValueTest.java +++ b/service/src/test/java/org/sunbird/util/user/SetUserDefaultValueTest.java @@ -28,6 +28,7 @@ import org.sunbird.service.user.impl.UserLookUpServiceImpl; import org.sunbird.service.user.impl.UserServiceImpl; import org.sunbird.util.DataCacheHandler; +import org.sunbird.util.ProjectUtil; import org.sunbird.util.Util; @RunWith(PowerMockRunner.class) @@ -57,6 +58,7 @@ public class SetUserDefaultValueTest { private static Response response; public static CassandraOperationImpl cassandraOperationImpl; private static ElasticSearchService esService; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); public void beforeEachTest() { PowerMockito.mockStatic(DataCacheHandler.class); @@ -76,13 +78,13 @@ public void beforeEachTest() { reqMap.put(JsonKey.TYPE, JsonKey.EMAIL); reqMap.put(JsonKey.VALUE, "test@test.com"); when(cassandraOperationImpl.getRecordsByCompositeKey( - JsonKey.SUNBIRD, JsonKey.USER_LOOKUP, reqMap, null)) + KEYSPACE_NAME, JsonKey.USER_LOOKUP, reqMap, null)) .thenReturn(response); Map reqMapPhone = new HashMap<>(); reqMap.put(JsonKey.TYPE, JsonKey.PHONE); reqMap.put(JsonKey.VALUE, "9663890400"); when(cassandraOperationImpl.getRecordsByCompositeKey( - JsonKey.SUNBIRD, JsonKey.USER_LOOKUP, reqMapPhone, null)) + KEYSPACE_NAME, JsonKey.USER_LOOKUP, reqMapPhone, null)) .thenReturn(existResponse); when(DataCacheHandler.getConfigSettings()).thenReturn(settingMap); diff --git a/service/src/test/java/org/sunbird/util/user/ShadowUserMigrationServiceTest.java b/service/src/test/java/org/sunbird/util/user/ShadowUserMigrationServiceTest.java index 296ebc75a5..67d2ae250d 100644 --- a/service/src/test/java/org/sunbird/util/user/ShadowUserMigrationServiceTest.java +++ b/service/src/test/java/org/sunbird/util/user/ShadowUserMigrationServiceTest.java @@ -25,6 +25,7 @@ import org.sunbird.response.Response; import org.sunbird.service.user.ShadowUserMigrationService; import org.sunbird.service.user.impl.UserServiceImpl; +import org.sunbird.util.ProjectUtil; @RunWith(PowerMockRunner.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -40,6 +41,7 @@ public class ShadowUserMigrationServiceTest { private static Response response; public static CassandraOperationImpl cassandraOperationImpl; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); @Before public void beforeEachTest() { @@ -48,16 +50,16 @@ public void beforeEachTest() { cassandraOperationImpl = mock(CassandraOperationImpl.class); when(ServiceFactory.getInstance()).thenReturn(cassandraOperationImpl); when(cassandraOperationImpl.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "EFG", null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "EFG", null)) .thenReturn(getRecordsById(false)); when(cassandraOperationImpl.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "DEF", null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "DEF", null)) .thenReturn(getRecordsById(true)); when(cassandraOperationImpl.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "ABC", new HashMap<>(), null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "ABC", new HashMap<>(), null)) .thenReturn(getRecordsById(false)); when(cassandraOperationImpl.searchValueInList( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "XYZ", new HashMap<>(), null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, JsonKey.USER_IDs, "XYZ", new HashMap<>(), null)) .thenReturn(getRecordsById(true)); } @@ -79,7 +81,7 @@ public void testUpdateRecord() { compositeKeysMap.put(JsonKey.USER_EXT_ID, "anyUserExtId"); compositeKeysMap.put(JsonKey.CHANNEL, "anyChannel"); when(cassandraOperationImpl.updateRecord( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) .thenReturn(response); boolean isRecordUpdated = ShadowUserMigrationService.updateRecord(new HashMap<>(), "anyChannel", "anyUserExtId", null); @@ -97,7 +99,7 @@ public void testmarkUserAsRejected() { compositeKeysMap.put(JsonKey.USER_EXT_ID, "anyUserExtId"); compositeKeysMap.put(JsonKey.CHANNEL, "anyChannel"); when(cassandraOperationImpl.updateRecord( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) .thenReturn(response); boolean isRecordUpdated = ShadowUserMigrationService.markUserAsRejected(shadowUser, null); Assert.assertEquals(true, isRecordUpdated); @@ -114,7 +116,7 @@ public void testUpdateClaimStatus() { compositeKeysMap.put(JsonKey.USER_EXT_ID, "anyUserExtId"); compositeKeysMap.put(JsonKey.CHANNEL, "anyChannel"); when(cassandraOperationImpl.updateRecord( - JsonKey.SUNBIRD, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) + KEYSPACE_NAME, JsonKey.SHADOW_USER, new HashMap<>(), compositeKeysMap, null)) .thenReturn(response); boolean isRecordUpdated = ShadowUserMigrationService.updateClaimStatus(shadowUser, ClaimStatus.ELIGIBLE.getValue(), null); diff --git a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java index 868fbb81c3..285cdc1294 100644 --- a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java +++ b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java @@ -60,6 +60,7 @@ public class UserUtilTest { private static Response response; public static CassandraOperationImpl cassandraOperationImpl; private static ElasticSearchService esService; + private static final String KEYSPACE_NAME = ProjectUtil.getConfigValue(JsonKey.SUNBIRD_KEYSPACE); public void beforeEachTest() { PowerMockito.mockStatic(DataCacheHandler.class); @@ -79,13 +80,13 @@ public void beforeEachTest() { reqMap.put(JsonKey.TYPE, JsonKey.EMAIL); reqMap.put(JsonKey.VALUE, "test@test.com"); when(cassandraOperationImpl.getRecordsByCompositeKey( - JsonKey.SUNBIRD, JsonKey.USER_LOOKUP, reqMap, null)) + KEYSPACE_NAME, JsonKey.USER_LOOKUP, reqMap, null)) .thenReturn(response); Map reqMapPhone = new HashMap<>(); reqMap.put(JsonKey.TYPE, JsonKey.PHONE); reqMap.put(JsonKey.VALUE, "9663890400"); when(cassandraOperationImpl.getRecordsByCompositeKey( - JsonKey.SUNBIRD, JsonKey.USER_LOOKUP, reqMapPhone, null)) + KEYSPACE_NAME, JsonKey.USER_LOOKUP, reqMapPhone, null)) .thenReturn(existResponse); when(DataCacheHandler.getConfigSettings()).thenReturn(settingMap); From be4b088422c56f8643e3c3f80b51532e8feed758 Mon Sep 17 00:00:00 2001 From: Hari-stackroute <40484996+Hari-stackroute@users.noreply.github.com> Date: Fri, 7 Jul 2023 16:09:35 +0530 Subject: [PATCH 3/9] Issue #LR-625 merge: key not uploading when same old name is used (#1206) --- .../OrganisationManagementActor.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/service/src/main/java/org/sunbird/actor/organisation/OrganisationManagementActor.java b/service/src/main/java/org/sunbird/actor/organisation/OrganisationManagementActor.java index 5c014e57a6..8cc6414e88 100644 --- a/service/src/main/java/org/sunbird/actor/organisation/OrganisationManagementActor.java +++ b/service/src/main/java/org/sunbird/actor/organisation/OrganisationManagementActor.java @@ -550,6 +550,19 @@ private String uploadEncryptionFile( sender().tell(exception, self()); } String container = ProjectUtil.getConfigValue(JsonKey.CLOUD_SERVICE_CONTAINER); + if (fetchedKeys != null + && fetchedKeys.containsKey(JsonKey.EXHAUST_ENCRYPTION_KEY) + && !fetchedKeys.get(JsonKey.EXHAUST_ENCRYPTION_KEY).isEmpty()) { + String oldKey = + fetchedKeys + .get(JsonKey.EXHAUST_ENCRYPTION_KEY) + .get(0) + .substring( + fetchedKeys.get(JsonKey.EXHAUST_ENCRYPTION_KEY).get(0).indexOf(container) + + container.length() + + 1); + CloudStorageUtil.deleteFile(cspProvider, container, oldKey); + } publicKeyUrl = CloudStorageUtil.upload( cspProvider, @@ -560,19 +573,6 @@ private String uploadEncryptionFile( + File.separator + fileName, file.getAbsolutePath()); - if (fetchedKeys != null - && fetchedKeys.containsKey(JsonKey.EXHAUST_ENCRYPTION_KEY) - && !fetchedKeys.get(JsonKey.EXHAUST_ENCRYPTION_KEY).isEmpty()) { - String oldKey = - fetchedKeys - .get(JsonKey.EXHAUST_ENCRYPTION_KEY) - .get(0) - .substring( - fetchedKeys.get(JsonKey.EXHAUST_ENCRYPTION_KEY).get(0).indexOf(container) - + container.length() - + 1); - CloudStorageUtil.deleteFile(cspProvider, container, oldKey); - } return publicKeyUrl; } catch (IOException e) { throw new ProjectCommonException( From 48520dc19b345e05f1d654c915d371c15f9ea088 Mon Sep 17 00:00:00 2001 From: Hari-stackroute <40484996+Hari-stackroute@users.noreply.github.com> Date: Mon, 7 Aug 2023 20:13:25 +0530 Subject: [PATCH 4/9] LR-627-userorg csp changes merging to release-5.4.0 (#1213) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Issue #LR-456 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-422 feat: Pointed the channel create and update to content-… (#1172) * Issue #LR-422 feat: Pointed the channel create and update to content-service instead on learning-service. * Issue #LR-422 feat: Removed unused variables * Issue #LR-422 feat: Removed the authorization header as it is calling the pod directly. * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-517 feat: new API to upload public encryption key (#1173) * feat: ED-1175 Standalone helm chart for Learner service (#1159) * feat: adding learner subchart Signed-off-by: Keshav Prasad * feat: adding new templates and vars Signed-off-by: Keshav Prasad * fix: updated message Signed-off-by: Keshav Prasad * fix: ignore vscode files Signed-off-by: Keshav Prasad * fix: adding few templates Signed-off-by: Keshav Prasad * fix: updated confimap Signed-off-by: Keshav Prasad * fix: adding other manifests Signed-off-by: Keshav Prasad * fix: adding sample file Signed-off-by: Keshav Prasad * fix: added code for polices and keys Signed-off-by: Keshav Prasad * fix: updated opa policy files Signed-off-by: Keshav Prasad * fix: modified charts Signed-off-by: Keshav Prasad * fix: moved templates to template repo Signed-off-by: Keshav Prasad * fix: added dependencies Signed-off-by: Keshav Prasad * fix: intrim commit Signed-off-by: Keshav Prasad * feat: adding package and updated dependencies Signed-off-by: Keshav Prasad * feat: updated dependencies Signed-off-by: Keshav Prasad * feat: removed package Signed-off-by: Keshav Prasad * fix: removed unnecessary packages Signed-off-by: Keshav Prasad * fix: added static build file Signed-off-by: Keshav Prasad * fix: updated checks for vars Signed-off-by: Keshav Prasad * feat: adding learner package Signed-off-by: Keshav Prasad --------- Signed-off-by: Keshav Prasad * Issue #LR-101 feat: Moved cassandra.cql to sunbird-utils repo as V1.0_cassandra.cql in cassandra-migration module. And removing sunbirdplugin references. (#1161) * LR-329 - Test Automation for CSP (#1160) * LR-306 - Test Automation for CSP * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key * Issue #LR-517 feat: new API to upload public encryption key --------- Signed-off-by: Keshav Prasad Co-authored-by: Keshav Prasad Co-authored-by: Anil Gupta Co-authored-by: Bharathwaj <32808916+BharathwajShankar@users.noreply.github.com> Co-authored-by: Jayaprakash8887 * Lr 443 local setup of user org ubuntu mac GitHub and microsite update (#1176) * Issue #LR-443 feat:updating the readme.md file with lms service setup * Issue #LR-517 feat: new API to upload public encryption key (#1175) * Issue #LR-517 feat: new API to upload public encryption key --------- Co-authored-by: Jayaprakash8887 * Update README.md (#1180) Added Mac M1 commends * Issue #LR-517 feat: Tenant Preference settings update (#1181) * Issue #LR-517 feat: new API to upload public encryption key --------- Co-authored-by: Jayaprakash8887 * Update README.md (#1182) Updated the Mac m1 pre-requests * updated telemetry version (#1183) * Issue #LR-566 merge: Local sunbird keycloak setup (#1185) * Issue #LR-566 feat: Local sunbird keycloak setup (#1186) * Issue #LR-566 merge: Local sunbird keycloak setup (#1187) * Issue #LR-566 merge: Local sunbird keycloak setup (#1188) * Issue #LR-566 feat: Local sunbird keycloak setup (#1189) * Issue #LR-566 merge: Local sunbird keycloak setup (#1192) * Issue #LR-566 merge: Local sunbird keycloak setup (#1193) * Issue #LR-566 merge: Local sunbird keycloak setup (#1194) * Issue #LR-560 feat: Local sunbird keycloak setup (#1195) * Issue #LR-566 feat: Local sunbird keycloak setup --------- Co-authored-by: Jayaprakash8887 * Issue #LR-560 merge: Local sunbird keycloak setup (#1198) * Delete userorg-config.sh * Issue #LR-560 merge: Local sunbird keycloak integration with local user-org setup (#1199) * Issue #Issue LR-625 merge: key not uploading when same old name is used (#1205) * Issue #LR-627 merge: OCI CSP changes from release-5.0.2 to release-5.3.0 (#1210) * Issue #LR-627 feat: Removed the dead code from the repo to make it cl… (#1211) * LR-627-userorg csp changes merging to release-5.4.0-1 * Update .gitignore * LR-627-userorg csp changes merging to release-5.4.0-2 * LR-627-userorg csp changes merging to release-5.4.0-3 * LR-627-userorg csp changes merging to release-5.4.0-4 * LR-627-userorg csp changes merging to release-5.4.0-4 * LR-627-userorg csp changes merging to release-5.4.0-5 --------- Signed-off-by: Keshav Prasad Co-authored-by: BharathwajShankar Co-authored-by: Anil Gupta Co-authored-by: Jayaprakash8887 Co-authored-by: Keshav Prasad Co-authored-by: Bharathwaj <32808916+BharathwajShankar@users.noreply.github.com> Co-authored-by: Jayaprakash8887 Co-authored-by: Paluru Abhign Sai Co-authored-by: Reshmi V Nair <54312456+reshmi-nair@users.noreply.github.com> --- .circleci/config.yml | 2 +- Dockerfile.Build | 2 +- Jenkinsfile | 8 +- README.md | 2 +- auto_build_deploy | 2 +- controller/pom.xml | 4 +- .../OrganisationControllerTest.java | 97 ++++----------- core/actor-core/pom.xml | 4 +- core/cassandra-utils/pom.xml | 2 +- core/notification-utils/pom.xml | 2 +- core/platform-common/pom.xml | 22 ++-- .../main/java/org/sunbird/keys/JsonKey.java | 4 +- .../sunbird/operations/ActorOperations.java | 1 + .../org/sunbird/util/CloudStorageUtil.java | 12 +- .../java/org/sunbird/util/ProjectUtil.java | 38 ++---- .../resources/externalresource.properties | 5 +- .../org/sunbird/util/ProjectUtilTest.java | 2 - helm/learner/templates/configmap.yaml | 13 -- helm/learner/values.yaml | 5 - pom.xml | 6 +- .../org/sunbird/util/DataCacheHandler.java | 13 +- .../organisation/OrgManagementActorTest.java | 6 +- .../actor/user/CheckUserExistActorTest.java | 7 +- .../actor/user/TenantMigrationActorTest.java | 22 ++-- .../resources/externalresource.properties | 112 ++++++++++++++++++ setup.md | 2 +- 26 files changed, 209 insertions(+), 186 deletions(-) create mode 100644 service/src/test/resources/externalresource.properties diff --git a/.circleci/config.yml b/.circleci/config.yml index db987e5c40..62ff1e9373 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ jobs: - checkout - restore_cache: key: userorg-dependency-cache-{{ checksum "pom.xml" }} - - run: mvn clean install + - run: mvn clean install -DCLOUD_STORE_GROUP_ID=$CLOUD_STORE_GROUP_ID -DCLOUD_STORE_ARTIFACT_ID=$CLOUD_STORE_ARTIFACT_ID -DCLOUD_STORE_VERSION=$CLOUD_STORE_VERSION - run: cd controller && mvn play2:dist - save_cache: key: userorg-dependency-cache-{{ checksum "pom.xml" }} diff --git a/Dockerfile.Build b/Dockerfile.Build index febcdfbece..1bb3764d49 100644 --- a/Dockerfile.Build +++ b/Dockerfile.Build @@ -10,6 +10,6 @@ ENV M2_HOME /opt/apache-maven-3.3.9 ENV PATH ${M2_HOME}/bin:${PATH} COPY userorg /opt/userorg/ WORKDIR /opt/userorg/services -RUN mvn clean install -DskipTests +RUN mvn clean install -DskipTests -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6 WORKDIR /opt/userorg/services/userorg-service CMD ["mvn", "play2:dist"] \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 698c9a1386..b09b4fc5e3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,12 +26,12 @@ node('build-slave') { env.NODE_ENV = "build" print "Environment will be : ${env.NODE_ENV}" sh 'git log -1' - sh 'mvn clean install -U -DskipTests=true ' + sh "mvn clean install -DskipTests=true -DCLOUD_STORE_GROUP_ID=${params.cloud_store_group_id} -DCLOUD_STORE_ARTIFACT_ID=${params.cloud_store_artifact_id} -DCLOUD_STORE_VERSION=${params.cloud_store_version}" } - stage('Unit Tests') { - sh "mvn clean install '-Dtest=!%regex[io.opensaber.registry.client.*]' -DfailIfNoTests=false" - } + /* stage('Unit Tests') { + sh "mvn clean install '-Dtest=!%regex[io.opensaber.registry.client.*]' -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6" + } */ stage('Package') { dir('controller') { sh 'mvn play2:dist' diff --git a/README.md b/README.md index 1cd5306adc..3adf2aab7b 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ git clone https://github.com/Sunbird-Lern/sunbird-lms-service.git 3. Build the application using the following maven command in the path `/sunbird-lms-service`: ```shell -mvn clean install -DskipTests +mvn clean install -DskipTests -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6 ``` Make sure the build is successful before proceeding to the next step. If the build is not successful, fix any configuration issues and rebuild the application. diff --git a/auto_build_deploy b/auto_build_deploy index 639e29b7f8..579067d9b6 100644 --- a/auto_build_deploy +++ b/auto_build_deploy @@ -28,7 +28,7 @@ node('build-slave') { // stage Build env.NODE_ENV = "build" - sh 'mvn clean install -U -DskipTests=false ' + sh "mvn clean install -U -DskipTests=false -DCLOUD_STORE_GROUP_ID=${params.cloud_store_group_id} -DCLOUD_STORE_ARTIFACT_ID=${params.cloud_store_artifact_id} -DCLOUD_STORE_VERSION=${params.cloud_store_version}" // stage Package dir('controller') { diff --git a/controller/pom.xml b/controller/pom.xml index ba0d5c375b..c77c31ef05 100644 --- a/controller/pom.xml +++ b/controller/pom.xml @@ -47,7 +47,7 @@ com.fasterxml.jackson.core jackson-databind - 2.10.1 + 2.10.5.1 @@ -96,7 +96,7 @@ com.typesafe.play play-netty-server_2.11 - 2.7.2 + ${play2.version} runtime diff --git a/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java b/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java index 157a89a225..65f83c379d 100644 --- a/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java +++ b/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java @@ -8,7 +8,6 @@ import akka.stream.javadsl.Source; import akka.util.ByteString; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import controllers.BaseApplicationTest; import controllers.DummyActor; import java.io.File; @@ -20,7 +19,6 @@ import java.util.HashMap; import java.util.Map; import modules.OnRequestHandler; -import org.apache.commons.lang3.StringUtils; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; @@ -29,9 +27,6 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.sunbird.exception.ResponseCode; import org.sunbird.keys.JsonKey; -import org.sunbird.response.Response; -import org.sunbird.response.ResponseParams; -import play.libs.Json; import play.mvc.Http; import play.mvc.Result; import play.test.Helpers; @@ -63,7 +58,7 @@ public void testCreateOrgSuccess() { "POST", createOrUpdateOrganisationRequest(orgName, null, false, null, null)); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -73,7 +68,7 @@ public void testCreateSubOrgWithLicenseSuccess() { ((Map) reqMap.get(JsonKey.REQUEST)).put(JsonKey.LICENSE, "Test MIT license"); Result result = performTest("/v1/org/create", "POST", reqMap); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -83,7 +78,7 @@ public void testCreateRootOrgWithLicenseSuccess() { ((Map) reqMap.get(JsonKey.REQUEST)).put(JsonKey.LICENSE, "Test MIT license"); Result result = performTest("/v1/org/create", "POST", reqMap); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -93,7 +88,7 @@ public void testCreateRootOrgWithLicenseEmptyFailure() { ((Map) reqMap.get(JsonKey.REQUEST)).put(JsonKey.LICENSE, ""); Result result = performTest("/v1/org/create", "POST", reqMap); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test @@ -104,7 +99,7 @@ public void testCreateOrgFailureWithoutOrgName() { "POST", createOrUpdateOrganisationRequest(null, null, false, null, null)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test @@ -115,7 +110,7 @@ public void testCreateOrgFailureWithRootOrgWithoutChannel() { "POST", createOrUpdateOrganisationRequest(orgName, null, true, rootOrgId, null)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test @@ -126,7 +121,7 @@ public void testUpdateOrgSuccess() { "PATCH", createOrUpdateOrganisationRequest(null, orgId, false, rootOrgId, null)); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -137,7 +132,7 @@ public void testUpdateOrgFailureWithoutOrgId() { "PATCH", createOrUpdateOrganisationRequest(null, null, false, rootOrgId, null)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test @@ -148,7 +143,7 @@ public void testUpdateOrgStatusSuccess() { "PATCH", createOrUpdateOrganisationRequest(null, orgId, false, null, status)); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -159,21 +154,21 @@ public void testUpdateOrgStatusFailureWithoutOrgId() { "PATCH", createOrUpdateOrganisationRequest(null, null, false, null, status)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test public void testGetOrgDetailsSuccess() { Result result = performTest("/v1/org/read", "POST", getOrganisationRequest(orgId, status)); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test public void testGetOrgDetailsFailureWithoutOrgId() { Result result = performTest("/v1/org/read", "POST", getOrganisationRequest(null, status)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test @@ -181,7 +176,7 @@ public void testSearchOrgSuccess() { Result result = performTest("/v1/org/search", "POST", searchOrganisationRequest(status, new HashMap<>())); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test @@ -189,21 +184,22 @@ public void testSearchOrgV2Success() { Result result = performTest("/v2/org/search", "POST", searchOrganisationRequest(status, new HashMap<>())); assertEquals(getResponseCode(result), ResponseCode.SUCCESS.name()); - assertTrue(getResponseStatus(result) == 200); + assertEquals(200, getResponseStatus(result)); } @Test public void testSearchOrgFailureWithoutFilters() { Result result = performTest("/v1/org/search", "POST", searchOrganisationRequest(status, null)); assertEquals(getResponseCode(result), ResponseCode.CLIENT_ERROR.name()); - assertTrue(getResponseStatus(result) == 400); + assertEquals(400, getResponseStatus(result)); } @Test public void testAddEncyptionKeyPublicPem() throws IOException { + String controllerPath = (Paths.get("").toAbsolutePath().toString().endsWith("controller"))?Paths.get("").toAbsolutePath().toString():Paths.get("").toAbsolutePath().toString()+File.separator +"controller"; File file = new File( - Paths.get("").toAbsolutePath() + File.separator + "test/resources/samplepublic.pem"); + controllerPath + File.separator + "test/resources/samplepublic.pem"); Http.MultipartFormData.Part> part = new Http.MultipartFormData.FilePart<>( "fileName", @@ -227,8 +223,9 @@ public void testAddEncyptionKeyPublicPem() throws IOException { @Test public void testAddEncyptionKeyPDF() throws IOException { + String controllerPath = (Paths.get("").toAbsolutePath().toString().endsWith("controller"))?Paths.get("").toAbsolutePath().toString():Paths.get("").toAbsolutePath().toString()+File.separator +"controller"; File file = - new File(Paths.get("").toAbsolutePath() + File.separator + "test/resources/sample.pdf"); + new File(controllerPath + File.separator + "test/resources/sample.pdf"); Http.MultipartFormData.Part> part = new Http.MultipartFormData.FilePart<>( "fileName", @@ -280,7 +277,7 @@ private Map createOrUpdateOrganisationRequest( innerMap.put(JsonKey.IS_TENANT, isRootOrg); innerMap.put(JsonKey.ORG_TYPE, "board"); - if (status != null) innerMap.put(JsonKey.STATUS, new Integer(status)); + if (status != null) innerMap.put(JsonKey.STATUS, Integer.valueOf(status)); requestMap.put(JsonKey.REQUEST, innerMap); @@ -292,7 +289,7 @@ private Map getOrganisationRequest(String orgId, String status) { Map innerMap = new HashMap<>(); innerMap.put(JsonKey.ORGANISATION_ID, orgId); - if (status != null) innerMap.put(JsonKey.STATUS, new Integer(status)); + if (status != null) innerMap.put(JsonKey.STATUS, Integer.valueOf(status)); requestMap.put(JsonKey.REQUEST, innerMap); @@ -304,60 +301,10 @@ private Map searchOrganisationRequest(String status, HashMap fil Map innerMap = new HashMap<>(); innerMap.put(JsonKey.FILTERS, filterMap); - if (status != null) innerMap.put(JsonKey.STATUS, new Integer(status)); + if (status != null) innerMap.put(JsonKey.STATUS, Integer.valueOf(status)); requestMap.put(JsonKey.REQUEST, innerMap); return requestMap; } - - public Result performTest(String url, String method, Map map) { - String data = mapToJson(map); - Http.RequestBuilder req; - if (StringUtils.isNotBlank(data)) { - JsonNode json = Json.parse(data); - req = new Http.RequestBuilder().bodyJson(json).uri(url).method(method); - } else { - req = new Http.RequestBuilder().uri(url).method(method); - } - // req.headers(new Http.Headers(headerMap)); - Result result = Helpers.route(application, req); - return result; - } - - public String mapToJson(Map map) { - ObjectMapper mapperObj = new ObjectMapper(); - String jsonResp = ""; - - if (map != null) { - try { - jsonResp = mapperObj.writeValueAsString(map); - } catch (IOException e) { - e.printStackTrace(); - } - } - return jsonResp; - } - - public String getResponseCode(Result result) { - String responseStr = Helpers.contentAsString(result); - ObjectMapper mapper = new ObjectMapper(); - - try { - Response response = mapper.readValue(responseStr, Response.class); - ResponseParams params = response.getParams(); - if (result.status() != 200) { - return response.getResponseCode().name(); - } else { - return params.getStatus(); - } - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - public int getResponseStatus(Result result) { - return result.status(); - } } diff --git a/core/actor-core/pom.xml b/core/actor-core/pom.xml index 45557b15eb..c0aa98090a 100644 --- a/core/actor-core/pom.xml +++ b/core/actor-core/pom.xml @@ -54,12 +54,12 @@ com.fasterxml.jackson.core jackson-core - 2.10.1 + 2.10.5 com.fasterxml.jackson.core jackson-databind - 2.10.1 + 2.10.5.1 diff --git a/core/cassandra-utils/pom.xml b/core/cassandra-utils/pom.xml index 7c6ba6fd93..32564d93cb 100644 --- a/core/cassandra-utils/pom.xml +++ b/core/cassandra-utils/pom.xml @@ -54,7 +54,7 @@ com.fasterxml.jackson.core jackson-databind - 2.10.1 + 2.10.5.1 org.sunbird diff --git a/core/notification-utils/pom.xml b/core/notification-utils/pom.xml index f1e7c9f9cc..eb7c8e20af 100644 --- a/core/notification-utils/pom.xml +++ b/core/notification-utils/pom.xml @@ -53,7 +53,7 @@ com.fasterxml.jackson.core jackson-databind - 2.9.5 + 2.10.5.1 org.sunbird diff --git a/core/platform-common/pom.xml b/core/platform-common/pom.xml index 01d7b5acf3..2ec6b90ad3 100644 --- a/core/platform-common/pom.xml +++ b/core/platform-common/pom.xml @@ -20,6 +20,10 @@ 11 UTF-8 2.5.19 + 2.7.2 + org.sunbird + cloud-store-sdk + 1.4.6 @@ -32,7 +36,7 @@ org.jboss.resteasy resteasy-jackson2-provider - 3.1.3.Final + 3.15.6.Final com.fasterxml.jackson.core @@ -47,17 +51,17 @@ com.fasterxml.jackson.core jackson-core - 2.10.1 + 2.10.5 com.fasterxml.jackson.core jackson-databind - 2.10.1 + 2.10.5.1 com.fasterxml.jackson.core jackson-annotations - 2.10.1 + 2.10.5 com.typesafe.akka @@ -112,9 +116,9 @@ 7.0.1 - org.sunbird - cloud-store-sdk - 1.4.4 + ${CLOUD_STORE_GROUP_ID} + ${CLOUD_STORE_ARTIFACT_ID} + ${CLOUD_STORE_VERSION} com.sun.jersey @@ -145,7 +149,7 @@ org.apache.kafka kafka-clients - 0.10.0.1 + 0.10.2.2 org.jboss.resteasy @@ -195,7 +199,7 @@ com.typesafe.play play_2.11 - 2.7.2 + ${play2.version} compile diff --git a/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java b/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java index af1a3d652f..c4ab7bf5aa 100644 --- a/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java +++ b/core/platform-common/src/main/java/org/sunbird/keys/JsonKey.java @@ -16,6 +16,8 @@ public final class JsonKey { public static final String IS_FORM_VALIDATION_REQUIRED = "isFormValidationRequired"; public static final String USER_PROFILE_CONFIG_MAP = "userProfileConfigMap"; public static final String ACCOUNT_NAME = "sunbird_account_name"; + + public static final String ACCOUNT_ENDPOINT = "sunbird_account_endpoint"; public static final String DOWNLOAD_LINK_EXPIRY_TIMEOUT = "download_link_expiry_timeout"; public static final String ACTION_GROUP = "action_group"; public static final String ACTION_GROUPS = "actionGroups"; @@ -412,8 +414,6 @@ public final class JsonKey { public static final String SUNBIRD_GZIP_ENABLE = "sunbird_gzip_enable"; public static final String SUNBIRD_SYNC_READ_WAIT_TIME = "sunbird_sync_read_wait_time"; public static final String SUNBIRD_GZIP_SIZE_THRESHOLD = "sunbird_gzip_size_threshold"; - public static final String ANALYTICS_ACCOUNT_NAME = "sunbird_analytics_blob_account_name"; - public static final String ANALYTICS_ACCOUNT_KEY = "sunbird_analytics_blob_account_key"; public static final String SIGNUP_TYPE = "signupType"; public static final String REQUEST_SOURCE = "source"; diff --git a/core/platform-common/src/main/java/org/sunbird/operations/ActorOperations.java b/core/platform-common/src/main/java/org/sunbird/operations/ActorOperations.java index ae578fb9af..728d71d3fb 100644 --- a/core/platform-common/src/main/java/org/sunbird/operations/ActorOperations.java +++ b/core/platform-common/src/main/java/org/sunbird/operations/ActorOperations.java @@ -12,6 +12,7 @@ * @author Manzarul */ public enum ActorOperations { + CREATE_USER("createUser", "USRCRT"), CREATE_SSO_USER("createSSOUser", "USRCRT"), diff --git a/core/platform-common/src/main/java/org/sunbird/util/CloudStorageUtil.java b/core/platform-common/src/main/java/org/sunbird/util/CloudStorageUtil.java index 5e67ffcf8d..b9e8b1ea4a 100644 --- a/core/platform-common/src/main/java/org/sunbird/util/CloudStorageUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/util/CloudStorageUtil.java @@ -36,16 +36,22 @@ public static void deleteFile(String storageType, String container, String objec private static IStorageService getStorageService(String storageType) { String storageKey = PropertiesCache.getInstance().getProperty(JsonKey.ACCOUNT_NAME); String storageSecret = PropertiesCache.getInstance().getProperty(JsonKey.ACCOUNT_KEY); - return getStorageService(storageType, storageKey, storageSecret); + scala.Option storageEndpoint = scala.Option.apply(PropertiesCache.getInstance().getProperty(JsonKey.ACCOUNT_ENDPOINT)); + scala.Option storageRegion = scala.Option.apply(""); + return getStorageService(storageType, storageKey, storageSecret,storageEndpoint,storageRegion); } - private static IStorageService getStorageService(String storageType, String storageKey, String storageSecret) { + + private static IStorageService getStorageService( + String storageType, String storageKey, String storageSecret,scala.Option storageEndpoint, scala.Option storageRegion ) { String compositeKey = storageType + "-" + storageKey; if (storageServiceMap.containsKey(compositeKey)) { return storageServiceMap.get(compositeKey); } synchronized (CloudStorageUtil.class) { - StorageConfig storageConfig = new StorageConfig(storageType, storageKey, storageSecret); + + StorageConfig storageConfig = + new StorageConfig(storageType, storageKey, storageSecret, storageEndpoint, storageRegion); IStorageService storageService = StorageServiceFactory.getStorageService(storageConfig); storageServiceMap.put(compositeKey, storageService); } diff --git a/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java b/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java index c5a118e065..156d5fd4a4 100644 --- a/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java +++ b/core/platform-common/src/main/java/org/sunbird/util/ProjectUtil.java @@ -4,20 +4,6 @@ import com.google.i18n.phonenumbers.NumberParseException; import com.google.i18n.phonenumbers.PhoneNumberUtil; import com.google.i18n.phonenumbers.Phonenumber; -import java.io.IOException; -import java.text.MessageFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.UUID; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; import org.apache.velocity.VelocityContext; import org.sunbird.exception.ProjectCommonException; @@ -27,6 +13,15 @@ import org.sunbird.request.Request; import org.sunbird.request.RequestContext; +import java.io.IOException; +import java.text.MessageFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * This class will contains all the common utility methods. * @@ -288,21 +283,6 @@ public static SimpleDateFormat getDateFormatter() { return simpleDateFormat; } - /** @author Manzarul */ - public enum AzureContainer { - userProfileImg("userprofileimg"), - orgImage("orgimg"); - private String name; - - private AzureContainer(String name) { - this.name = name; - } - - public String getName() { - return name; - } - } - public static VelocityContext getContext(Map map) { propertiesCache = PropertiesCache.getInstance(); VelocityContext context = new VelocityContext(); diff --git a/core/platform-common/src/main/resources/externalresource.properties b/core/platform-common/src/main/resources/externalresource.properties index 1f7da65c4c..27f55802bd 100644 --- a/core/platform-common/src/main/resources/externalresource.properties +++ b/core/platform-common/src/main/resources/externalresource.properties @@ -61,8 +61,6 @@ sunbird_rate_limit_enabled=true sunbird_health_check_enable=true sunbird_sync_read_wait_time=1500 sunbird_gzip_size_threshold=262144 -sunbird_analytics_blob_account_name= -sunbird_analytics_blob_account_key= kafka_urls=localhost:9092 sunbird_fuzzy_search_threshold=0.5 sunbird_state_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212938260643843.png @@ -110,5 +108,4 @@ channel_registration_disabled=false sunbird_password_reset_login_page_url=/resources isFormValidationRequired=true userProfileConfigMap={\"type\":\"profileconfig\",\"subtype\":\"28\",\"action\":\"get\",\"component\":\"*\",\"framework\":\"*\",\"data\":{\"templateName\":\"profileConfig_v2\",\"action\":\"get\",\"fields\":[{\"code\":\"persona\",\"children\":{\"administrator\":[{\"code\":\"district\"},{\"code\":\"state\"},{\"code\":\"subPersona\",\"type\":\"select\",\"default\":null,\"templateOptions\":{\"options\":[{\"label\":\"Headmaster\",\"value\":\"hm\"},{\"label\":\"Cluster Resource Person\",\"value\":\"crp\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"teacher\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"student\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"parent\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"other\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"subPersona\",\"templateOptions\":{\"options\":[{\"value\":\"Doctor (Allopathy)\",\"label\":\"Doctor (Allopathy)\"},{\"value\":\"AYUSH Professional\",\"label\":\"AYUSH Professional\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}]}}]},\"created_on\":\"2022-02-10T14:16:51.852Z\",\"last_modified_on\":\"2022-11-14T05:45:02.685Z\",\"rootOrgId\":\"*\"} -sunbird_cloud_service_provider=azure -sunbird_keyspace=sunbird \ No newline at end of file +sunbird_keyspace=sunbird diff --git a/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java b/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java index dc222e6a70..0787134263 100644 --- a/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java +++ b/core/platform-common/src/test/java/org/sunbird/util/ProjectUtilTest.java @@ -241,8 +241,6 @@ public void testStatusSuccess() { assertEquals(0, ProjectUtil.Status.INACTIVE.getValue()); assertFalse(ProjectUtil.ActiveStatus.INACTIVE.getValue()); assertTrue(ProjectUtil.ActiveStatus.ACTIVE.getValue()); - assertEquals("orgimg", ProjectUtil.AzureContainer.orgImage.getName()); - assertEquals("userprofileimg", ProjectUtil.AzureContainer.userProfileImg.getName()); assertEquals("username", ProjectUtil.UserLookupType.USERNAME.getType()); assertEquals("email", ProjectUtil.UserLookupType.EMAIL.getType()); diff --git a/helm/learner/templates/configmap.yaml b/helm/learner/templates/configmap.yaml index f5ab89b07d..f39a2e88c4 100644 --- a/helm/learner/templates/configmap.yaml +++ b/helm/learner/templates/configmap.yaml @@ -67,18 +67,6 @@ data: {{- printf "ERROR | %s | Please provide a value for \"cloud_public_storage_secret\"" .Chart.Name | fail }} {{- end }} - sunbird_analytics_blob_account_name: {{ if .Values.cloud_private_storage_accountname }} - {{- .Values.cloud_private_storage_accountname }} - {{- else -}} - {{- printf "ERROR | %s | Please provide a value for \"cloud_private_storage_accountname\"" .Chart.Name | fail }} - {{- end }} - - sunbird_analytics_blob_account_key: {{ if .Values.cloud_private_storage_secret }} - {{- .Values.cloud_private_storage_secret }} - {{- else -}} - {{- printf "ERROR | %s | Please provide a value for \"cloud_private_storage_secret\"" .Chart.Name | fail }} - {{- end }} - sunbird_cloud_service_provider: {{ if eq (include "common.csp.validation" .Values.cloud_service_provider) "true" }} {{- .Values.cloud_service_provider }} {{- else -}} @@ -220,7 +208,6 @@ data: sunbird_cassandra_port: {{ .Values.sunbird_cassandra_port | quote }} sunbird_cassandra_username: {{ .Values.sunbird_cassandra_username }} sunbird_cert_service_base_url: {{ .Values.sunbird_cert_service_base_url }} - sunbird_content_azure_storage_container: {{ .Values.sunbird_content_azure_storage_container }} sunbird_course_batch_notification_enabled: {{ .Values.sunbird_course_batch_notification_enabled | quote }} sunbird_course_batch_notification_signature: {{ .Values.sunbird_course_batch_notification_signature }} sunbird_cs_search_path: {{ .Values.sunbird_cs_search_path }} diff --git a/helm/learner/values.yaml b/helm/learner/values.yaml index 403a271a58..32d03df656 100644 --- a/helm/learner/values.yaml +++ b/helm/learner/values.yaml @@ -91,7 +91,6 @@ sunbird_cassandra_port: 9042 sunbird_cassandra_username: admin sunbird_cert_service_base_url: http://cert-service.lern.svc.cluster.local:9000 ## Storage bucket name where the contents are stores -sunbird_content_azure_storage_container: contents sunbird_course_batch_notification_enabled: true sunbird_course_batch_notification_signature: sunbird sunbird_cs_search_path: /v1/content/search @@ -314,10 +313,6 @@ initcontainer_resources: # sunbird_account_name: "" # sunbird_account_key: "" -## Refers to private storage bucket details -# sunbird_analytics_blob_account_name: "" -# sunbird_analytics_blob_account_key: "" - ## Uses the keycloak lms client from sunbird realm #sunbird_sso_client_id: lms #sunbird_sso_realm: sunbird \ No newline at end of file diff --git a/pom.xml b/pom.xml index c84980b4ae..468696a606 100644 --- a/pom.xml +++ b/pom.xml @@ -32,9 +32,9 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.0.0 - + 0 false @@ -55,7 +55,7 @@ org.jacoco jacoco-maven-plugin - 0.8.5 + 0.8.6 ${basedir}/target/jacoco-unit.exec ${basedir}/target/jacoco-unit.exec diff --git a/service/src/main/java/org/sunbird/util/DataCacheHandler.java b/service/src/main/java/org/sunbird/util/DataCacheHandler.java index aaa2243bd6..c70e0ca18f 100644 --- a/service/src/main/java/org/sunbird/util/DataCacheHandler.java +++ b/service/src/main/java/org/sunbird/util/DataCacheHandler.java @@ -1,15 +1,7 @@ package org.sunbird.util; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.stream.Collectors; - -import com.microsoft.azure.storage.core.Logger; import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -23,6 +15,11 @@ import org.sunbird.response.Response; import org.sunbird.service.role.RoleService; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; + /** * This class will handle the data cache. * diff --git a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java index 75ca5552aa..2b198a6a9a 100644 --- a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java +++ b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java @@ -516,11 +516,11 @@ private boolean testScenario(Request request, ResponseCode errorCode) { subject.tell(request, probe.getRef()); if (errorCode == null) { - Response res = probe.expectMsgClass(duration("100 second"), Response.class); + Response res = probe.expectMsgClass(duration("5 second"), Response.class); return null != res && res.getResponseCode() == ResponseCode.OK; } else { ProjectCommonException res = - probe.expectMsgClass(duration("100 second"), ProjectCommonException.class); + probe.expectMsgClass(ProjectCommonException.class); return res.getResponseCode().name().equals(errorCode.name()) || res.getErrorResponseCode() == errorCode.getResponseCode(); } @@ -549,7 +549,7 @@ private byte[] getFileAsBytes() { new File( Paths.get("").toAbsolutePath() + File.separator - + "src/test/resources/samplepublic.pem"); + + "service/src/test/resources/samplepublic.pem"); Path path = Paths.get(file.getPath()); bytes = Files.readAllBytes(path); } catch (Exception e) { diff --git a/service/src/test/java/org/sunbird/actor/user/CheckUserExistActorTest.java b/service/src/test/java/org/sunbird/actor/user/CheckUserExistActorTest.java index 2a20cd6c75..bdc475b518 100644 --- a/service/src/test/java/org/sunbird/actor/user/CheckUserExistActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/CheckUserExistActorTest.java @@ -43,6 +43,7 @@ ServiceFactory.class, EsClientFactory.class, ElasticSearchRestHighImpl.class, + CassandraOperationImpl.class, UserService.class, UserServiceImpl.class }) @@ -150,12 +151,12 @@ private boolean testScenario(Request reqObj, ResponseCode errorCode) { ActorRef subject = system.actorOf(props); subject.tell(reqObj, probe.getRef()); if (errorCode == null) { - Response res = probe.expectMsgClass(duration("10 second"), Response.class); + Response res = probe.expectMsgClass(duration("100 second"), Response.class); return null != res && res.getResponseCode() == ResponseCode.OK; } else { ProjectCommonException res = - probe.expectMsgClass(duration("10 second"), ProjectCommonException.class); + probe.expectMsgClass(duration("100 second"), ProjectCommonException.class); return res.getErrorCode().equals(errorCode.getErrorCode()) || res.getErrorResponseCode() == errorCode.getResponseCode(); } @@ -169,7 +170,7 @@ public void testWithInvalidRequest() { request.setOperation("invalidOperation"); subject.tell(request, probe.getRef()); ProjectCommonException exception = - probe.expectMsgClass(duration("10 second"), ProjectCommonException.class); + probe.expectMsgClass(duration("100 second"), ProjectCommonException.class); Assert.assertNotNull(exception); } } diff --git a/service/src/test/java/org/sunbird/actor/user/TenantMigrationActorTest.java b/service/src/test/java/org/sunbird/actor/user/TenantMigrationActorTest.java index 57c05a4391..dbf5b8cdec 100644 --- a/service/src/test/java/org/sunbird/actor/user/TenantMigrationActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/TenantMigrationActorTest.java @@ -1,17 +1,10 @@ package org.sunbird.actor.user; -import static akka.testkit.JavaTestKit.duration; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.actor.Props; import akka.dispatch.Futures; import akka.testkit.javadsl.TestKit; -import java.util.*; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -43,6 +36,13 @@ import org.sunbird.util.ProjectUtil; import scala.concurrent.Promise; +import java.util.*; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.powermock.api.mockito.PowerMockito.mock; +import static org.powermock.api.mockito.PowerMockito.when; + @RunWith(PowerMockRunner.class) @PrepareForTest({ ServiceFactory.class, @@ -216,11 +216,10 @@ public boolean testScenario(Request reqObj, ResponseCode errorCode, Props props) ActorRef subject = system.actorOf(props); subject.tell(reqObj, probe.getRef()); if (errorCode == null) { - Response res = probe.expectMsgClass(duration("100 second"), Response.class); + Response res = probe.expectMsgClass(Response.class); return null != res && res.getResponseCode() == ResponseCode.OK; } else { - ProjectCommonException res = - probe.expectMsgClass(duration("100 second"), ProjectCommonException.class); + ProjectCommonException res = probe.expectMsgClass(ProjectCommonException.class); return res.getResponseCode().name().equals(errorCode.name()) || res.getErrorResponseCode() == errorCode.getResponseCode(); } @@ -284,8 +283,7 @@ public void testWithInvalidRequest() { Request request = new Request(); request.setOperation("invalidOperation"); subject.tell(request, probe.getRef()); - ProjectCommonException exception = - probe.expectMsgClass(duration("10 second"), ProjectCommonException.class); + ProjectCommonException exception = probe.expectMsgClass(ProjectCommonException.class); Assert.assertNotNull(exception); } diff --git a/service/src/test/resources/externalresource.properties b/service/src/test/resources/externalresource.properties new file mode 100644 index 0000000000..97112d3c4b --- /dev/null +++ b/service/src/test/resources/externalresource.properties @@ -0,0 +1,112 @@ +sunbird_authorization= +ekstep.tag.api.url=/tag/register +sunbird_installation=sunbird +sunbird_analytics_api_base_url=http://analytics-service:9000 +sunbird_mail_server_host= +sunbird_mail_server_port= +sunbird_mail_server_username= +sunbird_mail_server_password= +sunbird_mail_server_from_email=support@open-sunbird.org +sunbird_username_num_digits=4 +sunbird_account_name= +sunbird_account_key= +download_link_expiry_timeout=300 +sunbird_encryption_key=SunBird +sunbird_encryption=ON +sunbird_allowed_login=You can use your cellphone number to login +#size of bulk upload data is 1001 including header in csv file +sunbird_user_bulk_upload_size=1001 +bulk_upload_org_data_size=300 +sunbird_web_url=https://dev.sunbirded.org +sunbird_framework_read_api=/v1/framework/read +fcm.url=https://fcm.googleapis.com/fcm/send +sunbird_default_country_code=+91 +#put the default evn logo url here or System Env variable with +#same key. code will first search from EVN then here. +sunbird_env_logo_url=http://via.placeholder.com/100x50 +system_settings_properties=phoneUnique,emailUnique +sunbird_default_welcome_sms=Welcome to DIKSHA. +sunbird_url_shortner_base_url=https://api-ssl.bitly.com/v3/shorten?access_token= +sunbird_url_shortner_access_token= +sunbird_content_service_api_base_url=http://content-service:9000 +sunbird.channel.create.api.url=/channel/v3/create +sunbird.channel.update.api.url=/channel/v3/update +sunbird_otp_allowed_attempt=2 + +#Telemetry producer related info +telemetry_pdata_id=local.sunbird.learning.service +telemetry_pdata_pid=learning-service +telemetry_pdata_ver=5.3.0 +#elastic search top n result count for telemetry +searchTopN=5 +sunbird_valid_location_types=state,district,block,cluster,school; +# Bulk upload file max size in MB +file_upload_max_size=10 +sunbird_default_channel= +# Batch size for cassandra batch operation +cassandra_write_batch_size=100 +sunbird_sso_client_id= +sunbird_sso_username= +sunbird_sso_password= +sunbird_sso_url= +sunbird_sso_realm= +sunbird_keycloak_required_action_link_expiration_seconds=155520000 +sunbird_url_shortner_enable=false +sunbird_api_request_lower_case_fields=source,externalId,userName,provider,loginId,email,prevUsedEmail +sunbird_otp_expiration=1800 +sunbird_otp_length=6 +sunbird_otp_hour_rate_limit=5 +sunbird_otp_day_rate_limit=20 +sunbird_rate_limit_enabled=true +sunbird_health_check_enable=true +sunbird_sync_read_wait_time=1500 +sunbird_gzip_size_threshold=262144 +kafka_urls=localhost:9092 +sunbird_fuzzy_search_threshold=0.5 +sunbird_state_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212938260643843.png +sunbird_diksha_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212989820190722.png +sunbird_cert_completion_img_url=https://sunbirddev.blob.core.windows.net/orgemailtemplate/img/File-0128212919987568641.png +sunbird_reset_pass_msg=Your have requested to reset password. Click on the link to set a password: {0} +sunbird_reset_pass_mail_subject=Reset Password +sunbird_subdomain_keycloak_base_url=https://merge.dev.sunbirded.org/auth/ +kafka_linger_ms=5 +sunbird_user_upload_error_visualization_threshold=20001 +migrate_user_template=You can now access your {0} state teacher account using {1}. Please log out and login once again to see updated details. +sunbird_account_merge_subject=Account merged successfully +sunbird_pass_regex=(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!\"#$%&'()*+,-./:;<=>?@\\[\\]^_`{|}~])(?=\\S+$).{8,} +sunbird_user_create_sync_type=ES +sunbird_user_create_sync_topic=local.user.events +sigterm_stop_delay=40 +limit_managed_user_creation=true +managed_user_limit=30 +adminutil_base_url = http://adminutil:4000/ +adminutil_sign_endpoint = v1/sign/payload +self_declared_mandatory_fields = Diksha UUID,Status,State provided ext. ID,Channel,Persona +self_declared_optional_fields = School Name,School UDISE ID,Email ID,Phone number,Error Type +enable_captcha=true +consent_expiry_in_days=100 +feed_limit=30 +learner_in_memory_cache_ttl=14400 +#alias is actually referring the user and org index so no need to mention separately +user_index_alias=user_alias +org_index_alias=org_alias +#Release 5.4.0 LR-102 +es_user_notes_index=usernotes +es_location_index=location +es_user_feed_index=userfeed +defaultMonthDate = -12-31 +nic_sms_gateway_provider_base_url=https://smsgw.sms.gov.in/failsafe/HttpLink +sms_gateway_provider=91SMS +stacktrace_char_length=2500 +notification_service_base_url= +notification_service_v2_send_url=/private/v2/notification/send +notification_service_v1_update_url=/private/v1/notification/feed/update +notification_service_v1_read_url=/private/v1/notification/feed/read +notification_service_v1_delete_url=/private/v1/notification/feed/delete +channel_registration_disabled=false +#Login Page URL used as redirect URL in Password set / reset action. This will be suffixed with sunbird_web_url value. +sunbird_password_reset_login_page_url=/resources +isFormValidationRequired=true +userProfileConfigMap={\"type\":\"profileconfig\",\"subtype\":\"28\",\"action\":\"get\",\"component\":\"*\",\"framework\":\"*\",\"data\":{\"templateName\":\"profileConfig_v2\",\"action\":\"get\",\"fields\":[{\"code\":\"persona\",\"children\":{\"administrator\":[{\"code\":\"district\"},{\"code\":\"state\"},{\"code\":\"subPersona\",\"type\":\"select\",\"default\":null,\"templateOptions\":{\"options\":[{\"label\":\"Headmaster\",\"value\":\"hm\"},{\"label\":\"Cluster Resource Person\",\"value\":\"crp\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"teacher\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"student\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"parent\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}],\"other\":[{\"code\":\"state\"},{\"code\":\"district\"},{\"code\":\"subPersona\",\"templateOptions\":{\"options\":[{\"value\":\"Doctor (Allopathy)\",\"label\":\"Doctor (Allopathy)\"},{\"value\":\"AYUSH Professional\",\"label\":\"AYUSH Professional\"}]}},{\"code\":\"block\"},{\"code\":\"cluster\"},{\"code\":\"school\"}]}}]},\"created_on\":\"2022-02-10T14:16:51.852Z\",\"last_modified_on\":\"2022-11-14T05:45:02.685Z\",\"rootOrgId\":\"*\"} +sunbird_keyspace=sunbird +sunbird_cloud_service_provider=azure \ No newline at end of file diff --git a/setup.md b/setup.md index 174bf1cc62..341f2abe3c 100644 --- a/setup.md +++ b/setup.md @@ -78,7 +78,7 @@ ## Build 1. Run "git submodule foreach git pull origin master" to pull the latest sunbird-common submodule. -2. Run "mvn clean install" to build the services. +2. Run "mvn clean install -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6" to build the services. 2. Go to "controller" and run the command "mvn play2:dist" to generate the dist file for controller. 3. The build file "controller-1.0-SNAPSHOT-dist.zip" is generated in "userorg-service/controller/target" folder. From 7da954e8a6c2d1bb2342a6be3d14298437ffddf9 Mon Sep 17 00:00:00 2001 From: Jayaprakash8887 Date: Thu, 10 Aug 2023 15:19:15 +0530 Subject: [PATCH 5/9] Issue #LR-203 debug: Keycloak Service debug (#1216) * Issue #LR-203 debug: Keycloak Service debug * Issue #LR-203 debug: Keycloak Service debug --------- Co-authored-by: Jayaprakash8887 --- .../org/sunbird/sso/impl/KeyCloakServiceImpl.java | 7 +++++++ .../service/user/UserProfileReadServiceTest.java | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java index 9230501628..a410ae136f 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java @@ -148,12 +148,19 @@ private void makeUserActiveOrInactive(String userId, boolean status, RequestCont logger.info(context, "makeUserActiveOrInactive: fedration id formed: " + fedUserId); validateUserId(fedUserId); Keycloak keycloak = KeyCloakConnectionProvider.getConnection(); + logger.info( + context, + "makeUserActiveOrInactive: keycloak: " + + keycloak.toString() + + " || " + + keycloak.serverInfo()); UserResource resource = keycloak.realm(KeyCloakConnectionProvider.SSO_REALM).users().get(fedUserId); UserRepresentation ur = resource.toRepresentation(); ur.setEnabled(status); resource.update(ur); } catch (Exception e) { + e.printStackTrace(); logger.error( context, "makeUserActiveOrInactive:error occurred while blocking or unblocking user: ", diff --git a/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java b/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java index b05c7a12ab..e22cdcb088 100644 --- a/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java +++ b/service/src/test/java/org/sunbird/service/user/UserProfileReadServiceTest.java @@ -13,8 +13,10 @@ import java.util.Map; import org.junit.Assert; import org.junit.Before; +import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; import org.mockito.Mockito; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PowerMockIgnore; @@ -76,6 +78,7 @@ "jdk.internal.reflect.*", "javax.crypto.*" }) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) public class UserProfileReadServiceTest { private String tncConfig = @@ -337,7 +340,7 @@ public void getLockedUserProfileTest() throws JsonProcessingException { Assert.assertEquals(ex.getErrorCode(), ResponseCode.userAccountlocked.getErrorCode()); } } - + @Test public void getUserIdByExternalIdTest() { UserProfileReadService userProfileReadService = new UserProfileReadService(); @@ -345,9 +348,12 @@ public void getUserIdByExternalIdTest() { request.getContext().put(JsonKey.PROVIDER, "4578963210"); request.getContext().put(JsonKey.ID_TYPE, "4578963210"); PowerMockito.mockStatic(UserExternalIdentityServiceImpl.class); - UserExternalIdentityServiceImpl userExternalIdentityService = PowerMockito.mock(UserExternalIdentityServiceImpl.class); + UserExternalIdentityServiceImpl userExternalIdentityService = + PowerMockito.mock(UserExternalIdentityServiceImpl.class); when(UserExternalIdentityServiceImpl.getInstance()).thenReturn(userExternalIdentityService); - when(userExternalIdentityService.getUserV1(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any())).thenReturn(""); + when(userExternalIdentityService.getUserV1( + Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any())) + .thenReturn(""); try { userProfileReadService.getUserProfileData(request); } catch (ProjectCommonException ex) { From 82915113e93c31b74e64e49f89f699e62b830668 Mon Sep 17 00:00:00 2001 From: Jayaprakash8887 Date: Thu, 10 Aug 2023 16:25:52 +0530 Subject: [PATCH 6/9] Issue #LR-203 debug: Keycloak Service debug (#1217) * Issue #LR-203 debug: Keycloak Service debug * Issue #LR-203 debug: Keycloak Service debug * Issue #LR-203 debug: Keycloak Service debug * Issue #LR-203 debug: Keycloak Service debug --------- Co-authored-by: Jayaprakash8887 --- .../java/org/sunbird/sso/impl/KeyCloakServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java index a410ae136f..a1b770b453 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java @@ -148,6 +148,12 @@ private void makeUserActiveOrInactive(String userId, boolean status, RequestCont logger.info(context, "makeUserActiveOrInactive: fedration id formed: " + fedUserId); validateUserId(fedUserId); Keycloak keycloak = KeyCloakConnectionProvider.getConnection(); + logger.info( + context, + "makeUserActiveOrInactive: keycloak: " + + keycloak.toString() + + " || " + + keycloak.serverInfo()); logger.info( context, "makeUserActiveOrInactive: keycloak: " @@ -156,7 +162,9 @@ private void makeUserActiveOrInactive(String userId, boolean status, RequestCont + keycloak.serverInfo()); UserResource resource = keycloak.realm(KeyCloakConnectionProvider.SSO_REALM).users().get(fedUserId); + logger.info("makeUserActiveOrInactive: resource: " + resource.toString()); UserRepresentation ur = resource.toRepresentation(); + logger.info("makeUserActiveOrInactive: ur: " + ur.isEnabled()); ur.setEnabled(status); resource.update(ur); } catch (Exception e) { From 7b668face60d6b2cad1cb1c19c389cfe2b1a3650 Mon Sep 17 00:00:00 2001 From: Jayaprakash8887 Date: Fri, 11 Aug 2023 11:07:50 +0530 Subject: [PATCH 7/9] Issue #LR-203 debug: Keycloak Service debug (#1218) --- .../sunbird/sso/impl/KeyCloakServiceImpl.java | 16 ++++++++-------- .../java/org/sunbird/util/user/UserUtilTest.java | 3 +++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java index a1b770b453..778adcfc36 100644 --- a/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java +++ b/core/platform-common/src/main/java/org/sunbird/sso/impl/KeyCloakServiceImpl.java @@ -145,15 +145,11 @@ public String activateUser(Map request, RequestContext context) private void makeUserActiveOrInactive(String userId, boolean status, RequestContext context) { try { String fedUserId = getFederatedUserId(userId); - logger.info(context, "makeUserActiveOrInactive: fedration id formed: " + fedUserId); + logger.info(context, "makeUserActiveOrInactive: federation id formed: " + fedUserId); validateUserId(fedUserId); + logger.info(context, "makeUserActiveOrInactive: user validated: "); Keycloak keycloak = KeyCloakConnectionProvider.getConnection(); - logger.info( - context, - "makeUserActiveOrInactive: keycloak: " - + keycloak.toString() - + " || " - + keycloak.serverInfo()); + logger.info( context, "makeUserActiveOrInactive: keycloak: " @@ -168,7 +164,11 @@ private void makeUserActiveOrInactive(String userId, boolean status, RequestCont ur.setEnabled(status); resource.update(ur); } catch (Exception e) { - e.printStackTrace(); + logger.info( + "makeUserActiveOrInactive:error occurred while blocking or unblocking user: " + + e.getCause() + + " || " + + e.getMessage()); logger.error( context, "makeUserActiveOrInactive:error occurred while blocking or unblocking user: ", diff --git a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java index 285cdc1294..54f2ce1ea6 100644 --- a/service/src/test/java/org/sunbird/util/user/UserUtilTest.java +++ b/service/src/test/java/org/sunbird/util/user/UserUtilTest.java @@ -12,8 +12,10 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.junit.Assert; +import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; +import org.junit.runners.MethodSorters; import org.mockito.Mockito; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PowerMockIgnore; @@ -56,6 +58,7 @@ "jdk.internal.reflect.*", "javax.crypto.*" }) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) public class UserUtilTest { private static Response response; public static CassandraOperationImpl cassandraOperationImpl; From f676fe2851310ceff09213d467a08e557ded02ba Mon Sep 17 00:00:00 2001 From: Hari-stackroute <40484996+Hari-stackroute@users.noreply.github.com> Date: Thu, 17 Aug 2023 10:20:32 +0530 Subject: [PATCH 8/9] Issue #LR-647 merge: bug keycloak connection issue (#1219) --- core/platform-common/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/platform-common/pom.xml b/core/platform-common/pom.xml index 2ec6b90ad3..f5fc22c670 100644 --- a/core/platform-common/pom.xml +++ b/core/platform-common/pom.xml @@ -36,7 +36,7 @@ org.jboss.resteasy resteasy-jackson2-provider - 3.15.6.Final + 3.1.3.Final com.fasterxml.jackson.core From df8be05e23aed518d43ebf3729e933649e3d0dc8 Mon Sep 17 00:00:00 2001 From: Anil Gupta Date: Tue, 12 Sep 2023 12:02:11 +0530 Subject: [PATCH 9/9] Issue #LR-627 merge: From release-5.3.1 to 5.4.0 (#1224) --- .gitignore | 2 +- Jenkinsfile | 4 +-- controller/pom.xml | 2 +- .../OrganisationControllerTest.java | 24 +++++++++--------- core/es-utils/pom.xml | 2 +- .../dependency-reduced-pom.xml | 2 +- core/notification-utils/pom.xml | 2 +- core/platform-common/pom.xml | 2 +- pom.xml | 2 +- .../organisation/OrgManagementActorTest.java | 25 ++++++++++--------- 10 files changed, 34 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 7e99a28fe9..a66e8a21f2 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,4 @@ RUNNING_PID /.target/ /bin/ /logs -.vscode +.vscode/** diff --git a/Jenkinsfile b/Jenkinsfile index b09b4fc5e3..08f7c76929 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,9 +29,9 @@ node('build-slave') { sh "mvn clean install -DskipTests=true -DCLOUD_STORE_GROUP_ID=${params.cloud_store_group_id} -DCLOUD_STORE_ARTIFACT_ID=${params.cloud_store_artifact_id} -DCLOUD_STORE_VERSION=${params.cloud_store_version}" } - /* stage('Unit Tests') { + stage('Unit Tests') { sh "mvn clean install '-Dtest=!%regex[io.opensaber.registry.client.*]' -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -DCLOUD_STORE_GROUP_ID=org.sunbird -DCLOUD_STORE_ARTIFACT_ID=cloud-store-sdk -DCLOUD_STORE_VERSION=1.4.6" - } */ + } stage('Package') { dir('controller') { sh 'mvn play2:dist' diff --git a/controller/pom.xml b/controller/pom.xml index c77c31ef05..15542e2cad 100644 --- a/controller/pom.xml +++ b/controller/pom.xml @@ -212,7 +212,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java b/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java index 65f83c379d..18525c98c2 100644 --- a/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java +++ b/controller/test/controllers/organisationmanagement/OrganisationControllerTest.java @@ -1,23 +1,11 @@ package controllers.organisationmanagement; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.powermock.api.mockito.PowerMockito.when; - import akka.stream.javadsl.FileIO; import akka.stream.javadsl.Source; import akka.util.ByteString; import com.fasterxml.jackson.databind.JsonNode; import controllers.BaseApplicationTest; import controllers.DummyActor; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; import modules.OnRequestHandler; import org.junit.Before; import org.junit.Test; @@ -33,6 +21,18 @@ import util.ACTORS; import util.RequestInterceptor; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.powermock.api.mockito.PowerMockito.when; + @PrepareForTest(OnRequestHandler.class) @PowerMockIgnore({"javax.management.*", "jdk.internal.reflect.*", "javax.crypto.*"}) // @Ignore diff --git a/core/es-utils/pom.xml b/core/es-utils/pom.xml index f975e40a9d..d501570052 100644 --- a/core/es-utils/pom.xml +++ b/core/es-utils/pom.xml @@ -34,7 +34,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/core/notification-utils/dependency-reduced-pom.xml b/core/notification-utils/dependency-reduced-pom.xml index ec20fac3d2..be370caaaa 100644 --- a/core/notification-utils/dependency-reduced-pom.xml +++ b/core/notification-utils/dependency-reduced-pom.xml @@ -40,7 +40,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/core/notification-utils/pom.xml b/core/notification-utils/pom.xml index eb7c8e20af..daeacaac14 100644 --- a/core/notification-utils/pom.xml +++ b/core/notification-utils/pom.xml @@ -29,7 +29,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/core/platform-common/pom.xml b/core/platform-common/pom.xml index f5fc22c670..d6cd701690 100644 --- a/core/platform-common/pom.xml +++ b/core/platform-common/pom.xml @@ -87,7 +87,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/pom.xml b/pom.xml index 468696a606..2be0a632ab 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ junit junit - 4.12 + 4.13.1 test diff --git a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java index 2b198a6a9a..652986e860 100644 --- a/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java +++ b/service/src/test/java/org/sunbird/actor/organisation/OrgManagementActorTest.java @@ -1,23 +1,11 @@ package org.sunbird.actor.organisation; -import static akka.testkit.JavaTestKit.duration; -import static org.junit.Assert.assertTrue; -import static org.powermock.api.mockito.PowerMockito.*; - import akka.actor.ActorRef; import akka.actor.ActorSelection; import akka.actor.ActorSystem; import akka.actor.Props; import akka.dispatch.Futures; import akka.testkit.javadsl.TestKit; -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -56,6 +44,19 @@ import scala.Option; import scala.concurrent.Promise; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static akka.testkit.JavaTestKit.duration; +import static org.junit.Assert.assertTrue; +import static org.powermock.api.mockito.PowerMockito.*; + @RunWith(PowerMockRunner.class) @PrepareForTest({ ServiceFactory.class,