Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions functional_tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Roost Generated Functional Test

**Execution Date:** 1/11/2026, 12:01:48 PM

**Test Unique Identifier:** "roost_test_1768113016"

**Input(s):**
1. bankspromot.txt
Path: ../tcs/bankspromot.txt

**Test Output Folder:**
1. [roost_test_1768113016.json](roost_test_1768113016/roost_test_1768113016.json)
2. [roost_test_1768113016.feature](roost_test_1768113016/roost_test_1768113016.feature)
3. [roost_test_1768113016.csv](roost_test_1768113016/roost_test_1768113016.csv)
4. [roost_test_1768113016.xlsx](roost_test_1768113016/roost_test_1768113016.xlsx)
5. [roost_test_1768113016.docx](roost_test_1768113016/roost_test_1768113016.docx)

---

24 changes: 24 additions & 0 deletions functional_tests/roost_test_1768113016/.roost/roost_metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"project": {
"name": "roost_test_1768113016",
"created_at": "2026-01-11T06:31:48.279Z",
"updated_at": "2026-01-11T06:31:48.279Z"
},
"files": {
"input_files": [
{
"fileName": "roost_test_1768113016.txt",
"fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/1768113016/functional_tests/roost_test_1768113016/roost_test_1768113016.txt",
"fileSha": "cf83e1357e"
},
{
"fileName": "bankspromot.txt",
"fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/1768113016/functional_tests/roost_test_1768113016/bankspromot.txt",
"fileSha": "14a19da7ed"
}
]
},
"api_files": {
"input_files": []
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"Scenario: Agent Login with SSO and MFA"
"Scenario Outline: Supervisor Role-Based Access Control"
"Scenario Outline: Customer Identity Verification via OTP"
"Scenario Outline: Access Control on Transaction Handling by Agents"
"Scenario Outline: Secure Password Reset Process"
"Scenario Outline: Fraudulent Transaction Alerts and Blocking"
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
Feature: Security and Access Control Functional Testing

# UI Test Scenarios
@ui
Scenario: Agent Login with SSO and MFA
Given I navigate to the login page
When I enter "agent****" as username and proceed with SSO
And I complete the MFA step using "****1234" as OTP
Then I should see a success message and access the system dashboard

@ui
Scenario Outline: Supervisor Role-Based Access Control
Given I log in as <role>
When I attempt to access the supervisor dashboard
Then I should see <access_message>

Examples:
| role | access_message |
| supervisor | Access granted |
| agent | Not authorized message |

# API Test Scenarios
@api
Scenario Outline: Customer Identity Verification via OTP
Given the API base URL is "https://api.example.com"
And the authorization token is set
When I initiate a high-risk transaction for customer with phone "+1*****1234"
And the system sends an OTP "****5678"
Then I send a POST request to "/api/verifyOTP" with payload """
{
"otp": "<otp>"
}
"""
And the response status should be <status>
And the response should contain "<message>"

Examples:
| otp | status | message |
| ****5678 | 200 | Transaction successful |
| wrongOTP | 401 | Invalid OTP |

@api
Scenario Outline: Access Control on Transaction Handling by Agents
Given I log in as <user_type> with appropriate credentials
When I navigate to the transaction handling section
Then I attempt to access a transaction requiring supervisor approval
And the response status should be <status>
And the response should contain "<access_message>"

Examples:
| user_type | status | access_message |
| agent | 403 | Not authorized |
| supervisor| 200 | Access granted |

@api
Scenario Outline: Secure Password Reset Process
Given the API base URL is "https://api.example.com"
When I initiate password reset for "agent****@example.com"
And I verify using "****1234" as OTP
Then I send a PATCH request to "/api/passwordReset" with payload """
{
"newPassword": "<new_password>"
}
"""
And the response status should be <status>
And the response should contain "<message>"

Examples:
| new_password | status | message |
| ****1234 | 200 | Password reset successful |
| short | 400 | Invalid password |

# Mixed UI and API Scenarios
@ui @api
Scenario Outline: Fraudulent Transaction Alerts and Blocking
Given I execute a transaction with ID "TXN****" that violates fraud detection rules
When the fraud detection system flags the transaction
Then the transaction is blocked
And an alert is sent to designated personnel with details "<alert_message>"

Examples:
| alert_message |
| Alert: Excessive Amount Detected |
| Alert: Transaction Suspended |
Loading