1 package org.onap.ccsdk.apps.blueprintsprocessor.selfservice.api.utils
3 import com.fasterxml.jackson.databind.ObjectMapper
4 import com.google.protobuf.ListValue
5 import com.google.protobuf.NullValue
6 import com.google.protobuf.Struct
7 import com.google.protobuf.Value
8 import com.google.protobuf.util.JsonFormat
9 import org.junit.Assert
11 import org.junit.runner.RunWith
12 import org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.Flags
13 import org.onap.ccsdk.apps.controllerblueprints.common.api.ActionIdentifiers
14 import org.onap.ccsdk.apps.controllerblueprints.common.api.CommonHeader
15 import org.onap.ccsdk.apps.controllerblueprints.common.api.Flag
16 import org.springframework.test.context.junit4.SpringRunner
17 import java.text.SimpleDateFormat
19 @RunWith(SpringRunner::class)
20 class BluePrintMappingsTest {
22 val formatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
23 val dateString = "2019-01-16T18:25:43.511Z"
24 val dateForTest = formatter.parse(dateString)
26 val flag = Flag.newBuilder().setIsForce(false).setTtl(1).build()
28 fun createFlag(): Flags {
36 fun flagToJavaTest() {
37 val flag2 = flag.toJava()
39 Assert.assertEquals(flag.isForce, flag2.isForce)
40 Assert.assertEquals(flag.ttl, flag2.ttl)
44 fun flagToProtoTest() {
45 val flag = createFlag()
46 val flag2 = flag.toProto()
48 Assert.assertEquals(flag.isForce, flag2.isForce)
49 Assert.assertEquals(flag.ttl, flag2.ttl)
52 fun createStatus(): org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.Status {
53 val status = org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.Status()
55 status.errorMessage = "Concurrent modification exception"
56 status.eventType = "Update"
57 status.message = "Error uploading data"
58 status.timestamp = dateForTest
63 fun statusToProtoTest() {
64 val status = createStatus()
65 val status2 = status.toProto()
67 Assert.assertEquals(status.code, status2.code)
68 Assert.assertEquals(status.errorMessage, status2.errorMessage)
69 Assert.assertEquals(status.eventType, status2.eventType)
70 Assert.assertEquals(status.message, status2.message)
71 Assert.assertEquals(status.timestamp.toString(), status2.timestamp)
75 fun commonHeaderToJavaTest() {
76 val flag = Flag.newBuilder().setIsForce(true).setTtl(2).build()
78 val commonHeader = CommonHeader.newBuilder().setOriginatorId("Origin").setRequestId("requestID").setSubRequestId("subRequestID").setTimestamp(dateString).setFlag(flag).build()
79 val commonHeader2 = commonHeader.toJava()
81 Assert.assertEquals(commonHeader.originatorId, commonHeader2.originatorId)
82 Assert.assertEquals(commonHeader.requestId, commonHeader2.requestId)
83 Assert.assertEquals(commonHeader.subRequestId, commonHeader2.subRequestId)
84 Assert.assertEquals(commonHeader.timestamp, formatter.format(commonHeader2.timestamp))
87 fun createCommonHeader(): org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.CommonHeader {
88 val commonHeader = org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.CommonHeader()
89 commonHeader.flags = createFlag()
90 commonHeader.originatorId = "1234"
91 commonHeader.requestId = "2345"
92 commonHeader.subRequestId = "0123"
93 commonHeader.timestamp = dateForTest
98 fun commonHeaderToProtoTest() {
99 val commonHeader = createCommonHeader()
100 val commonHeader2 = commonHeader.toProto()
101 Assert.assertEquals(commonHeader.originatorId, commonHeader2.originatorId)
102 Assert.assertEquals(commonHeader.requestId, commonHeader2.requestId)
103 Assert.assertEquals(commonHeader.subRequestId, commonHeader2.subRequestId)
104 Assert.assertEquals(commonHeader.timestamp.toString(), commonHeader2.timestamp)
108 fun actionIdentifierToJavaTest() {
109 val actionIdentifiers = ActionIdentifiers.newBuilder().setActionName("Process Action").setBlueprintName("BlueprintName").setBlueprintVersion("3.0").setMode("Execution").build()
110 val actionIdentifiers2 = actionIdentifiers.toJava()
112 Assert.assertEquals(actionIdentifiers.actionName, actionIdentifiers2.actionName)
113 Assert.assertEquals(actionIdentifiers.blueprintName, actionIdentifiers2.blueprintName)
114 Assert.assertEquals(actionIdentifiers.blueprintVersion, actionIdentifiers2.blueprintVersion)
115 Assert.assertEquals(actionIdentifiers.mode, actionIdentifiers2.mode)
118 fun createActionIdentifier(): org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ActionIdentifiers {
119 val ac = org.onap.ccsdk.apps.blueprintsprocessor.core.api.data.ActionIdentifiers()
121 ac.blueprintVersion = "version"
122 ac.blueprintName = "name"
123 ac.actionName = "action"
128 fun actionIdentifierToProtoTest() {
129 val actionIdentifiers = createActionIdentifier()
130 val actionIdentifiers2 = actionIdentifiers.toProto()
132 Assert.assertEquals(actionIdentifiers.actionName, actionIdentifiers2.actionName)
133 Assert.assertEquals(actionIdentifiers.blueprintName, actionIdentifiers2.blueprintName)
134 Assert.assertEquals(actionIdentifiers.blueprintVersion, actionIdentifiers2.blueprintVersion)
135 Assert.assertEquals(actionIdentifiers.mode, actionIdentifiers2.mode)
139 fun testStructToJava() {
140 val struct = Struct.newBuilder().putAllFields(createValues()).build()
141 val struct2 = struct.toJava()
143 val mapper = ObjectMapper()
145 Assert.assertEquals(JsonFormat.printer().print(struct).replace(" ", "").replace("\r",""),
146 mapper.writerWithDefaultPrettyPrinter().writeValueAsString(struct2).replace(" ", "").replace("\r",""))
149 fun createValues(): Map<String, Value> {
150 val map = mutableMapOf<String, Value>()
152 val boolValue = Value.newBuilder().setBoolValue(true).build()
153 val stringValue = Value.newBuilder().setStringValue("string").build()
154 val doubleValue = Value.newBuilder().setNumberValue(Double.MAX_VALUE).build()
155 val jsonValue = Value.newBuilder().setStringValue("{\"bblah\": \"bbblo\"}").build()
156 val listValue = Value.newBuilder().setListValue(ListValue.newBuilder().addValues(boolValue).addValues(boolValue).build()).build()
157 val nullValue = Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build()
159 map.put("bool", boolValue)
160 map.put("string", stringValue)
161 map.put("doublbe", doubleValue)
162 map.put("json", jsonValue)
163 map.put("list", listValue)
164 map.put("null", nullValue)
166 val structValue = Value.newBuilder().setStructValue(Struct.newBuilder().putAllFields(map).build()).build()
168 map.put("struct", structValue)