Overview
This page defines test cases for the standalone iRODS stack. This is separate from the Dataverse Stack Test Cases]
Global Preconditions
- Kubernetes is running
- NDSLabs is running
- Project has been created
- User is logged in to project
NDSLabs GUI
Service List
- Preconditions:
- User is logged in to project
- Expected results:
- "iRODS" appears in the NDSLabs service list
- Service description appears in tooltip
Add Stack – no existing volumes
- Pre-Conditions
- No existing volumes
- Test Steps
- User selects "iRODS" stack from service list, wizard is displayed
- Required services:
- iCAT
- Optional services:
- iRODS Cloudbrowser UI (installs Cloudbrowser rest API)
- Configuration:
- iCAT
- "rods" password (required)
- zone (default = fedZone, optional)
- Cloudbrowser API
- zone (default = empty, optional but must match iCAT zone)
- iCAT
- Volumes:
- iCAT requires a volume
- Postgres requires a volume (/var/lib/postgresql/9.3/main) (open issue)
- Expected results
- Stack is created with iCAT and optional Cloudbrowser UI, CloudBrowser API
- Stack is stopped
Launch Stack
- Pre-Conditions
- Stack has been added
- Stack is stopped
- Test Steps
- Select "Launch Stack"
- Expected results
- All services are started without error (~ 1 minute)
- Endpoint link is displayed next to Cloudbrowser UI
- Endpoint link is not displayed next to iCAT
View Container Logs
- Pre-Conditions
- Stack has been started
- Test Steps
- Select "Logs" for each service
- Expected results
- Logs are viewable for each service
View Cloudbrowser UI
- Pre-Conditions
- Stack is started
- Optional Cloudbrowser UI is selected
- Test Steps
- Select endpoint link next to Cloudbrowser UI service name, login page displayed
- Enter "rods" username and password (see config link on iCAT, if forgotten)
- Expected results
- Cloudbrowser UI is displayed with fedZone/home/rods. You can now interact as usual.
Stop Stack
- Pre-Conditions
- Stack is started
- Test Steps
- Select "Stop Stack"
- Expected results
- All services in stack are stopped (after ~ 1 minute)
- Delete stack and Launch stack buttons are enabled
Remove optional services
- Pre-conditions:
- Stack has been stopped
- Optional Cloudbrowser UI has been added
- Test steps:
- Select "Remove" next to iRODS cloudbrowser UI
- select "Remove" next to iRODS cloudbrowser API
- Expected results
- Cloudbrowser UI and Cloudbrowser API services are removed from stack
Delete stack - delete data
- Pre-Conditions
- Stack is stopped
- Test Steps
- Select "Delete Stack"
- Select "Yes, and delete the data"
- Expected results
- Stack is deleted, volume is removed
- Stack is deleted, volume is removed
The following cases will not work until we separate the iCAT and PostGRES services or add support for multiple volumes on a single service.
Add Stack – existing volumes
This is currently not working, since the iCAT container requires two distinct volumes (Vault and Postgres)
- Pre-Conditions
- Volume exists from previous stack (see Delete stack – preserve volume)
- Test Steps
- User selects "iRODS" stack from service list, wizard is displayed
- Required services:
- iCAT
- Optional services:
- iRODS Cloudbrowser UI (installs Cloudbrowser rest API)
- Configuration:
- iCAT
- "rods" password (required)
- zone (default = tempZone, optional)
- Cloudbrowser API
- zone (default = tempZone, optional but must match iCAT zone)
- Select use previous iCAT volume
- Postgres requires a volume (/var/lib/postgresql/9.3/main) (open issue)
- Expected results
- Stack is created with iCAT and optional Cloudbrowser UI, CloudBrowser API
- Stack is stopped
- Optional flow – see Restart stack case (volume is reused)
Restart Stack
This is currently not working, since the iCAT container requires two distinct volumes (Vault and Postgres)
- Pre-Conditions
- Stack was previously started
- Stack is stopped
- Test Steps
- Select "Launch stack"
- Select "Cloudbrowser UI" endpoint link
- Login
- Expected results
- Stack is started (~1 minute)
- Previously uploaded files are present
Delete stack - preserve data
This is currently not working, since the iCAT container requires two distinct volumes (Vault and Postgres)
- Pre-Conditions
- Stack is stopped
- Test Steps
- Select "Delete stack"
- Select "Yes, but save the data"
- Expected results
- Stack is deleted, but volume remains (see Volumes tab)
- Optional flow: Add stack – existing volume