Logo: Relish

  1. Sign in

Project: Living-documentation-demo

Genealogy - Parts

A Robot should be able to interact with Assemble service using XYZ API

Scenarios
  • @negative
Request to incorrect API namespace
Given
XYZ API domain
And
namespace "/genealogy/incorrect_namespace/" and authorized user
When
Robot requests service name "find-parts"
And
uses HTTP method "GET"
Then
Robot should see response status "failure"
And
Robot should see error type "NoSuchNamespace"
  • @negative
Request to incorrect API service name
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "incorrect_service"
And
uses HTTP method "GET"
Then
Robot should see response status "failure"
And
Robot should see error type "NoSuchService"
  • @negative
User not authorized for API calls
Given
XYZ API domain and Parts namespace
And
uses user "[email protected]"
And
uses password "qatest"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.first assembly.xml"
Then
Robot should see response status "failure"
And
Robot should see error type "AuthorizationFailure"
  • @negative
Non-POST request to Assemble service
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "GET"
Then
Robot should see response status "failure"
And
Robot should see error type "PostRequired"
  • @negative
Request Assemble service with incorrect or empty XML-content
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
  • @dev
Request assemble with serial number > the maximum length in the database (200)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.longer than max serial number.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
Request assemble with blank serial number
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.blank serial number.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "ValidationErrors"
  • @negative
Request assemble with a blank required APS attribute (string)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.required APS attribute-string.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "RequiredApsAttribute"
And
Robot should see msg "Missing required APS attribute QC1-1 string1"
  • @negative
Request assemble with a blank required APS attribute (integer)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.required APS attribute-integer.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "RequiredApsAttribute"
And
Robot should see msg "Missing required APS attribute QC1-1 integer1"
  • @negative
Request assemble with a blank required APS attribute (double)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.required APS attribute-double.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "RequiredApsAttribute"
And
Robot should see msg "Missing required APS attribute QC1-1 double1"
  • @negative
Request assemble with a blank required APS attribute (boolean)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.required APS attribute-boolean.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "RequiredApsAttribute"
And
Robot should see msg "Missing required APS attribute QC1-1 boolean1"
  • @negative
Request assemble with a blank required APS attribute (timestamp)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.required APS attribute-timestamp.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "RequiredApsAttribute"
And
Robot should see msg "Missing required APS attribute QC1-1 timestamp1"
  • @negative
Request assemble with an invalid APS format (string)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid APS format.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "ApsAttributeDataFormat"
And
Robot should see msg "Invalid data format for APS attribute QC1-1 string2 for APS QC1-1. Expected: \b[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,4}. Found: abc. Please enter a value like [email protected]"
  • @negative
Request assemble with an invalid APS attribute value (integer)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid APS attribute-integer.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
Request assemble with an invalid APS attribute value (double)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid APS attribute-double.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
Request assemble with an invalid APS attribute value (boolean)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid APS attribute-boolean.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
Request assemble with an invalid APS attribute value (timestamp)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid APS attribute-timestamp.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "UnexpectedError"
  • @negative
Request assemble with only one child part specified out of two
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.one child part out of two.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "PartCount"
And
Robot should see msg "APSDefinition 'QC1-1' requires 2 parts 'QC1-C1AA-V1' but found 1"
  • @negative
Request assemble with too many parts (lot based)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.too many lots.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "PartCount"
And
Robot should see msg "APSDefinition 'QC1-1' requires 2 parts 'QC1-C1AA-V1' but found 3"
  • @negative
Request assemble with an invalid GUID
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid GUID.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "failure"
And
Robot should see error type "NoSuchStationGuid"
And
Robot should see msg "Unable to find station with GUID '93C8A50A-0000-0000-0000-B73A13C51AAD'"
  • @positive
  • @acceptance
Request assemble with an invalid operator name
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.invalid operator name.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"
  • @positive
  • @acceptance
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-1"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part.children.part" should contain following attributes:
lot-number
PREFIX-lot2
PREFIX-lot1
  • @positive
Request assemble with serial number > the maximum length in the UI (20)
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.long serial number.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"
  • @positive
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-0110d-12345678901234567890"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part" should contain following attributes:
serial-number
PREFIX-c1a-0110d-12345678901234567890
And
returned node "list.part.children.part" should contain following attributes:
lot-number
PREFIX-Lot2
PREFIX-lot1
  • @positive
  • @acceptance
Record a part assembly event with child lots
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.child lot.xml"
Then
Robot should see response status "success"
  • @positive
  • @acceptance
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-5"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part.children.part" should contain following attributes:
lot-number
PREFIX-duplot2
PREFIX-duplot1
  • @positive
Record a part assembly with a duplicate child lot
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.duplicate child lot.xml"
Then
Robot should see response status "success"
  • @positive
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-5"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part.children.part" should contain following attributes:
lot-number
PREFIX-duplot2
  • @positive
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-6"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part.children.part" should contain following attributes:
lot-number
PREFIX-duplot1
PREFIX-Duplot2
  • @positive
  • @acceptance
Record a part assembly
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.QC1-1.xml"
Then
Robot should see response status "success"
  • @positive
  • @acceptance
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1a-2"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "list.part" should contain following attributes:
serial-number
PREFIX-c1a-2
And
returned node "part-attribute" should contain following attributes:
name
color
And
returned node "part-attribute" should contain following attributes:
value
red
  • @positive
Record a part assembly event and change a part attribute from a previous assembly
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.QC1-2.xml"
Then
Robot should see response status "success"
  • @positive
Validate previous scenario
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "find-parts"
And
with "serial-number" parameter "PREFIX-c1-2"
And
uses HTTP method "GET"
Then
Robot should see response status "success"
And
returned node "children.part" should contain following attributes:
serial-number
PREFIX-c1a-2
And
returned node "part-attribute" should contain following attributes:
name
color
And
returned node "part-attribute" should contain following attributes:
value
white
  • @positive
Successfully record a part assembly
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.QC1-3.xml"
Then
Robot should see response status "success"
  • @positive
Record a part assembly with a child that has already been assembled when timestamp is before the previous assembly
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.QC1-3.different parent same child timestamp before assembly.xml"
Then
Robot should see response status "success"
  • @positive
Record a part assembly with a child that has already been assembled when timestamp is after the previous assembly
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses HTTP method "POST"
And
uses XML-file "Assemble.QC1-3.different parent same child timestamp after assembly.xml"
Then
Robot should see response status "success"
  • @positive
  • @acceptance
Request assemble
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.first assembly.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"
  • @negative
Request assemble with duplicate timestamp but different child lot
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.second assembly.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"
  • @positive
Request assemble with an blank operator name
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.blank operator name.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"
  • @positive
Request assemble with no operator tag in xml
Given
XYZ API domain, Parts namespace and username "[email protected]" with password "aut"
When
Robot requests service name "assemble"
And
uses XML-file "Assemble.no operator tag.xml"
And
uses HTTP method "POST"
Then
Robot should see response status "success"

Last published almost 7 years ago by dabravolski.