ControllerUtil { public static SSCred readSSCredFile(String fileLocation, boolean isDelete) { File ssFile = null; log.debug("Trying to read sscred file"); try { ssFile = new File(fileLocation+"/sscred"); if (ssFile != null && ssFile.exists()) { sscred = new SSCred(); setSscred(sscred); Scanner sc = new Scanner(ssFile); while (sc.hasNextLine()) { String line = sc.nextLine(); if (line.startsWith("username:")) { ssUsername = line.substring("username:".length(), line.length()); sscred.setUsername(line.substring("username:".length(), line.length())); log.debug("Successfully read username: from sscred file"); } else if (line.startsWith("password:")) { ssPassword = line.substring("password:".length(), line.length()); sscred.setPassword(line.substring("password:".length(), line.length())); log.debug("Successfully read password: from sscred file"); } else if (line.startsWith("nclmusername:")) { nclmUsername = line.substring("nclmusername:".length(), line.length()); sscred.setNclmusername(line.substring("nclmusername:".length(), line.length())); log.debug("Successfully read nclm username: from sscred file"); } else if (line.startsWith("nclmpassword:")) { nclmPassword = line.substring("nclmpassword:".length(), line.length()); sscred.setNclmpassword(line.substring("nclmpassword:".length(), line.length())); log.debug("Successfully read nclmpassword: from sscred file"); } else if (line.startsWith("cwmToken:")) { cwmToken = line.substring("cwmToken:".length(), line.length()); sscred.setCwmToken(line.substring("cwmToken:".length(), line.length())); log.debug("Successfully read cwmToken: from sscred file"); } } sc.close(); } } catch (IOException e) { log.error(String.format("Unable to read sscred file: [%s]", e.getMessage())); } try { if (ssFile != null && ssFile.exists() && isDelete) { if (ssFile.delete()) { log.debug("Successfully deleted sscred file"); } else { log.error("Unable to get delete sscred file"); } } } catch (Exception e) { log.error(String.format("Unable to get delete sscred file: [%s]", e.getMessage())); } return sscred; }  @Autowired(required = true) void setreqProcessor(RequestProcessor reqProcessor); static RequestProcessor getReqProcessor(); static OIDCUtil getOidcUtil(); @Autowired(required = true) void setOidcUtil(OIDCUtil oidcUtil); static void recursivedeletesdb(String jsonstr,String token,  Response responseVO); static void recursiveRead(String jsonstr,String token,  Response responseVO, SafeNode safeNode); static void getFoldersAndSecrets(String jsonstr,String token,  Response responseVO, SafeNode safeNode); static Response configureLDAPUser(String userName,String policies,String groups,String token ); static Response configureUserpassUser(String userName,String policies,String token ); static Response configureLDAPGroup(String groupName,String policies,String token ); static Response configureAWSRole(String roleName,String policies,String token ); static Response configureAWSIAMRole(String roleName,String policies,String token ); static Response updateMetadata(Map<String,String> params,String token); static Response updateMetaDataOnConfigChanges(String name, String type,String currentPolicies, String latestPolicies, String token); static Response updateMetadataOnSvcUpdate(String path, ServiceAccount serviceAccount, String token); static Response updateMetadataOnSvcaccPwdReset(Map<String,String> params,String token); static Map<String,Object> parseJson(String jsonString); static String convetToJson(Map<String,Object> jsonMap); static String getPoliciesAsStringFromJson(ObjectMapper objMapper, String policyJson); static List<String> getPoliciesAsListFromJson(ObjectMapper objMapper, String policyJson); static void updateUserPolicyAssociationOnSDBDelete(String sdb,Map<String,String> acessInfo,String token, UserDetails userDetails); static void updateGroupPolicyAssociationOnSDBDelete(String sdb,Map<String,String> acessInfo,String token, UserDetails userDetails); static void updateAwsRolePolicyAssociationOnSDBDelete(String sdb,Map<String,String> acessInfo,String token); static void deleteAwsRoleOnSDBDelete(String sdb,Map<String,String> acessInfo,String token); static boolean isValidDataPath(String path); static boolean isPathValid(String path); static boolean isValidSafePath(String path); static String getSafePath(String path); static String getSafeType(String path); static String getSafeName(String path); static boolean canAddPermission(String path,String token); static boolean isValidSafe(String path,String token); static boolean areSDBInputsValid(Map<String, Object> requestParams); static boolean areSDBInputsValid(Safe safe); static boolean areSDBInputsValidForUpdate(Map<String, Object> requestParams); static boolean areSafeGroupInputsValid(Map<String,String> requestMap); static boolean areAWSRoleInputsValid(Map<String, String> requestMap); static boolean areSafeUserInputsValid(SafeUser safeUser); static boolean areSafeUserInputsValid(Map<String,Object> requestMap); static boolean areSafeGroupInputsValid(SafeGroup safeGroup); static boolean areSafeAppRoleInputsValid(Map<String,Object> requestMap); static boolean areAWSRoleInputsValid(AWSRole awsRole); static String converSDBInputsToLowerCase(String jsonStr); static void converSDBInputsToLowerCase(Safe safe); static String convertAppRoleInputsToLowerCase(String jsonstr); static String convertSafeAppRoleAccessToLowerCase(String jsonstr); static String convertAppRoleSecretIdToLowerCase(String jsonstr); static boolean isSecretKeyValid(String jsonString); static boolean areAppRoleInputsValid(String jsonstr); static boolean areAppRoleInputsValid(AppRole approle); static AppRole getAppRoleObjFromString(String jsonstr); static boolean areSecretKeysValid(String jsonString); static String addDefaultSecretKey(String jsonString); static boolean areAwsLoginInputsValid(AWSAuthType authType, AWSAuthLogin awsAuthLogin); static boolean areAWSEC2RoleInputsValid(AWSLoginRole awsLoginRole); static boolean areAWSEC2RoleInputsValid(String jsonStr); static boolean areAWSIAMRoleInputsValid(AWSIAMRole awsiamRole); static HashMap<String, List<String>> getAllExistingSafeNames(String token); static List<String> getAllExistingSafeNames(String type, String token); static int getCountOfSafesForGivenSafeName(String safeName, String token); static int getCountOfSafesForGivenSafeName(String safeName, String safeType, String token); static String generateSafePath(String safeName, String safeType); static String populateAWSMetaJson(String appRoleName, String username); static boolean createMetadata(String metadataJson, String token); static Response canDeleteRole(String roleName, String token, UserDetails userDetails, String metadataPath); static String populateAppRoleMetaJson(String appRoleName, String username); static String populateUserMetaJson(String appRoleName, String username); static SSCred readSSCredFile(String fileLocation, boolean isDelete); static String getNclmUsername(); static String getNclmPassword(); static String getCwmToken(); static String getSsUsername(); static void setSscred(SSCred sscred); static String getSsPassword(); static SSCred getSscred(); static OIDCCred readOIDCCredFile(String fileLocation, boolean isDelete); static String getOidcClientName(); static String getOidcClientId(); static String getOidcClientSecret(); static String getOidcBoundAudiences(); static String getOidcDiscoveryUrl(); static String getOidcADLoginUrl(); static OIDCCred getOidcCred(); static Response hideMasterAppRoleFromResponse(Response response); static boolean updateMetaData(String path, Map<String,String> params,String token); static boolean arecertificateGroupInputsValid(CertificateGroup certificateGroup); static boolean canAddCertPermission(String path,String certificateName,String token); static List<String> getAllExistingCertNames(String type, String token); static Response updateSslCertificateMetadata(Map<String,String> params,String token); static Response updateSslMetaDataOnConfigChanges(String name, String type,String currentPolicies, String latestPolicies, String token); static Map<String,Object> filterDuplicateSafePermissions(Map<String,Object> access); static Map<String,Object> filterDuplicateSvcaccPermissions(Map<String,Object> access); static final Logger log; }
@Test public void test_readSSCredFile() throws IOException{ File sscredFile = getSSCredFile(); boolean isDelete = true; SSCred expected = new SSCred(); expected.setUsername("c2FmZWFkbWlu"); expected.setPassword("c2FmZWFkbWlu"); SSCred actual = ControllerUtil.readSSCredFile(sscredFile.getParent(), isDelete); assertNotNull(actual); assertEquals(expected.getUsername(), actual.getUsername()); assertEquals(expected.getPassword(), actual.getPassword()); }
@Test public void test_readSSCredFile_Failure() throws IOException{ File sscredFile = getSSCredFile(); boolean isDelete = true; SSCred expected = new SSCred(); expected.setUsername("c2FmZWFkbWlu"); expected.setPassword("c2FmZWFkbWlu"); ReflectionTestUtils.setField(ControllerUtil.class,"sscred", null); SSCred actual = ControllerUtil.readSSCredFile(sscredFile.getAbsolutePath(), isDelete); assertNull(actual); }
@Test public void test_readOIDCCredFile_Failure() throws IOException{ File oidccredFile = getOIDCCredFile(); boolean isDelete = true; OIDCCred expected = new OIDCCred(); expected.setClientId("123123"); expected.setClientName("clientname1"); expected.setClientSecret("abcd123123"); expected.setBoundAudiences("defg123123"); expected.setDiscoveryUrl("https: expected.setAdLoginUrl("https: ReflectionTestUtils.setField(ControllerUtil.class,"oidcCred", null); SSCred actual = ControllerUtil.readSSCredFile(oidccredFile.getAbsolutePath(), isDelete); assertNull(actual); }