Simple AFS Testing

Relevant XP Stories

Test environment

Hard Ware

Accounts

  • Instructor accounts:
    • sakaiinst1, sakaiinst2
  • TA accounts:
    • sakaita1, sakaita2
  • Student accounts:
    • sakaistu1, sakaistu2, sakaistu3, sakaistu4

Sites

  • Project: Project Simple AFS
    • maintain (sakaiinst1, sakaiinst2, sakaita1, sakaita2)
    • access (sakaistu1, sakaistu2, sakaistu3, sakaistu4)
  • Course: Course Simple AFS
    • Instructor (sakaiinst1, sakaiinst2)
    • TA (sakaita1, sakaita2)
    • Student (sakaistu1, sakaistu2, sakaistu3, sakaistu4)

The following tests are done by the QA team

(info) Please refer to the different "Scenarios" in the test results

Testing tools that rely on the resources service/tool and or implemented their own resource solution

Scenario 1

  • Samigo : Uses its own resource implementation
  • Functionality:
    • The question type "File Upload" stores the uploaded file in "/var/samigo/jsf" --> "/afs/.ucdavis.edu/ap p/sakai/misc/samigo/smrtsite/jsf"
  • How To Test:
    • Create a quiz that contains at least one question of type "File Upload". Publish the quiz and take it as a student. Once the student has submitted the quiz, an instructor access the submitted quiz and retrieves the uploaded file.
    • (Extended Test) Take the quiz as another student.
    • (Extended Test) Take the quiz as another student but upload the same file (same file name) that the first student uploaded.
  • Expected Outcome:
    • After the student has uploaded the file, the file should be retrievable when the instructor looks at the submitted quiz. Also, the file needs to be present in the above mentioned location in AFS space.

Scenario 2

  • Melete : Uses its own resource implementation
  • Functionality:
    • During the Content Section creation step, you can choose to "upload a file for this section's content"
    • The uploaded file is temporarily stored at: "/var/uploads" --> "/afs/.ucdavis.edu/app/sakai/misc/melete/smartsite/uploads"
    • After temporarily storing it in "/var/uploads" the file is moved to: /var/meleteDocs" --> "/afs/.ucdavis.edu/app/sakai/misc/melete/smartsite/meleteDocs"
      • Under meleteDocs, melete creates sub-folders, one per instructor (author) e.g. meleteDocs/inst_<some user name> (e.g. inst_tpa) and finally stores all the content in there.
  • How To Test:
    • Add a module (test module 1)
    • Add a content section (test section 1)
    • In the "You can create content for this section in one of three ways:" part, select "upload a file for this section's content"
    • Browse to file and click add
    • Click on Finish
  • Expected Outcome:
    • After clicking on "View" and selecting "test module 1" --> "test section 1", you should see the content of the uploaded file displayed in that page. Also, the file need to be present in the above mentioned location in AFS space.

Scenario 3

  • Resources Tool: This is Sakai's main resource/content tool/service
  • Functionality:
    • Use a site's (My Workspace, Course, Project) Resources tool to add and retrieve content. The content is stored in "/var/sakai/content" --> "/afs/.ucdavis.edu/app/sakai/misc/content/smartsite".
  • How To Test:
    • Add, remove, edit content by using the Resources graphical user interface. This needs to be tested for all three types of sites (My Workspace, Course, Project)
    • Add, remove, edit content using WebDAV. This needs to be tested for all three types of sites (My Workspace, Course, Project)Instructions for using WebDAV:
      • In the Resources tool, click on "Upload-Download Multiple Resources"
      • Upload/retrieve single files
      • Upload/retrieve folders containing files as well as sub-folders
  • Expected Outcome:
    • All uploaded files/folders are visible in the Resources tool
    • Also, the files/folders need to be present in the above mentioned location in AFS space.
    • All retrieved/downloaded files/folders need to be present in the downloaded to location.

Scenario 4

  • Any tool that uses Sakai's resources tool/service
  • Functionality:
    • There are a number of tools/services in Sakai that use the Sakai resources tool/service API. These tools are:
      • Administration Workspace: Site Archive Tool
      • Drop Box
      • Syllabus Attachments (Resources Picker)
      • Message Center Attachments (Resources Picker)
      • Schedule Attachments (Resources Picker)
      • Announcement Attachments (Resources Picker)
      • rWiki resource link (Resources Picker)
      • Assignments Attachments (Resources Picker)
  • How To Test:
    • Test the following:
      • Site Archive Tool
      • Drop Box
      • One or two of the remaining tools that use Attachments via the Resources Picker
  • Expected Outcome:
    • Site Archive Tool
      • Being able to archive a site. Archived site is stored at "/var/sakai/archive" --> "/afs/.ucdavis.edu/app/sakai/misc/archive/smartsite"
    • Drop Box:
      • Stores content in "/var/sakai/content/vol[1-5]" --> "/afs/.ucdavis.edu/app/sakai/misc/content/smartsite/vol[1-5]"
    • Attachments (Resources Picker)
      • Stores content in "/var/sakai/content/vol[1-5]" --> "/afs/.ucdavis.edu/app/sakai/misc/content/smartsite/vol[1-5]"

The following tests are done by the sakai programming team

UCD White List Job, Set Provider Id Job, Course Batch Job, Black List Service

  • Functionality:
    • The above tools help us to create courses on demand, prevent creating the same course more than once, setting a provider id for a course, and create courses for a specific termYear and termID. The relevant files are located in:
      • "/var/sakai/ucd-data" – > "/afs/.ucdavis.edu/app/sakai/misc/ucd-data/smartsite"
  • How To Test:
    • Run one of the above JOBs. Depending on the job, it should either be able to read the white-list.txt, black-list.txt, and or provider-id.txt file from the above location.
  • Expected Outcome:
    • Job runs without any errors showing up in tomcat's catalina.out

Testing different error scenarios

– Unmount volumes
– Change volume permissions ACL, read, write, modify, etc.

Load testing

  • Come up with a scenario with highly dynamic (lots of edits) content and test for slowness
  • Create many new small files using webdav (create 3000 files)