nexus site path corrected
[portal.git] / ecomp-portal-BE / src / test / java / org / openecomp / portalapp / portal / controller / SharedContextRestControllerTest.java
1 package org.openecomp.portalapp.portal.controller;
2
3 import java.io.IOException;
4 import java.util.HashMap;
5 import java.util.Map;
6 import java.util.UUID;
7
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10 import org.junit.Assert;
11
12 import com.fasterxml.jackson.databind.ObjectMapper;
13
14 /**
15  * Tests the endpoints exposed by the Shared Context REST controller in Portal
16  * Core.
17  * 
18  * @author clott
19  */
20 public class SharedContextRestControllerTest {
21
22         private final Log logger = LogFactory.getLog(getClass());
23
24         private final SharedContextTestProperties properties;
25
26         private final String ckey = "ckey";
27         private final String cvalue = "cvalue";
28         
29         // Supposed to be a Portal session ID
30         private final String cxid = UUID.randomUUID().toString();
31
32         private final String key = "key123";
33         private final String value1 = "first value";
34         private final String value2 = "second value";
35
36         public SharedContextRestControllerTest() throws IOException {
37                 properties = new SharedContextTestProperties();
38         }
39
40         @SuppressWarnings("unchecked")
41         //@Test
42         public void test() throws Exception {
43                 String response = null, val = null;
44                 ObjectMapper mapper = new ObjectMapper();
45                 Map<String, Object> responseMap, jsonMap;
46
47                 logger.info("Get on empty context");
48                 response = SharedContextRestClient.getJson(properties, "get", cxid, key);
49                 // Should not exist - just generated the UUID
50                 Map<String, Object> responseMap1 = mapper.readValue(response, Map.class);
51                 response = (String) responseMap1.get("response");
52                 Assert.assertNull(response);
53
54                 logger.info("Set a new context");
55                 response = setContext(cxid, key, value1);
56                 Assert.assertNotNull(response);
57                 responseMap = mapper.readValue(response, Map.class);
58                 String responseValue = (String) responseMap.get("response");
59                 Assert.assertNotNull(responseValue);
60                 Assert.assertEquals("added", responseValue);
61
62                 logger.info("Get existing context");
63                 response = SharedContextRestClient.getJson(properties, "get", cxid, key);
64                 responseMap = mapper.readValue(response, Map.class);
65                 jsonMap = (Map<String,Object>) responseMap.get("response");
66                 Assert.assertNotNull(jsonMap);
67                 val = (String) jsonMap.get(cvalue);
68                 Assert.assertEquals(val, value1);
69
70                 logger.info("Overwrite exiting context");
71                 response = setContext(cxid, key, value2);
72                 Assert.assertNotNull(response);
73                 responseMap = mapper.readValue(response, Map.class);
74                 response = (String) responseMap.get("response");
75                 Assert.assertNotNull(responseValue);
76                 // Assert.assertEquals("replaced", responseValue);
77
78                 logger.info("Get existing context to verify overwrite");
79                 response = SharedContextRestClient.getJson(properties, "get", cxid, key);
80                 responseMap = mapper.readValue(response, Map.class);
81                 jsonMap = (Map<String,Object>) responseMap.get("response");
82                 Assert.assertNotNull(jsonMap);
83                 val = (String) jsonMap.get(cvalue);
84                 Assert.assertEquals(val, value2);
85
86                 logger.info("Delete one context");
87                 response = SharedContextRestClient.getJson(properties, "remove", cxid, key);
88                 responseMap = mapper.readValue(response, Map.class);
89                 response = (String) responseMap.get("response");
90                 Assert.assertEquals(response, "removed");
91
92                 logger.info("Clear the context");
93                 response = SharedContextRestClient.getJson(properties, "clear", cxid, null);
94                 Assert.assertEquals("", response);
95         }
96
97         private String setContext(String context, String id, String value) throws Exception {
98                 ObjectMapper mapper = new ObjectMapper();
99                 HashMap<String,String> stringMap = new HashMap<String,String>();
100                 stringMap.put("context_id", cxid);
101                 stringMap.put(ckey, key);
102                 stringMap.put(cvalue, value2);
103                 String json = mapper.writeValueAsString(stringMap);
104                 String response = SharedContextRestClient.postJson(properties, "set", json);
105                 return response;
106         }
107 }