diff options
5 files changed, 164 insertions, 1 deletions
diff --git a/openecomp-bdd/config.json b/openecomp-bdd/config.json index 38063552ca..e1907a2ae6 100644 --- a/openecomp-bdd/config.json +++ b/openecomp-bdd/config.json @@ -11,6 +11,6 @@ }, "activity_spec" : { "port" : 8080, - "prefix" : "sdc1/feProxy/activityspec-api/v1" + "prefix" : "activity-spec-api/v1.0" } }
\ No newline at end of file diff --git a/openecomp-bdd/features/ActivitySpec/TestCreate.feature b/openecomp-bdd/features/ActivitySpec/TestCreate.feature new file mode 100644 index 0000000000..accae6ad11 --- /dev/null +++ b/openecomp-bdd/features/ActivitySpec/TestCreate.feature @@ -0,0 +1,70 @@ +#Feature: ActivitySpec Flow - Test Create Activity Spec +# +#Given Default prefix "activity_spec" +# +# # SDC-6350 +# Scenario: Test Create Activity Spec functionality +# #Create ActivitySpec +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with a random value +# When I want to create an ActivitySpec +# #Check id and versionId returned in response +# Then I want to check property "id" exists +# And I want to check property "versionId" exists +# +# #List ActivitySpec +# And I want to list ActivitySpecs with status "Draft" +# And I want to check property "listCount" exists +# +# #Get ActivitySpec and verify its status +# And I want to get the ActivitySpec for the current item +# And I want to check property "status" for value "Draft" +# +# #Certify and Get ActivitySpec and verify its status +# And I want to call action "CERTIFY" on this ActivitySpec item +# And I want to get the ActivitySpec for the current item +# And I want to check property "status" for value "Certified" +# +# #Deprecate and Get ActivitySpec and verify its status +# And I want to call action "DEPRECATE" on this ActivitySpec item +# And I want to get the ActivitySpec for the current item +# And I want to check property "status" for value "Deprecated" +# +# #Delete and Get ActivitySpec and verify its status +# And I want to call action "DELETE" on this ActivitySpec item +# And I want to get the ActivitySpec for the current item +# And I want to check property "status" for value "Deleted" +# +# #Pass Invalid Id to Get and verify error code +# Then I want to set property "item.id" to value "invalidId" +# Then I want the following to fail with error code "ACTIVITYSPEC_NOT_FOUND" +# And I want to get the ActivitySpec for the current item +# +# # SDC-6353 +# Scenario: Test Create Activity Spec With Duplicate Name +# #Create ActivitySpec with name "test" +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test" +# When I want to create an ActivitySpec +# Then I want to check property "id" exists +# And I want to check property "versionId" exists +# +# #Again Create ActivitySpec with name "test" and verify error code +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test" +# Then I want the following to fail with error code "UNIQUE_VALUE_VIOLATION" +# When I want to create an ActivitySpec +# +# # SDC-6354 +# Scenario: Test Create Activity Spec With Invalid Name Format +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "test!@" +# Then I want the following to fail with error code "FIELD_VALIDATION_ERROR_ERR_ID" +# When I want to create an ActivitySpec +# +# # SDC-6355 +# Scenario: Test Create Activity Spec With Null/Blank Name +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with value "" +# Then I want the following to fail with error code "FIELD_VALIDATION_ERROR_ERR_ID" +# When I want to create an ActivitySpec
\ No newline at end of file diff --git a/openecomp-bdd/features/ActivitySpec/TestInvalidStatusTransition.feature b/openecomp-bdd/features/ActivitySpec/TestInvalidStatusTransition.feature new file mode 100644 index 0000000000..1a94635a49 --- /dev/null +++ b/openecomp-bdd/features/ActivitySpec/TestInvalidStatusTransition.feature @@ -0,0 +1,29 @@ +#Feature: ActivitySpec Flow +# +#Given Default prefix "activity_spec" +# +# Scenario: Test Invalid Status Transition for Activity Spec +# #Create Activity Spec +# When I want to set the input data to file "resources/json/createActivitySpec.json" +# Then I want to update the input property "name" with a random value +# When I want to create an ActivitySpec +# Then I want to check property "id" exists +# And I want to check property "versionId" exists +# +# #Get Activity Spec and verify status +# When I want to get the ActivitySpec for the current item +# Then I want to check property "status" for value "Draft" +# +# #Deprecate "Draft" activity status and verify error code +# Then I want the following to fail with error code "STATUS_NOT_CERTIFIED" +# When I want to call action "DEPRECATE" on this ActivitySpec item +# +# #Delete "Draft" activity spec and verify error code +# Then I want the following to fail with error code "STATUS_NOT_DEPRECATED" +# When I want to call action "DELETE" on this ActivitySpec item +# +# #Certify activity spec +# When I want to call action "CERTIFY" on this ActivitySpec item +# #Certify "certified" activity spec and verify error code +# Then I want the following to fail with error code "STATUS_NOT_DRAFT" +# When I want to call action "CERTIFY" on this ActivitySpec item diff --git a/openecomp-bdd/resources/json/createActivitySpec.json b/openecomp-bdd/resources/json/createActivitySpec.json new file mode 100644 index 0000000000..8d5fc16f72 --- /dev/null +++ b/openecomp-bdd/resources/json/createActivitySpec.json @@ -0,0 +1,17 @@ +{ + "name": "RANDOM", + "description": "Start Server", + "categoryList": [ + "Server" + ], + "inputParameters": [{ + "name": "host", + "type": "string", + "value": "10.1.2.3" + }], + "outputParameters": [{ + "name": "status", + "type": "string", + "value": "started" + }] +}
\ No newline at end of file diff --git a/openecomp-bdd/stepDefinitions/ActivitySpec_steps.js b/openecomp-bdd/stepDefinitions/ActivitySpec_steps.js new file mode 100644 index 0000000000..7fe8ddf201 --- /dev/null +++ b/openecomp-bdd/stepDefinitions/ActivitySpec_steps.js @@ -0,0 +1,47 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * 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. + */ + +const {Then, When} = require('cucumber'); +const assert = require('assert'); +const util = require('./Utils.js'); +const _ = require('lodash'); + +When('I want to create an ActivitySpec', function () { + let path = '/activity-spec'; + return util.request(this.context, 'POST', path, this.context.inputData, false, 'activity_spec').then((result)=> { + this.context.item = {id : result.data.id, versionId: result.data.versionId}; + this.context.activityspec = {id : result.data.id, versionId: result.data.versionId}; + }); +}); + +When('I want to list ActivitySpecs with status {string}', function (string) { + let path = '/activity-spec?status='+string; + return util.request(this.context, 'GET', path, null, false, 'activity_spec').then((result)=> { + this.context.listCount = result.data.listCount; + }); +}); + +When('I want to get the ActivitySpec for the current item', function () { + let path = '/activity-spec/'+ this.context.item.id+'/versions/'+this.context.item.versionId ; + return util.request(this.context, 'GET', path, null, false, 'activity_spec').then((result)=> { + }); +}); + +Then('I want to call action {string} on this ActivitySpec item', function(string) { + let path = '/activity-spec/'+ this.context.item.id+'/versions/'+this.context.item.versionId+'/actions' ; + let inputData = JSON.parse('{"action" : "' +string+ '"}'); + return util.request(this.context, 'PUT', path, inputData, false, 'activity_spec') +});
\ No newline at end of file |