/*-
* ============LICENSE_START=======================================================
* ONAP - CCSDK
* ================================================================================
* Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
package org.onap.ccsdk.sli.plugins.yangserializers.dfserializer;
/**
* Unit test case utilities for data format serializer and restconf api call
* node.
*/
public final class DataFormatUtilsTest {
static final String ENCODE_TO_JSON_ID_COMMON = "\n \"interfaces\"" +
": " +
"{\n" +
" \"int-list\": [\n" +
" {\n" +
" \"iden\": \"optical\",\n" +
" \"available\": {\n" +
" \"ll\": [\n" +
" \"Giga\",\n" +
" \"identity-types:Loopback\",\n" +
" \"identity-types-second:Ethernet" +
"\"\n" +
" ],\n" +
" \"leaf1\": \"58\",\n" +
" \"leaf2\": \"identity-types-second:iden" +
"2\"\n" +
" }\n" +
" },\n" +
" {\n" +
" \"iden\": \"214748364\",\n" +
" \"available\": {\n" +
" \"ll\": [\n" +
" \"Giga\",\n" +
" \"identity-types:Loopback\",\n" +
" \"identity-types-second:Ethernet" +
"\"\n" +
" ],\n" +
" \"leaf1\": \"8888\",\n" +
" \"leaf2\": \"identity-types-second:ide" +
"n2\"\n" +
" }\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"interface\": \"identity-types:physical\"\n" +
" }";
static final String ENCODE_TO_JSON_ID = "{\n" +
" \"identity-test:con1\": {" + ENCODE_TO_JSON_ID_COMMON +
",\n" +
" \"identity-test:l\": \"abc\"\n" +
"}";
static final String ENCODE_TO_ANYXML = "{\n" +
" \"actionIdentifiers\": {\n" +
" \"mode\": \"sync\",\n" +
" \"blueprintName\": \"baseconfiguration\",\n" +
" \"blueprintVersion\": \"1.0.0\",\n" +
" \"actionName\": \"assign-activate\"\n" +
" },\n" +
" \"payload\": {\n" +
" \"template-prefix\": \"vDNS-test\",\n" +
" \"resource-assignment-request\": {\n" +
" \"resource-assignment-properties\": {\n" +
" \"service-instance-id\": \"1234\",\n" +
" \"vnf-id\": \"3526\",\n" +
" \"customer-name\": \"htipl\",\n" +
" \"subscriber-name\": \"huawei\"\n" +
" }\n" +
" }\n" +
" },\n" +
" \"commonHeader\": {\n" +
" \"subRequestId\": \"sub-123456-1000\",\n" +
" \"requestId\": \"123456-1000\",\n" +
" \"originatorId\": \"SDNC_DG\"\n" +
" }\n" +
"}";
static final String ENCODE_TO_JSON_ID_PUT = "{\n" +
" \"identity-test:test\": {\n" +
" \"con1\": {" + addSpace(ENCODE_TO_JSON_ID_COMMON, 4) +
",\n" +
" \"l\": \"abc\"\n" +
" }\n" +
"}";
static final String ENCODE_TO_XML_ID_COMMON = "\n \n" +
" \n" +
" optical\n" +
" \n" +
" Giga\n" +
" yangid:Loopback\n" +
" yangid:Ethernet\n" +
" 58\n" +
" yangid:iden2\n" +
" \n" +
" \n" +
" \n" +
" 214748364\n" +
" \n" +
" Giga\n" +
" yangid:Loopback\n" +
" yangid:Ethernet\n" +
" 8888\n" +
" yangid:iden2\n" +
" \n" +
" \n" +
" \n" +
" " +
"yangid:physical";
static final String ENCODE_TO_XML_ID = "\n" +
"" +
ENCODE_TO_XML_ID_COMMON + "\n\n";
static final String ENCODE_TO_XML_ID_PUT = "\n" +
"\n" +
" " + addSpace(ENCODE_TO_XML_ID_COMMON, 4)
+ "\n \n" +
"\n";
static final String ENCODE_TO_JSON_YANG_COMMON = "\n " +
"\"test-augment:ll6\": [\n" +
" \"unbounded\",\n" +
" \"8\"\n" +
" ],\n" +
" \"test-augment:cont13\": {\n" +
" \"ll9\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"list9\": [\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"leaf28\": \"abc\",\n" +
" \"cont12\": {\n" +
" \"leaf26\": \"abc\"\n" +
" }\n" +
" },\n" +
" \"test-augment:list7\": [\n" +
" {\n" +
" \"leaf14\": \"test\"\n" +
" },\n" +
" {\n" +
" \"leaf14\": \"create\"\n" +
" }\n" +
" ],\n" +
" \"test-augment:leaf15\": \"abc\",\n" +
" \"test-augment:cont5\": {\n" +
" \"leaf13\": \"true\"\n" +
" }";
static final String ENCODE_TO_JSON_YANG_AUG_POST = "{\n" +
" \"test-yang:leaf10\": \"abc\"," +
ENCODE_TO_JSON_YANG_COMMON + "\n}";
static final String ENCODE_TO_JSON_YANG = "{\n" +
" \"test-yang:cont2\": {\n" +
" \"list1\": [\n" +
" {\n" +
" \"ll1\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"leaf1\": \"true\",\n" +
" \"ll2\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"list5\": [\n" +
" {\n" +
" \"leaf9\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf9\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"leaf3\": \"abc\",\n" +
" \"leaf2\": \"abc\",\n" +
" \"list4\": [\n" +
" {\n" +
" \"leaf8\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf8\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"cont4\": {\n" +
" \"leaf11\": \"abc\"\n" +
" }\n" +
" },\n" +
" {\n" +
" \"ll1\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"leaf1\": \"true\",\n" +
" \"ll2\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"leaf3\": \"abc\",\n" +
" \"list5\": [\n" +
" {\n" +
" \"leaf9\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf9\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"list4\": [\n" +
" {\n" +
" \"leaf8\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf8\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"leaf2\": \"abc\",\n" +
" \"cont4\": {\n" +
" \"leaf11\": \"abc\"\n" +
" }\n" +
" }\n" +
" ],\n" +
" \"ll3\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"ll5\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"cont4\": {\n" +
" \"leaf10\": \"abc\"," +
addSpace(ENCODE_TO_JSON_YANG_COMMON, 8) + "\n" +
" },\n" +
" \"ll4\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"cont3\": {\n" +
" \"leaf10\": \"abc\"\n" +
" },\n" +
" \"leaf5\": \"abc\",\n" +
" \"list2\": [\n" +
" {\n" +
" \"leaf4\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf4\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"leaf12\": \"abc\",\n" +
" \"leaf6\": \"abc\",\n" +
" \"list6\": [\n" +
" {\n" +
" \"leaf11\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf11\": \"abc\"\n" +
" }\n" +
" ]\n" +
" }\n" +
"}";
static final String ENCODE_TO_JSON_YANG_PUT = "{\n" +
" \"test-yang:cont4\": {" + addSpace(
ENCODE_TO_JSON_YANG_COMMON, 4) + ",\n" +
" \"leaf10\": \"abc\"\n" +
" }\n" +
"}";
static final String ENCODE_TO_XML_YANG_COMMON = "\n" +
"unbounded\n" +
"8\n" +
"\n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
"\n" +
"\n" +
" test\n" +
"\n" +
"\n" +
" create\n" +
"\n" +
"abc\n" +
"\n" +
" true\n" +
"";
static final String ENCODE_TO_XML_YANG_AUG_POST = "\n" +
"abc" +
"" +
ENCODE_TO_XML_YANG_COMMON + "\n";
static final String ENCODE_TO_XML_YANG_PUT = "\n" +
"\n" +
" abc" +
addSpace(ENCODE_TO_XML_YANG_COMMON, 4) + "\n\n";
static final String ENCODE_TO_XML_YANG = "\n" +
"\n" +
" \n" +
" abc\n" +
" abc\n" +
" true\n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" \n" +
" abc\n" +
" abc\n" +
" true\n" +
" abc\n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" abc\n" +
" abc\n" +
" abc\n" +
" \n" +
" abc"+
addSpace(ENCODE_TO_XML_YANG_COMMON, 8) + "\n" +
" \n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
"\n";
static final String ENCODE_TO_JSON_RPC = "{\n" +
" \"test-yang:input\": {\n" +
" \"leaf30\": \"abc\",\n" +
" \"list10\": [\n" +
" {\n" +
" \"leaf29\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf29\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"cont15\": {\n" +
" \"leaf31\": \"abc\"\n" +
" },\n" +
" \"cont14\": {\n" +
" \"leaf28\": \"abc\"\n" +
" },\n" +
" \"cont13\": {\n" +
" \"list9\": [\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"ll9\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"leaf28\": \"abc\"\n" +
" },\n" +
" \"ll10\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ]\n" +
" }\n" +
"}";
static final String DECODE_FROM_JSON_RPC = "{\n" +
" \"test-yang:output\": {\n" +
" \"cont16\": {\n" +
" \"leaf32\": \"abc\"\n" +
" },\n" +
" \"list11\": [\n" +
" {\n" +
" \"leaf33\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf33\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"leaf34\": \"abc\",\n" +
" \"ll11\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"cont17\": {\n" +
" \"leaf35\": \"abc\"\n" +
" },\n" +
" \"cont13\": {\n" +
" \"cont12\": {\n" +
" \"leaf26\": \"abc\"\n" +
" },\n" +
" \"list9\": [\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" },\n" +
" {\n" +
" \"leaf27\": \"abc\"\n" +
" }\n" +
" ],\n" +
" \"ll9\": [\n" +
" \"abc\",\n" +
" \"abc\"\n" +
" ],\n" +
" \"leaf28\": \"abc\"\n" +
" }\n" +
" }\n" +
"}";
static final String DECODE_ANYXML_RESPONSE = "{\n" +
" \"commonHeader\": {\n" +
" \"timestamp\": \"2019-05-18T23:42:41.658Z\",\n" +
" \"originatorId\": \"System\",\n" +
" \"requestId\": \"1234\",\n" +
" \"subRequestId\": \"1234-12234\",\n" +
" \"flags\": null\n" +
" },\n" +
" \"actionIdentifiers\": {\n" +
" \"blueprintName\": \"golden\",\n" +
" \"blueprintVersion\": \"1.0.0\",\n" +
" \"actionName\": \"resource-assignment\",\n" +
" \"mode\": \"sync\"\n" +
" },\n" +
" \"status\": {\n" +
" \"code\": 200,\n" +
" \"eventType\": \"EVENT_COMPONENT_EXECUTED\",\n" +
" \"timestamp\": \"2019-05-18T23:42:41.950Z\",\n" +
" \"errorMessage\": null,\n" +
" \"message\": \"success\"\n" +
" },\n" +
" \"payload\": {\n" +
" \"resource-assignment-response\": {\n" +
" \"meshed-template\": {\n" +
" \"vf-module-1\": \"\\n " +
" This is the Virtual Firewall entity" +
"description>\\n 10.0.101.20/24\\n\"\n" +
" }\n" +
" }\n" +
" },\n" +
" \"stepData\": {\n" +
" \"name\": \"resource-assignment\",\n" +
" \"properties\": {\n" +
" \"resource-assignment-params\": null,\n" +
" \"status\": null\n" +
" }\n" +
" }\n" +
"}";
static final String ENCODE_TO_XML_RPC = "\n" +
"\n" +
" abc\n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" \n" +
" abc\n" +
" \n" +
" abc\n" +
" abc\n" +
" abc\n" +
" \n" +
" abc\n" +
" abc\n" +
"\n";
static final String DECODE_FROM_XML_RPC = "\n" +
"";
/**
* Adds the specified number of space required for a req in each line.
*
* @param req request message
* @param i number of space
* @return space appended string
*/
public static String addSpace(String req, int i) {
StringBuilder space = new StringBuilder();
for (int sp = 0; sp < i; sp++) {
space = space.append(" ");
}
return req.replaceAll("\n", "\n" + space.toString());
}
}