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)
    • 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


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)
      Volumes: 
      • 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
  • No labels