aboutsummaryrefslogtreecommitdiffstats
path: root/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java
diff options
context:
space:
mode:
Diffstat (limited to 'test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java')
-rw-r--r--test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java1792
1 files changed, 0 insertions, 1792 deletions
diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java
deleted file mode 100644
index 8bb637e8dc..0000000000
--- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java
+++ /dev/null
@@ -1,1792 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.openecomp.sdc.ci.tests.execute.property;
-
-import org.junit.Rule;
-import org.junit.rules.TestName;
-import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.ComponentInstanceProperty;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
-import org.openecomp.sdc.ci.tests.datatypes.PropertyReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.*;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils;
-import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_INVALID_CONTENT;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
-
-public class ComponentProperty extends ComponentBaseTest {
-
- @Rule
- public static TestName name = new TestName();
-
- public ComponentProperty() {
- super(name, ComponentProperty.class.getName());
- }
-
- @DataProvider
- private static final Object[][] propertiesListDefaultValueSuccessFlow() throws IOException, Exception {
- return new Object[][] {
- // integer
- { "integer", "[1,2]", "[1,2]" },
- { "tosca.datatypes.Credential",
- "[{\"protocol\":\"protocol1\",\"token\":\"token1\"},{\"protocol\":\"protocol2\",\"token\":\"token2\"}]",
- "[{\"protocol\":\"protocol1\",\"token\":\"token1\"},{\"protocol\":\"protocol2\",\"token\":\"token2\"}]" },
- { "tosca.datatypes.Credential",
- "[{\"protocol\":\"protocol1\",\"token\":\"token1\"},{\"protocol\":\"protocol<br>2\",\"token\":\"token2 2\"}]",
- "[{\"protocol\":\"protocol1\",\"token\":\"token1\"},{\"protocol\":\"protocol2\",\"token\":\"token2 2\"}]" },
- { "tosca.datatypes.Credential", null, null }, { "tosca.datatypes.Credential", "[]", "[]" },
- { "integer", "[1,2,1,2]", "[1,2,1,2]" }, { "integer", "[1,,2]", "[1,2]" },
- { "integer", "[1,null,2]", "[1,2]" }, { "integer", "[1,2,null]", "[1,2]" },
- { "integer", "[null,1,2]", "[1,2]" }, { "integer", "[1,,2]", "[1,2]" },
- { "integer", "[,1,2]", "[1,2]" },
- // {"integer",
- // "[1000000000000000000000000000000000000000000000000000,2]" ,
- // "[1000000000000000000000000000000000000000000000000000,2]"},
- { "integer", "[100000000,2]", "[100000000,2]" }, // Andrey, in
- // success
- // flow
- // integer
- // max value
- // is
- // 2147483647
- { "integer", null, null }, // no default value
- { "integer",
- "[1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2]",
- "[1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2]" },
- // boolean
- { "boolean", "[true,false]", "[true,false]" },
- { "boolean", "[true,false,false]", "[true,false,false]" },
- { "boolean", "[null,true,false]", "[true,false]" }, { "boolean", "[true,false,null]", "[true,false]" },
- { "boolean", "[true,,false]", "[true,false]" }, { "boolean", "[true,false,]", "[true,false]" },
- { "boolean", "[,true,false]", "[true,false]" }, { "boolean", null, null },
- // DE199713 - Default value for property type Boolean should
- // support also the following values: "true", "t" , "on" , "1" ,
- // "false", "f" , "off" , "0"
- { "boolean", "[on,off]", "[true,false]" }, { "boolean", "[ON,OFF]", "[true,false]" },
- { "boolean", "[On,Off]", "[true,false]" }, { "boolean", "[yes,no]", "[true,false]" },
- { "boolean", "[YES,NO]", "[true,false]" }, { "boolean", "[Yes,No]", "[true,false]" },
- { "boolean", "[y,n]", "[true,false]" }, { "boolean", "[Y,N]", "[true,false]" },
- // float
- { "float", "[10.0,0.0]", "[10.0,0.0]" }, { "float", "[10,0]", "[10,0]" }, // contain
- // integer
- { "float", "[-10,-5.30]", "[-10,-5.30]" }, // Negative numbers
- { "float", "[10,null,0]", "[10,0]" }, { "float", "[null,10,0]", "[10,0]" },
- { "float", "[10,0,null]", "[10,0]" },
- { "float", "[10,0.1111111111111111111111111111111111111111]",
- "[10,0.1111111111111111111111111111111111111111]" },
- { "float", "[10, ,7.3 ]", "[10,7.3]" }, { "float", "[10 , 7.3 , ]", "[10,7.3]" },
- { "float", "[, , 10 , 7.3 , ]", "[10,7.3]" }, { "float", "[4.7f, -5.5f ]", "[4.7,-5.5]" },
- { "float", "[4.7f, 6.3 ,6.3, 4.7f]", "[4.7,6.3,6.3,4.7]" }, // duplicate
- // value
- { "float", null, null }, { "string", "[aaaa , AAAA ]", "[\"aaaa\",\"AAAA\"]" },
-
- { "string",
- "[1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2]",
- "[\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\",\"1\",\"2\"]" },
- { "string", "[aaaa , AAAA, 1, off , true, false ]",
- "[\"aaaa\",\"AAAA\",\"1\",\"off\",\"true\",\"false\"]" },
- { "string", "[aaaa , AAAA, aaaa, Aaaa , aaaa ]", "[\"aaaa\",\"AAAA\",\"aaaa\",\"Aaaa\",\"aaaa\"]" },
- { "string", "[aaaa , AAAA, , ]", "[\"aaaa\",\"AAAA\"]" },
- { "string", "[ , aaaa , AAAA ]", "[\"aaaa\",\"AAAA\"]" },
- { "string", "[ aaaa , , AAAA ]", "[\"aaaa\",\"AAAA\"]" },
- { "string", "[ aaaa , AAAA, null ]", "[\"aaaa\",\"AAAA\"]" },
- { "string", "[ null, aaaa , AAAA ]", "[\"aaaa\",\"AAAA\"]" },
- { "string", "[ aaaa , null , AAAA ]", "[\"aaaa\",\"AAAA\"]" }, { "string", null, null }, // without
- // default
- // values
- // -
- // Property
- // will
- // be
- // without
- // default
- // parameter
- { "string", "[ <b>AAA</b> ]", "[\"AAA\"]" }, // BUG DE199715 -
- // Error 400
- // response
- // received
- // while adding
- // property with
- // default value
- // contain HTML
- // tags.
- // Need to check
- // whether / is
- // legal in yaml
-
- };
- }
-
- @DataProvider
- private static final Object[][] invalidListProperties() throws IOException, Exception {
- return new Object[][] {
-
- { "integer", "[1,aaa]" },
- { "tosca.datatypes.Credential",
- "[{\"protocol\":\"protocol1\",\"token\":\"token1\"},{\"protocol\":\"protocol2\",\"token1\":\"token2\"}]" },
- { "integer", "[1,false]" }, { "integer", "[1,3.5]" }, { "integer", "[1,3#]" },
- { "boolean", "[true,3.5]" }, { "boolean", "[true,1000]" }, { "boolean", "[false,trueee]" },
- { "boolean", "[true,false!]" }, { "float", "[5.0000001,true]" }, { "float", "[0.0001,koko]" },
- { "float", "[0.0001,6.3@]" }, { "float", "[0.0001f,6.3x]" }, };
- }
-
- @DataProvider
- private static final Object[][] updatePropertiesListDefaultValueSuccessFlow() throws IOException, Exception {
- return new Object[][] {
- // integer
- // Setting --- update properties
- // -----------------------------------------------------------------------
- { "integer", "[1,2]", "[1,2]", "integer", "[200,100]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[200,100,null]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[null, 200,100]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[200,null,100]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[200,100, ]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[ , 200,100 ]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[200 , ,100 ]", "[200,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", null, null },
- { "integer", "[1,2]", "[1,2]", "integer", "[200 , 100 , 200, 100]", "[200,100,200,100]" },
- //
- // ////DE199829 update resource property schema_type is not
- // updated
- { "integer", "[1,2]", "[1,2]", "string", "[aaaa , bbbb ]", "[\"aaaa\",\"bbbb\"]" },
- { "integer", "[1,2]", "[1,2]", "boolean", "[true , false ]", "[true,false]" },
- { "integer", "[1,2]", "[1,2]", "float", "[3.5,4.8f ]", "[3.5,4.8]" },
- // {"string", "[aaa,bbb]" , "[\"aaa\",\"bbb\"]","integer","[100,
- // 200]" , "[\"100\",\"200\"]"},
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "integer", "[100, 200]", "[100,200]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "float", "[0.1f, 3.01]", "[0.1,3.01]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "boolean", "[true, false]", "[true,false]" },
- { "float", "[1.2,2.3]", "[1.2,2.3]", "boolean", "[true, false]", "[true,false]" },
- { "float", "[1.2,2.3]", "[1.2,2.3]", "integer", "[100, 200]", "[100,200]" },
- { "float", "[1.2,2.3]", "[1.2,2.3]", "string", "[koko, moko]", "[\"koko\",\"moko\"]" },
- { "boolean", "[true,false]", "[true,false]", "string", "[koko, moko]", "[\"koko\",\"moko\"]" },
- // {"boolean", "[true,false]" ,
- // "[\"true\",\"false\"]","integer","[100, 300000000000000]" ,
- // "[\"100\",\"300000000000000\"]"},// Andrey, value not valid
- // for integer success flow
- { "boolean", "[true,false]", "[true,false]", "integer", "[100,2147483647]", "[100,2147483647]" }, // Andrey,
- // in
- // success
- // flow
- // integer
- // max
- // value
- // is
- // 2147483647
- { "boolean", "[true,false]", "[true,false]", "float", "[3.000000000000002, 5.67f]",
- "[3.000000000000002,5.67]" },
- // ////DE199829
- //
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx, yyy]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx , yyy ,null]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[null, xxx, yyy]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx ,null,yyy]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx ,yyy, ]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[ , xxx,yyy ]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx , ,yyy ]", "[\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[ xxx , yyy , xxx , yyy]",
- "[\"xxx\",\"yyy\",\"xxx\",\"yyy\"]" },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", null, null },
- { "string", "[aaa,bbb]", "[\"aaa\",\"bbb\"]", "string", "[xxx_-x, y__y--y]",
- "[\"xxx_-x\",\"y__y--y\"]" },
- // DE199715
- // {"string", "[aaa,bbb]" , "[\"aaa\",\"bbb\"]", "string" ,
- // "[\"<b>xxx</b>\", \"<b>yyy</b>\"]" , "[\"xxx\",\"yyy\"]"},
- //
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1 , -0.1]", "[2.1,-0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1, 0.1 ,null]", "[2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[null , 2.1, 0.1]", "[2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1,null,0.1]", "[2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1,0.1, ]", "[2.1,0.1]" },
- // {"float", "[1.00,0.02]" , "[1.00,0.02]","float","[ ,
- // 2.00000000000001,0.00000000000000100 ]" ,
- // "[2.00000000000001,0.00000000000000100]"},
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1 , ,0.1 ]", "[2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", null, null },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1f , ,0.1f ]", "[2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[2.1 , 0.1 , 2.1, 0.1]", "[2.1,0.1,2.1,0.1]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[200 , 100.11]", "[200,100.11]" },
- { "float", "[1.00,0.02]", "[1.00,0.02]", "float", "[-2.35 , 100.11]", "[-2.35,100.11]" },
- //
- { "boolean", "[true,false]", "[true,false]", "boolean", "[false , false]", "[false,false]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[false, true ,null]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[null , false, true]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[false,null,true]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[false ,true , ]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[ , false, true ]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", "[false , ,true ]", "[false,true]" },
- { "boolean", "[true,false]", "[true,false]", "boolean", null, null }, { "boolean", "[true,false]",
- "[true,false]", "boolean", "[false , true , false, true]", "[false,true,false,true]" }, };
- }
-
- @DataProvider
- private static final Object[][] updatePropertiesListDefaultValueFailureFlow() throws IOException, Exception {
- return new Object[][] {
- // integer
- // Setting --- update properties
- // -----------------------------------------------------------------------
- { "integer", "[1,2]", "[1,2]", "integer", "[aaa,bbb]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[true,false]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[1.0,100]" },
- { "integer", "[1,2]", "[1,2]", "integer", "[@12,100]" },
- { "float", "[0.11,0.22]", "[0.11,0.22]", "float", "[aaa, bbb]" },
- { "float", "[0.11,0.22]", "[0.11,0.22]", "float", "[0.88, false]" },
- { "float", "[0.11,0.22]", "[0.11,0.22]", "float", "[0.88g, 0.3]" },
- { "float", "[0.11,0.22]", "[0.11,0.22]", "float", "[@0.88, 0.3]" },
- { "boolean", "[true, false]", "[true,false]", "boolean", "[true, 100]" },
- { "boolean", "[true, false]", "[true,false]", "boolean", "[false, 0.01]" },
- { "boolean", "[true, false]", "[true,false]", "boolean", "[koko, true]" },
- { "boolean", "[true, false]", "[true,false]", "boolean", "[@false, true]" },
-
- };
- }
-
- // Map properties
- @DataProvider
- private static final Object[][] updatePropertiesMapDefaultValueSuccessFlow() throws IOException, Exception {
- return new Object[][] {
- // entrySchemaType , propertyDefaultValues ,
- // expectedDefaultValue , newEntrySchemaType ,
- // newPropertyDefaultValue , newExpectedDefaultValue
- // integer
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":200,\"key2\":null , \"key3\":300}", "{\"key1\":200,\"key2\":null,\"key3\":300}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":null,\"key2\":200 , \"key3\":100}", "{\"key1\":null,\"key2\":200,\"key3\":100}" },
- // string
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "string",
- "{\"key1\":\"aaaa\" , \"key2\":\"aaaa\"}", "{\"key1\":\"aaaa\",\"key2\":\"aaaa\"}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "boolean",
- "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "float",
- "{\"key1\":3.5 , \"key2\":4.8f}", "{\"key1\":3.5,\"key2\":4.8}" },
- // string
- { "string", "{\"key1\":aaa , \"key2\":bbb}", "{\"key1\":\"aaa\",\"key2\":\"bbb\"}", "string",
- "{\"key1\":xxx , \"key2\":yyy}", "{\"key1\":\"xxx\",\"key2\":\"yyy\"}" },
- // float
- { "float", "{\"key1\":1.00 , \"key2\":0.02}", "{\"key1\":1.00,\"key2\":0.02}", "float",
- "{\"key1\":2.1, \"key2\":-0.1}", "{\"key1\":2.1,\"key2\":-0.1}" },
- { "float", "{\"key1\":1.00 , \"key2\":0.02}", "{\"key1\":1.00,\"key2\":0.02}", "float",
- "{\"key1\":2.1 , \"key2\":0.1 , \"key3\":null}", "{\"key1\":2.1,\"key2\":0.1,\"key3\":null}" },
- // boolean
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":false , \"key2\":false}", "{\"key1\":false,\"key2\":false}" },
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":false , \"key2\":true , \"key3\":null}",
- "{\"key1\":false,\"key2\":true,\"key3\":null}" },
- // null
- { "boolean", "{\"key1\":null , \"key2\":false}", "{\"key1\":null,\"key2\":false}", "boolean",
- "{\"key1\":false , \"key2\":true , \"key3\":null}",
- "{\"key1\":false,\"key2\":true,\"key3\":null}" },
- // tosca.datatypes.Credential
- { "tosca.datatypes.Credential",
- "{\"key1\":{\"protocol\":\"protocol<br>1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "{\"key1\":{\"protocol\":\"protocol1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "tosca.datatypes.Credential",
- "{\"key1\":{\"protocol\":\"protocol<br>1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "{\"key1\":{\"protocol\":\"protocol1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}" },
-
- };
- }
-
- @DataProvider
- private static final Object[][] propertiesMapDefaultValueSuccessFlow() throws IOException, Exception {
- return new Object[][] {
-
- // entrySchemaType , propertyDefaultValues ,
- // expectedDefaultValue
- //
- // {"string",
- // "{\"vf_module_id\":{\"get_input\":\"vf_module_id\"},
- // \"vnf_idw\": 2}",
- // "{\"vf_module_id\":{\"get_input\":\"vf_module_id\"},
- // \"vnf_idw\": 2}"},
-
- // tosca.datatypes.Credential
- { "tosca.datatypes.Credential",
- "{\"key1\":{\"protocol\":\"protocol<br>1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "{\"key1\":{\"protocol\":\"protocol1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}" },
- // integer
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}" },
- { "integer", "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":2}",
- "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":2}" },
- { "integer", "{\"key1\":1,\"key2\":null,\"key3\":1,\"key4\":2}",
- "{\"key1\":1,\"key2\":null,\"key3\":1,\"key4\":2}" },
- { "integer", "{\"key1\":null,\"key2\":1,\"key3\":1,\"key4\":2}",
- "{\"key1\":null,\"key2\":1,\"key3\":1,\"key4\":2}" },
- { "integer", "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":null}",
- "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":null}" },
- { "integer", "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":NULL}",
- "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":null}" },
- { "integer", "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":Null}",
- "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":null}" },
- { "integer", "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":nuLL}",
- "{\"key1\":1,\"key2\":2,\"key3\":1,\"key4\":null}" },
- { "integer", null, null }, // no default value
- // //BUG
- //// {"integer",
- // "{\"key1\":1000000000000000000000000000000000000000000000000000,\"key2\":2}"
- // ,"{\"key1\":1000000000000000000000000000000000000000000000000000,\"key2\":2}"},
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":true , \"key2\":false, \"key3\":false }",
- "{\"key1\":true,\"key2\":false,\"key3\":false}" },
- { "boolean", "{\"key1\":null , \"key2\":true, \"key3\":false }",
- "{\"key1\":null,\"key2\":true,\"key3\":false}" },
- { "boolean", "{\"key1\":true , \"key2\":Null, \"key3\":false }",
- "{\"key1\":true,\"key2\":null,\"key3\":false}" },
- { "boolean", "{\"key1\":true , \"key2\":false, \"key3\":nULL }",
- "{\"key1\":true,\"key2\":false,\"key3\":null}" },
- { "boolean", null, null },
- { "boolean", "{\"key1\":on , \"key2\":off}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":ON , \"key2\":OFF}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":On , \"key2\":Off}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":yes , \"key2\":no}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":YES , \"key2\":NO}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":Yes , \"key2\":No}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":y , \"key2\":n}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{\"key1\":Y , \"key2\":N}", "{\"key1\":true,\"key2\":false}" },
- { "boolean", "{null:false}", "{\"null\":false}" },
- // float
- { "float", "{\"key1\":10.0 , \"key2\":0.0}", "{\"key1\":10.0,\"key2\":0.0}" },
- { "float", "{\"key1\":10 , \"key2\":0}", "{\"key1\":10,\"key2\":0}" }, // contain
- // integer
- { "float", "{\"key1\":null , \"key2\":Null}", "{\"key1\":null,\"key2\":null}" }, // contain
- // null
- { "float", "{\"key1\":3.5 , \"key2\":nULL}", "{\"key1\":3.5,\"key2\":null}" },
- // BUG
- { "float", "{\"key1\":3.5 , \"key2\":0.1111111111111111111111111111111111111111}",
- "{\"key1\":3.5,\"key2\":0.1111111111111111111111111111111111111111}" },
- { "float", "{\"key1\":4.7f , \"key2\":-5.5f}", "{\"key1\":4.7,\"key2\":-5.5}" },
- { "float", "{\"key1\":4.7f , \"key2\":-5.5f, \"key3\":-5.5f}",
- "{\"key1\":4.7,\"key2\":-5.5,\"key3\":-5.5}" },
- { "boolean", null, null },
- { "string", "{\"key1\":aaaa , \"key2\":AAAA}", "{\"key1\":\"aaaa\",\"key2\":\"AAAA\"}" },
- { "string", "{\"key1\":off , \"key2\":true , \"key3\":1}",
- "{\"key1\":\"off\",\"key2\":\"true\",\"key3\":\"1\"}" },
- { "string", "{\"key1\":aaaa , \"key2\":Aaaa , \"key3\":aaaa}",
- "{\"key1\":\"aaaa\",\"key2\":\"Aaaa\",\"key3\":\"aaaa\"}" },
- { "string", "{\"key1\":aaaa , \"key2\":bbbb , \"key3\":null}",
- "{\"key1\":\"aaaa\",\"key2\":\"bbbb\",\"key3\":null}" },
- { "string", "{\"key1\":NULL , \"key2\":bbbb , \"key3\":aaaa}",
- "{\"key1\":null,\"key2\":\"bbbb\",\"key3\":\"aaaa\"}" },
- { "string", "{\"key1\":aaaa , \"key2\":Null , \"key3\":bbbb}",
- "{\"key1\":\"aaaa\",\"key2\":null,\"key3\":\"bbbb\"}" },
- { "string", null, null }, // without default values - Property
- // will be without default parameter
- { "string", "{\"key1\":\"<b>AAAA</b>\" }", "{\"key1\":\"AAAA\"}" },
-
- };
- }
-
- @DataProvider
- private static final Object[][] updatePropertiesMapDefaultValueFailureFlow() throws IOException, Exception {
- return new Object[][] {
-
- // integer
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":aaa , \"key2\":bbb}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":true , \"key2\":false}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":1.0 , \"key2\":100}" },
- { "integer", "{\"key1\":1 , \"key2\":2}", "{\"key1\":1,\"key2\":2}", "integer",
- "{\"key1\":12@ , \"key2\":100}" },
- // float
- { "float", "{\"key1\":0.11 , \"key2\":0.22}", "{\"key1\":0.11,\"key2\":0.22}", "float",
- "{\"key1\":aaa , \"key2\":bbb}" },
- { "float", "{\"key1\":0.11 , \"key2\":0.22}", "{\"key1\":0.11,\"key2\":0.22}", "float",
- "{\"key1\":0.88 , \"key2\":false}" },
- { "float", "{\"key1\":0.11 , \"key2\":0.22}", "{\"key1\":0.11,\"key2\":0.22}", "float",
- "{\"key1\":0.88g , \"key2\":0.3}" },
- { "float", "{\"key1\":0.11 , \"key2\":0.22}", "{\"key1\":0.11,\"key2\":0.22}", "float",
- "{\"key1\":@0.88g , \"key2\":0.3}" },
- // boolean
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":true , \"key2\":100}" },
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":false , \"key2\":0.01}" },
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":koko , \"key2\":true}" },
- { "boolean", "{\"key1\":true , \"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":@false , \"key2\":true}" },
- { "boolean", "{\"key1\":true,\"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{:false , \"key2\":true}" },
- { "boolean", "{\"key1\":true,\"key2\":false}", "{\"key1\":true,\"key2\":false}", "boolean",
- "{\"key1\":true , , \"key2\":false}" },
- // tosca.datatypes.Credential
- { "tosca.datatypes.Credential",
- "{\"key1\":{\"protocol\":\"protocol<br>1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "{\"key1\":{\"protocol\":\"protocol1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token\":\"token2\"}}",
- "tosca.datatypes.Credential",
- "{\"key1\":{\"protocol\":\"protocol<br>1\",\"token\":\"token1\"},\"key2\":{\"protocol\":\"protocol2\",\"token2\":\"token2\"}}" },
-
- };
- }
-
- // US594938 - UPDATE PROPERTY
- // DE199718
- @Test(dataProvider = "updatePropertiesListDefaultValueFailureFlow")
- public void updateDefaultValueOfResourcePropertyListFailureFlow(String entrySchemaType, String propertyDefaltValues,
- String expecteddefaultValues, String newEntrySchemaType, String newPropertyDefaltValues) throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.setPropertyDefaultValue(propertyDefaltValues);
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // verify properties return from response
- assertEquals("list", resourcePropertiesFromResponse.getType());
- assertEquals(expecteddefaultValues, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- // Update resource property type = "list"
- propertyDetails.setPropertyDefaultValue(newPropertyDefaltValues);
- propertyDetails.getSchema().getProperty().setType(newEntrySchemaType);
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(propertyDetails.getName());
- variables.add(propertyDetails.getPropertyType());
- variables.add(propertyDetails.getSchema().getProperty().getType());
- variables.add(newPropertyDefaltValues);
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables,
- updatePropertyResponse.getResponse());
- }
-
- @Test
- public void updatePropertyOfDerivedResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String derivedResourcePropertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true);
- // second resource derived from basicVFC
- Resource vfc1FromBasicVFC = AtomicOperationUtils
- .createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC,
- ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true)
- .left().value();
- // add property Type list to second resource
- PropertyReqDetails defaultListProperty = ElementFactory.getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(defaultListProperty, vfc1FromBasicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Update property (list) of derived resource
- RestResponse updatePropertyResponse = AtomicOperationUtils.updatePropertyOfResource(propertyDetails, basicVFC,
- derivedResourcePropertyUniqueId, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- verifyResourcePropertyList(basicVFC, propertyDetails, "[\"a\",\"b\"]");
- }
-
- @Test
- public void updatePropertyOfNonDerivedResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true);
- // second resource derived from basicVFC
- Resource vfc1FromBasicVFC = AtomicOperationUtils
- .createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC,
- ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true)
- .left().value();
- // add property Type list to second resource
- PropertyReqDetails defaultListProperty = ElementFactory.getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(defaultListProperty, vfc1FromBasicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // Update property (list) of derived resource
- defaultListProperty.setPropertyDefaultValue("[1,2,3,4]");
- String expectedDefaultValue = "[1,2,3,4]";
- ComponentInstanceProperty resourcePropertyAfterUpdate = AtomicOperationUtils
- .updatePropertyOfResource(defaultListProperty, vfc1FromBasicVFC, propertyUniqueId,
- UserRoleEnum.DESIGNER, true)
- .left().value();
- assertEquals(resourcePropertyAfterUpdate.getType(), "list");
- assertEquals(resourcePropertyAfterUpdate.getDefaultValue(), expectedDefaultValue);
- assertEquals(resourcePropertyAfterUpdate.getSchema().getProperty().getType(),
- defaultListProperty.getSchema().getProperty().getType()); // string/integer/boolean/float
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(vfc1FromBasicVFC.getUniqueId());
- String expectedDefaultValueFromDerivedResource = "[\"a\",\"b\"]";
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- resource.getProperties().get(0).getDefaultValue().equals(expectedDefaultValue);
- resource.getProperties().get(1).getDefaultValue().equals(expectedDefaultValueFromDerivedResource);
- }
-
- @Test
- public void updateListPropertyToNonCheckedOutResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
- // Update resource property type = "list"
- propertyDetails.setPropertyDefaultValue("[3,4]");
- propertyDetails.getSchema().getProperty().setType("integer");
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- @Test
- public void updateListPropertyResourceByNonResouceOwner() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // AtomicOperationUtils.changeComponentState(basicVFC,
- // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
- // Update resource property type = "list"
- propertyDetails.setPropertyDefaultValue("[3,4]");
- propertyDetails.getSchema().getProperty().setType("integer");
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER2, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- @Test
- public void updateListPropertyResourceByTester() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // AtomicOperationUtils.changeComponentState(basicVFC,
- // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
- // Update resource property type = "list"
- propertyDetails.setPropertyDefaultValue("[3,4]");
- propertyDetails.getSchema().getProperty().setType("integer");
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.TESTER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- // DE199964
- @Test(enabled = false)
- public void updateListPropertyToNonExistingResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- String resourceUniqueId = basicVFC.getUniqueId();
- basicVFC.setUniqueId("1111111");
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_NOT_FOUND));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(basicVFC.getUniqueId());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_NOT_FOUND.name(), variables,
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- basicVFC.setUniqueId(resourceUniqueId);
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- // DE199725
- @Test
- public void updateResourcePropertyListNonSupportedPropertyType() throws Exception { // Not
- // "list"
- // type
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // update resource property
- String propertyType = "listttttttt";
- propertyDetails.setPropertyType(propertyType);
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- ArrayList<String> variables = new ArrayList<>();
- variables.add(propertyDetails.getPropertyType()); // property data type
- // (koko instead
- // list)
- variables.add(propertyDetails.getName());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables,
- updatePropertyResponse.getResponse());
- // Verify resource's priority list did not changed
- propertyDetails.setPropertyType("list");
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- @Test(enabled = false) // DE199732
- public void updateResourcePropertyListNonSupportedEntrySchemaType() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String PropertyDefaultValue = "[2,3]";
- propertyDetails.setPropertyDefaultValue(PropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType("integer");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // update resource property
- String EntrySchemaType = "integerrrrrr";
- propertyDetails.getSchema().getProperty().setType(EntrySchemaType);
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(EntrySchemaType);
- variables.add(propertyDetails.getName());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_INNER_TYPE.name(), variables,
- updatePropertyResponse.getResponse());
- propertyDetails.getSchema().getProperty().setType("integer");
- verifyResourcePropertyList(basicVFC, propertyDetails, "[2,3]");
- }
-
- @Test(dataProvider = "updatePropertiesListDefaultValueSuccessFlow")
- public void updateResourcePropertyListSuccessFlow(String entrySchemaType, String propertyDefaltValues,
- String expecteddefaultValues, String newEntrySchemaType, String newPropertyDefaltValues,
- String newExpecteddefaultValues) throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.setPropertyDefaultValue(propertyDefaltValues);
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // verify properties return from response
- assertEquals("list", resourcePropertiesFromResponse.getType());
- assertEquals(expecteddefaultValues, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- // Update resource property type = "list"
- propertyDetails.setPropertyDefaultValue(newPropertyDefaltValues);
- propertyDetails.getSchema().getProperty().setType(newEntrySchemaType);
- ComponentInstanceProperty resourcePropertyAfterUpdate = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, true)
- .left().value();
- assertEquals("list", resourcePropertyAfterUpdate.getType());
- assertEquals(newExpecteddefaultValues, resourcePropertyAfterUpdate.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertyAfterUpdate.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, newExpecteddefaultValues);
- }
-
- // Add property type list to resource
- // DE199718
- @Test(dataProvider = "invalidListProperties") // invalid default values
- public void addListPropertyToResourceFailureFlow(String entrySchemaType, String propertyDefaltValues)
- throws Exception {
- // String propertyType = "list";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- propertyDetails.setPropertyDefaultValue(propertyDefaltValues);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(propertyDetails.getName());
- variables.add(propertyDetails.getPropertyType());
- variables.add(propertyDetails.getSchema().getProperty().getType());
- variables.add(propertyDefaltValues);
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables,
- addPropertyToResourceResponse.getResponse());
-
- }
-
- // DE199964
- @Test
- public void addListPropertyToNonExistingResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType("integer");
- propertyDetails.setPropertyDefaultValue("[1,2]");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to non existing resource
- basicVFC.setUniqueId("1111111");
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_NOT_FOUND));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_NOT_FOUND.name(), variables,
- addPropertyToResourceResponse.getResponse());
- }
-
- @Test
- public void addListPropertyToNonCheckedOutResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType("integer");
- propertyDetails.setPropertyDefaultValue("[1,2]");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
- // Add property type list to non Checked-Out resource
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- addPropertyToResourceResponse.getResponse());
- }
-
- @Test
- public void addListPropertyToResourceByNonResourceOwner() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType("integer");
- propertyDetails.setPropertyDefaultValue("[1,2]");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to non Checked-Out resource
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER2, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- addPropertyToResourceResponse.getResponse());
- }
-
- @Test
- public void addListPropertyToResourcePropertyAlreadyExists01() throws Exception {
- String propertyType = "list";
- String propertySchemaType = "integer";
- String defaultValues = "[1,2]";
- String expecteddefaultValues = "[1,2]";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType(propertySchemaType);
- propertyDetails.setPropertyDefaultValue(defaultValues);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // check-in and check-out resource
- RestResponse changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKIN);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKOUT);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- // verify properties return from response
- assertEquals(resourcePropertiesFromResponse.getType(), propertyType);
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expecteddefaultValues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(), propertySchemaType); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- // Add same property again to resource
- RestResponse addPropertyRestResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyRestResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_ALREADY_EXISTS));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PROPERTY_ALREADY_EXIST.name(), variables,
- addPropertyRestResponse.getResponse());
- // verify property not deleted
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- }
-
- @Test
- public void addListPropertyToResourcePropertyAlreadyExists02() throws Exception {
- String propertyType = "list";
- String propertySchemaType = "integer";
- String defaultValues = "[1,2]";
- String expecteddefaultValues = "[1,2]";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType(propertySchemaType);
- propertyDetails.setPropertyDefaultValue(defaultValues);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- // verify properties return from response
- assertEquals(resourcePropertiesFromResponse.getType(), propertyType);
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expecteddefaultValues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(), propertySchemaType); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- // check-in and check-out resource
- RestResponse changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKIN);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKOUT);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- // Add same property again to resource
- RestResponse addPropertyRestResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyRestResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_ALREADY_EXISTS));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PROPERTY_ALREADY_EXIST.name(), variables,
- addPropertyRestResponse.getResponse());
- // verify property not deleted
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- }
-
- @Test // DE199725
- public void addListPropertyToResourceNonSupportedPropertyType() throws Exception { // Not
- // "list"
- // type
- String propertyType = "listttttttt";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.setPropertyType(propertyType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- RestResponse addPropertyRestResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyRestResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(propertyDetails.getPropertyType()); // property data type
- // (koko instead
- // list)
- variables.add(propertyDetails.getName());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables,
- addPropertyRestResponse.getResponse());
- }
-
- @Test // DE199732
- public void addListPropertyToResourceNonSupportedEntrySchemaType() throws Exception {
- String EntrySchemaType = "stringggg"; // instead "string"
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType(EntrySchemaType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- RestResponse addPropertyRestResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyRestResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(EntrySchemaType);
- variables.add(propertyDetails.getName());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_INNER_TYPE.name(), variables,
- addPropertyRestResponse.getResponse());
- }
-
- @Test
- public void addHundredPropertyListToResourceSuccessFlow() throws Exception {
- String propertyType = "list";
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- String propertyName = propertyDetails.getName();
- int numberOfPropertiesToAddToResource = 100;
- ComponentInstanceProperty resourcePropertiesFromResponse;
- for (int x = 0; x < numberOfPropertiesToAddToResource; x++) {
- propertyDetails.setName(propertyName + x);
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- // verify properties return from response
- assertEquals(resourcePropertiesFromResponse.getName(), propertyName + x);
- assertEquals(resourcePropertiesFromResponse.getType(), propertyType);
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[\"a\",\"b\"]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetails.getSchema().getProperty().getType()); // string/integer/boolean/float
- }
- // get resource and verify that 100 properties exist
- Resource resourceObject = AtomicOperationUtils.getResourceObject(basicVFC, UserRoleEnum.DESIGNER);
- assertEquals(numberOfPropertiesToAddToResource, resourceObject.getProperties().size());
-
- }
-
- @Test(dataProvider = "propertiesListDefaultValueSuccessFlow")
- public void addListPropertyToResourceSuccessFlow(String entrySchemaType, String propertyDefaltValues,
- String expecteddefaultValues) throws Exception {
- String propertyType = "list";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- propertyDetails.setPropertyDefaultValue(propertyDefaltValues);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- // verify properties return from response
- assertEquals(propertyType, resourcePropertiesFromResponse.getType());
- assertEquals(expecteddefaultValues, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(entrySchemaType, resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
-
- assertEquals(resourcePropertiesFromResponse.getType(), propertyType);
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expecteddefaultValues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(), entrySchemaType); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- }
-
- // Delete property type list
- @Test
- public void deleteOneOfTheListPropertiesFromResourceAndAddItAgain() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- PropertyReqDetails propertyDetailsInteger = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[\"a\",\"b\"]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, "[\"a\",\"b\"]");
- // Add deleted property again to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- }
-
- @Test
- public void deletePropertyListTypeInteger() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- PropertyReqDetails propertyDetailsInteger = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[\"a\",\"b\"]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "[1,2]");
- }
-
- @Test
- public void deletePropertyListTypeBoolean() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.BOOLEAN_LIST);
- PropertyReqDetails propertyDetailsInteger = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[true,false]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one property
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "[1,2]");
- }
-
- @Test
- public void deletePropertyListTypeFloat() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.FLOAT_LIST);
- PropertyReqDetails propertyDetailsInteger = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1.0,2.0]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one property
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "[1,2]");
- }
-
- @Test
- public void deletePropertyListAlreadyDeleted() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.FLOAT_LIST);
- PropertyReqDetails propertyDetailsInteger = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1.0,2.0]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), "[1,2]");
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one property
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "[1,2]");
- // delete again the same property
- deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_NOT_FOUND == deletePropertyOfResource.getErrorCode());
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PROPERTY_NOT_FOUND.name(), variables,
- deletePropertyOfResource.getResponse());
- }
-
- @Test
- public void deletePropertyListResourceIsNotCheckedOutState() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.FLOAT_LIST);
- String expectedDefaultvalues = "[1.0,2.0]";
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expectedDefaultvalues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- // Get resource and verify updated default value
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- // Check-in resource
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true);
- // Delete property
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION == deletePropertyOfResource.getErrorCode());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- deletePropertyOfResource.getResponse());
- // Get resource and verify property is not deleted
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- }
-
- @Test
- public void deletePropertyListResourceByNotIsNonResouceOwner() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.FLOAT_LIST);
- String expectedDefaultvalues = "[1.0,2.0]";
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expectedDefaultvalues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- // Get resource and verify updated default value
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- // Delete property by non resource owner
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER2);
- assertTrue(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION == deletePropertyOfResource.getErrorCode());
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- deletePropertyOfResource.getResponse());
- // Get resource and verify property is not deleted
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- }
-
- @Test
- public void deletePropertyListFromNonExistingResource() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.FLOAT_LIST);
- String expectedDefaultvalues = "[1.0,2.0]";
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- String actualResourceUniqueId = basicVFC.getUniqueId();
- // Add property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals(resourcePropertiesFromResponse.getDefaultValue(), expectedDefaultvalues);
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- // Get resource and verify updated default value
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- // Delete property from non existing resource
- basicVFC.setUniqueId("1111111");
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(deletePropertyOfResource.getErrorCode().equals(BaseRestUtils.STATUS_CODE_NOT_FOUND));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_NOT_FOUND.name(), variables,
- deletePropertyOfResource.getResponse());
- // Get resource and verify property is not deleted
- basicVFC.setUniqueId(actualResourceUniqueId);
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, expectedDefaultvalues);
- }
-
- @Test
- public void deletePropertyOfDerivedResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String derivedResourcePropertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true);
- // second resource derived from basicVFC
- Resource vfc1FromBasicVFC = AtomicOperationUtils
- .createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC,
- ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true)
- .left().value();
- // Delete property (list) of derived resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(
- vfc1FromBasicVFC.getUniqueId(), derivedResourcePropertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(deletePropertyOfResource.getErrorCode().equals(BaseRestUtils.STATUS_CODE_NOT_FOUND));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PROPERTY_NOT_FOUND.name(), variables,
- deletePropertyOfResource.getResponse());
- // Verify resource's priority list did not changed
- verifyResourcePropertyList(vfc1FromBasicVFC, propertyDetails, "[\"a\",\"b\"]");
- }
-
- @Test
- public void deletePropertyOfNonDerivedResource() throws Exception {
- PropertyReqDetails propertyListString = ElementFactory.getDefaultListProperty(PropertyTypeEnum.STRING_LIST);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyListString, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true);
- // second resource derived from basicVFC
- Resource vfc1FromBasicVFC = AtomicOperationUtils
- .createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC,
- ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true)
- .left().value();
- // add property Type list to second resource
- PropertyReqDetails propertyListInteger = ElementFactory.getDefaultListProperty(PropertyTypeEnum.INTEGER_LIST);
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyListInteger, vfc1FromBasicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // Delete property (list) of derived resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils
- .deletePropertyOfResource(vfc1FromBasicVFC.getUniqueId(), propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyListString, "[\"a\",\"b\"]");
- }
-
- private void verifyResourcePropertyList(Resource resource, PropertyReqDetails expectedProperty,
- String expecteddefaultValues) throws Exception {
- // get resource and verify property from type list
- Resource getResource = AtomicOperationUtils.getResourceObject(resource, UserRoleEnum.DESIGNER);
- List<PropertyDefinition> actualResourceProperties = getResource.getProperties();
- boolean isPropertyAppear = false;
- for (PropertyDefinition pro : actualResourceProperties) {
- if (expectedProperty.getName().equals(pro.getName())) {
- assertTrue("Check Property Type ", pro.getType().equals(expectedProperty.getPropertyType()));
- assertEquals("Check Property default values ", expecteddefaultValues, pro.getDefaultValue());
- // assertTrue("Check Property default values ",
- // pro.getDefaultValue().equals(expecteddefaultValues));
- assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType()
- .equals(expectedProperty.getSchema().getProperty().getType()));
- isPropertyAppear = true;
- }
- }
- assertTrue(isPropertyAppear);
- }
-
- // US656905
- // --------------------- Map Property
- // ----------------------------------------------------------------
- @Test(dataProvider = "updatePropertiesMapDefaultValueFailureFlow")
- public void updateDefaultValueOfResourcePropertyMapFailureFlow(String entrySchemaType, String propertyDefaultValues,
- String expectedDefaultValue, String newEntrySchemaType, String newPropertyDefaultValue) throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultMapProperty();
- propertyDetails.setPropertyDefaultValue(propertyDefaultValues);
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // verify properties return from response
- assertEquals("map", resourcePropertiesFromResponse.getType());
- assertEquals(expectedDefaultValue, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expectedDefaultValue);
- // Update resource property type = "map"
- propertyDetails.setPropertyDefaultValue(newPropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType(newEntrySchemaType);
- RestResponse updatePropertyResponse = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, false)
- .right().value();
- assertTrue(updatePropertyResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT));
- ArrayList<String> variables = new ArrayList<>();
- variables.add(propertyDetails.getName());
- variables.add(propertyDetails.getPropertyType());
- variables.add(propertyDetails.getSchema().getProperty().getType());
- variables.add(newPropertyDefaultValue);
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables,
- updatePropertyResponse.getResponse());
- }
-
- @Test(dataProvider = "updatePropertiesMapDefaultValueSuccessFlow")
- public void updateResourcePropertyMapSuccessFlow(String entrySchemaType, String propertyDefaultValues,
- String expectedDefaultValue, String newEntrySchemaType, String newPropertyDefaultValue,
- String newExpectedDefaultValue) throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultMapProperty();
- propertyDetails.setPropertyDefaultValue(propertyDefaultValues);
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- // verify properties return from response
- assertEquals("map", resourcePropertiesFromResponse.getType());
- assertEquals(expectedDefaultValue, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expectedDefaultValue);
- // Update resource property type = "map"
- propertyDetails.setPropertyDefaultValue(newPropertyDefaultValue);
- propertyDetails.getSchema().getProperty().setType(newEntrySchemaType);
- ComponentInstanceProperty resourcePropertyAfterUpdate = AtomicOperationUtils
- .updatePropertyOfResource(propertyDetails, basicVFC, propertyUniqueId, UserRoleEnum.DESIGNER, true)
- .left().value();
- assertEquals("map", resourcePropertyAfterUpdate.getType());
- assertEquals(newExpectedDefaultValue, resourcePropertyAfterUpdate.getDefaultValue());
- assertEquals(propertyDetails.getSchema().getProperty().getType(),
- resourcePropertyAfterUpdate.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, newExpectedDefaultValue);
- }
-
- @Test
- public void deletePropertyMapTypeString() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultMapProperty(PropertyTypeEnum.STRING_MAP);
- PropertyReqDetails propertyDetailsInteger = ElementFactory.getDefaultMapProperty(PropertyTypeEnum.INTEGER_MAP);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals("{\"key1\":\"val1\",\"key2\":\"val2\"}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals("{\"key1\":123,\"key2\":-456}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "{\"key1\":123,\"key2\":-456}");
- }
-
- @Test
- public void deletePropertyMapTypeFloat() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeFloat = ElementFactory.getDefaultMapProperty(PropertyTypeEnum.FLOAT_MAP);
- PropertyReqDetails propertyDetailsInteger = ElementFactory.getDefaultMapProperty(PropertyTypeEnum.INTEGER_MAP);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeFloat, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeFloat.getPropertyType());
- assertEquals("{\"key1\":0.2123,\"key2\":43.545}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeFloat.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals("{\"key1\":123,\"key2\":-456}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "{\"key1\":123,\"key2\":-456}");
- }
-
- @Test
- public void deletePropertyMapTypeBoolean() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeBoolean = ElementFactory
- .getDefaultMapProperty(PropertyTypeEnum.BOOLEAN_MAP);
- PropertyReqDetails propertyDetailsInteger = ElementFactory.getDefaultMapProperty(PropertyTypeEnum.INTEGER_MAP);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeBoolean, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeBoolean.getPropertyType());
- assertEquals("{\"key1\":true,\"key2\":false}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeBoolean.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsInteger.getPropertyType());
- assertEquals("{\"key1\":123,\"key2\":-456}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsInteger.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsInteger, "{\"key1\":123,\"key2\":-456}");
- }
-
- @Test
- public void deletePropertyMapTypeInteger() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeInteger = ElementFactory
- .getDefaultMapProperty(PropertyTypeEnum.INTEGER_MAP);
- PropertyReqDetails propertyDetailsBoolean = ElementFactory.getDefaultMapProperty(PropertyTypeEnum.BOOLEAN_MAP);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeInteger, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- String propertyUniqueId = resourcePropertiesFromResponse.getUniqueId();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeInteger.getPropertyType());
- assertEquals("{\"key1\":123,\"key2\":-456}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeInteger.getSchema().getProperty().getType()); // string/integer/boolean/float
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsBoolean, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsBoolean.getPropertyType());
- assertEquals("{\"key1\":true,\"key2\":false}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsBoolean.getSchema().getProperty().getType());
- // Get resource and verify updated default value
- RestResponse restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- Resource resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(2, resource.getProperties().size());
- // Delete one resource
- RestResponse deletePropertyOfResource = AtomicOperationUtils.deletePropertyOfResource(basicVFC.getUniqueId(),
- propertyUniqueId, UserRoleEnum.DESIGNER);
- assertTrue(BaseRestUtils.STATUS_CODE_DELETE == deletePropertyOfResource.getErrorCode());
- // Get resource and verify updated default value
- restResponse = ResourceRestUtils.getResource(basicVFC.getUniqueId());
- resource = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- assertEquals(1, resource.getProperties().size());
- verifyResourcePropertyList(basicVFC, propertyDetailsBoolean, "{\"key1\":true,\"key2\":false}");
- }
-
- @Test(dataProvider = "propertiesMapDefaultValueSuccessFlow")
- public void addMapPropertyToResourceSuccessFlow(String entrySchemaType, String propertyDefaltValues,
- String expecteddefaultValues) throws Exception {
- String propertyType = "map";
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultMapProperty();
- propertyDetails.getSchema().getProperty().setType(entrySchemaType);
- propertyDetails.setPropertyDefaultValue(propertyDefaltValues);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to resource
- ComponentInstanceProperty resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, true).left().value();
- // verify properties return from response
- assertEquals(propertyType, resourcePropertiesFromResponse.getType());
- assertEquals(expecteddefaultValues, resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(entrySchemaType, resourcePropertiesFromResponse.getSchema().getProperty().getType()); // string/integer/boolean/float
- verifyResourcePropertyList(basicVFC, propertyDetails, expecteddefaultValues);
- }
-
- @Test
- public void addMapPropertyToNonExistingResource() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType("integer");
- propertyDetails.setPropertyDefaultValue("{\"key1\":1 , \"key2\":2}");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to non existing resource
- basicVFC.setUniqueId("1111111");
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_NOT_FOUND));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_NOT_FOUND.name(), variables,
- addPropertyToResourceResponse.getResponse());
- }
-
- @Test
- public void addMaptPropertyToResourceByNonResourceOwner() throws Exception {
- PropertyReqDetails propertyDetails = ElementFactory.getDefaultListProperty();
- propertyDetails.getSchema().getProperty().setType("integer");
- propertyDetails.setPropertyDefaultValue("{\"key1\":1 , \"key2\":2}");
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add property type list to non Checked-Out resource
- RestResponse addPropertyToResourceResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetails, basicVFC, UserRoleEnum.DESIGNER2, false).right().value();
- assertTrue(addPropertyToResourceResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_RESTRICTED_OPERATION));
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(),
- addPropertyToResourceResponse.getResponse());
- }
-
- @Test
- public void addMapPropertyToResourcePropertyAlreadyExists() throws Exception {
- ComponentInstanceProperty resourcePropertiesFromResponse;
- PropertyReqDetails propertyDetailsTypeString = ElementFactory
- .getDefaultListProperty(PropertyTypeEnum.STRING_MAP);
- // create resource
- Resource basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC,
- NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left()
- .value();
- // Add 2 property type list to resource
- resourcePropertiesFromResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, true).left()
- .value();
- assertEquals(resourcePropertiesFromResponse.getType(), propertyDetailsTypeString.getPropertyType());
- assertEquals("{\"key1\":\"val1\",\"key2\":\"val2\"}", resourcePropertiesFromResponse.getDefaultValue());
- assertEquals(resourcePropertiesFromResponse.getSchema().getProperty().getType(),
- propertyDetailsTypeString.getSchema().getProperty().getType()); // string/integer/boolean/float
- // check-in and check-out resource
- RestResponse changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKIN);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- changeComponentState = LifecycleRestUtils.changeComponentState(basicVFC,
- ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKOUT);
- assertTrue(changeComponentState.getErrorCode().equals(BaseRestUtils.STATUS_CODE_SUCCESS));
- // Add same property again to resource
- RestResponse addPropertyRestResponse = AtomicOperationUtils
- .addCustomPropertyToResource(propertyDetailsTypeString, basicVFC, UserRoleEnum.DESIGNER, false).right()
- .value();
- assertTrue(addPropertyRestResponse.getErrorCode().equals(BaseRestUtils.STATUS_CODE_ALREADY_EXISTS));
- ArrayList<String> variables = new ArrayList<>();
- variables.add("");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PROPERTY_ALREADY_EXIST.name(), variables,
- addPropertyRestResponse.getResponse());
- // verify property not deleted
- verifyResourcePropertyList(basicVFC, propertyDetailsTypeString, "{\"key1\":\"val1\",\"key2\":\"val2\"}");
- }
-
-}