Added the conversion of decrypted value 84/78784/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 19 Feb 2019 22:48:46 +0000 (17:48 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 19 Feb 2019 22:49:04 +0000 (17:49 -0500)
Added jUnit test for the conversion of decrypted value to Basic
Base64Binary.
Added the conversion of decrypted value as Basic Base64Binary.

Change-Id: I361cbe3dac61df2728c9f58c314a21b3cc764a9f
Issue-ID: SO-1531
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java

index 312db9a..e3b218b 100644 (file)
@@ -110,6 +110,7 @@ import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import javax.xml.bind.DatatypeConverter;
 import java.io.IOException;
 import java.net.URL;
 import java.security.GeneralSecurityException;
@@ -1178,7 +1179,7 @@ public class ServiceInstances {
        String requestId = duplicateRecord.getRequestId();
        String path = env.getProperty("mso.camunda.rest.history.uri") + requestId;
        String targetUrl = env.getProperty("mso.camundaURL") + path;
-       HttpHeaders headers = setHeaders(env.getRequiredProperty("mso.camundaAuth"), env.getRequiredProperty("mso.msoKey")); 
+       HttpHeaders headers = setCamundaHeaders(env.getRequiredProperty("mso.camundaAuth"), env.getRequiredProperty("mso.msoKey")); 
        HttpEntity<?> requestEntity = new HttpEntity<>(headers);
        ResponseEntity<List<HistoricProcessInstanceEntity>> response = null;
        try{
@@ -1202,7 +1203,7 @@ public class ServiceInstances {
        }       
                return false;
        }
-    private HttpHeaders setHeaders(String auth, String msoKey) {
+    protected HttpHeaders setCamundaHeaders(String auth, String msoKey) {
                HttpHeaders headers = new HttpHeaders();
                List<org.springframework.http.MediaType> acceptableMediaTypes = new ArrayList<>();
                acceptableMediaTypes.add(org.springframework.http.MediaType.APPLICATION_JSON);
@@ -1210,7 +1211,7 @@ public class ServiceInstances {
                try {
                        String userCredentials = CryptoUtils.decrypt(auth, msoKey);
                        if(userCredentials != null) {
-                               headers.add(HttpHeaders.AUTHORIZATION, userCredentials);
+                               headers.add(HttpHeaders.AUTHORIZATION, "Basic " + DatatypeConverter.printBase64Binary(userCredentials.getBytes()));
                        }
         } catch(GeneralSecurityException e) {
                 msoLogger.error("Security exception", e);
index 5603ee8..83b5a49 100644 (file)
@@ -2620,4 +2620,16 @@ public class ServiceInstancesTest extends BaseTest{
        String serviceType = servInstances.getServiceType(requestScope, sir, aLaCarteFlag);
        assertEquals(serviceType, "networkModelName");
     }
+    @Test
+    public void setCamundaHeadersTest()throws ContactCamundaException, RequestDbFailureException{
+       String encryptedAuth   = "015E7ACF706C6BBF85F2079378BDD2896E226E09D13DC2784BA309E27D59AB9FAD3A5E039DF0BB8408"; // user:password
+       String key = "07a7159d3bf51a0e53be7a8f89699be7";
+       HttpHeaders headers = servInstances.setCamundaHeaders(encryptedAuth, key);
+       List<org.springframework.http.MediaType> acceptedType = headers.getAccept();
+       String expectedAcceptedType = "application/json";
+       assertEquals(expectedAcceptedType, acceptedType.get(0).toString());
+       String basicAuth = headers.getFirst(HttpHeaders.AUTHORIZATION);
+       String expectedBasicAuth = "Basic dXNlcjpwYXNzd29yZA==";        
+       assertEquals(expectedBasicAuth, basicAuth);
+    }  
 }