To add a collaborator to this project you will need to use the Relish gem to add the collaborator via a terminal command. Soon you'll be able to also add collaborators here!
More about adding a collaboratorGenealogy - Parts
A Robot should be able to interact with Assemble service using XYZ API
- Scenarios
-
- Request to incorrect API namespace
- Request to incorrect API service name
- User not authorized for API calls
- Non-POST request to Assemble service
- Request Assemble service with incorrect or empty XML-content
- Request assemble with serial number > the maximum length in the database (200)
- Request assemble with blank serial number
- Request assemble with a blank required APS attribute (string)
- Request assemble with a blank required APS attribute (integer)
- Request assemble with a blank required APS attribute (double)
- Request assemble with a blank required APS attribute (boolean)
- Request assemble with a blank required APS attribute (timestamp)
- Request assemble with an invalid APS format (string)
- Request assemble with an invalid APS attribute value (integer)
- Request assemble with an invalid APS attribute value (double)
- Request assemble with an invalid APS attribute value (boolean)
- Request assemble with an invalid APS attribute value (timestamp)
- Request assemble with only one child part specified out of two
- Request assemble with too many parts (lot based)
- Request assemble with an invalid GUID
- Request assemble with an invalid operator name
- Validate previous scenario
- Request assemble with serial number > the maximum length in the UI (20)
- Validate previous scenario
- Record a part assembly event with child lots
- Validate previous scenario
- Record a part assembly with a duplicate child lot
- Validate previous scenario
- Validate previous scenario
- Record a part assembly
- Validate previous scenario
- Record a part assembly event and change a part attribute from a previous assembly
- Validate previous scenario
- Successfully record a part assembly
- Record a part assembly with a child that has already been assembled when timestamp is before the previous assembly
- Record a part assembly with a child that has already been assembled when timestamp is after the previous assembly
- Request assemble
- Request assemble with duplicate timestamp but different child lot
- Request assemble with an blank operator name
- Request assemble with no operator tag in xml
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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]"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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'"
- 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"
- 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
- 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"
- 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
- 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"
- 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
- 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"
- 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
- 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
- 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"
- 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
- 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"
- 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
- 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"
- 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"
- 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"
- 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"
- 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"
- 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"
- 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.