plugin: user-interact-verify
id: software/update_manager_finds_updates
depends: ethernet/detect
user: root
requires: package.name == 'update-manager'
_description:
 PURPOSE:
  This test will check that the update manager can find updates.
 STEPS:
  1. Click Test to launch update-manager.
  2. Follow the prompts and if updates are found, install them.
  3. When Update Manager has finished, please close the app by clicking the Close button in the lower right corner.
 VERIFICATION:
  Did Update manager find and install updates (Pass if no updates are found,
  but Fail if updates are found but not installed)
command: update-manager --check-dist-upgrades

plugin: user-interact-verify
id: software/nautilus_folder_create
requires: package.name == 'nautilus'
command: nautilus
_description:
 PURPOSE:
  This test will check that the file browser can create a new folder.
 STEPS:
  1. Click Test to open the File Browser.
  2. On the menu bar, click File -> Create Folder.
  3. In the name box for the new folder, enter the name Test Folder and hit Enter.
  4. Close the File browser.
 VERIFICATION:
  Do you now have a new folder called Test Folder?

plugin: user-interact-verify
id: software/nautilus_folder_copy
depends: software/nautilus_folder_create
command: nautilus
_description:
 PURPOSE:
  This test will check that the file browser can copy a folder
 STEPS:
  1. Click Test to open the File Browser.
  2. Right click on the folder called Test Folder and click on Copy.
  3. Right Click on any white area in the window and click on Paste.
  4. Right click on the folder called Test Folder(copy) and click Rename.
  5. Enter the name Test Data in the name box and hit Enter.
  6. Close the File browser.
 VERIFICATION:
  Do you now have a folder called Test Data?

plugin: user-interact-verify
id: software/nautilus_folder_move
depends: software/nautilus_folder_copy
command: nautilus
_description:
 PURPOSE:
  This test will verify that the file browser can move a folder.
 STEPS:
  1. Click Test to open the File Browser.
  2. Click and drag the folder called Test Data onto the icon called Test Folder.
  3. Release the button.
  4. Double click the folder called Test Folder to open it up.
  5. Close the File Browser.
 VERIFICATION:
  Was the folder called Test Data successfully moved into the folder called Test Folder?

plugin: user-interact-verify
id: software/nautilus_file_create
depends: software/nautilus_folder_create
command: nautilus $HOME/"Test Folder"
_description:
 PURPOSE:
  This test will check that the file browser can create a new file.
 STEPS:
  1. Click Select Test to open the File Browser.
  2. Right click in the white space and click Create Document -> Empty Document.
  3. Enter the name Test File 1 in the name box and hit Enter.
  4. Close the File browser.
 VERIFICATION:
  Do you now have a file called Test File 1?

plugin: user-interact-verify
id: software/nautilus_file_copy
depends: software/nautilus_file_create
command: nautilus $HOME/"Test Folder"
_description:
 PURPOSE:
  This test will check that the file browser can copy a file.
 STEPS:
  1. Click Test to open the File Browser.
  2. Right click on the file called Test File 1 and click Copy.
  3. Right click in the white space and click Paste.
  4. Right click on the file called Test File 1(copy) and click Rename.
  5. Enter the name Test File 2 in the name box and hit Enter.
  6. Close the File Browser.
 VERIFICATION:
  Do you now have a file called Test File 2?

plugin: user-interact-verify
id: software/nautilus_file_move
depends: software/nautilus_file_copy
command: nautilus $HOME/"Test Folder"
_description:
 PURPOSE:
  This test will check that the file browser can move a file.
 STEPS:
  1. Click Test to open the File Browser.
  2. Click and drag the file called Test File 2 onto the icon for the folder called Test Data.
  3. Release the button.
  4. Double click the icon for Test Data to open that folder up.
  5. Close the File Browser.
 VERIFICATION:
  Was the file Test File 2 successfully moved into the Test Data folder?

plugin: user-interact-verify
id: software/nautilus_file_delete
depends: software/nautilus_file_create
command: nautilus $HOME/"Test Folder"
_description:
 PURPOSE:
  This test will check that the file browser can delete a file.
 STEPS:
  1. Click Test to open the File Browser.
  2. Right click on the file called Test File 1 and click on Move To Trash.
  3. Verify that Test File 1 has been removed.
  4. Close the File Browser.
 VERIFICATION:
   Is Test File 1 now gone?

plugin: user-interact-verify
id: software/nautilus_folder_delete
depends: software/nautilus_folder_create
command: nautilus
_description:
 PURPOSE:
  This test will check that the file browser can delete a folder.
 STEPS:
  1. Click Test to open the File Browser.
  2. Right click on the folder called Test Folder and click on Move To Trash.
  3. Verify that the folder was deleted.
  4. Close the file browser.
 VERIFICATION:
  Has Test Folder been successfully deleted?

plugin: local
_summary: Common Document Types Test
id: software/view_office_document
requires: package.name == "ubuntu-desktop"
_description: Common Document Types Test
command:
 cat <<'EOF' | run_templates -s "find $PLAINBOX_PROVIDER_DATA/documents -type f"
 id: `basename $0`_test
 plugin: user-interact-verify
 description:
  PURPOSE:
   This test will check that common office document types can be opened in the default application.
  STEPS:
   1. Click Test to open the file '$0' with its default viewer.
   2. After the viewer opens, check out the file that was opened.
   3. Close the application (LibreOffice, Doc Viewer, etc.)
  VERIFICATION:
   Did the application open the document properly? (e.g was it displayed and did it function properly?)
 command: xdg-open $0
 EOF

plugin: local
_summary: Common Document Types Test
id: software/audio_file_play
requires: package.name == "ubuntu-desktop"
_description: Common Document Types Test
command:
 cat <<'EOF' | run_templates -s "find $PLAINBOX_PROVIDER_DATA/audio -type f"
 id: `basename $0`_test
 plugin: user-interact-verify
 description:
  PURPOSE:
   This test will check that common audio files can be opened in the default player.
  STEPS:
   1. Click Test to open the audio file '$0' with its default player.
   2. After the player opens listen to the sound.
   3. Close the application.
  VERIFICATION:
   Did the application play the audio file properly? (no skips, crackles, etc)
 command: xdg-open $0
 EOF

plugin: local
_summary: Common Document Types Test
id: software/video_file_play
requires: package.name == "ubuntu-desktop"
_description: Common Document Types Test
command:
 cat <<'EOF' | run_templates -s "find $PLAINBOX_PROVIDER_DATA/video -type f"
 id: `basename $0`_test
 plugin: user-interact-verify
 description:
  PURPOSE:
   This test will check that common video files can be played in the default player.
  STEPS:
   1. Click Test to play the video '$0' with its default player.
   2. Watch the video.
   3. Close the application.
  VERIFICATION:
   Did the application play '$0' proplerly (no video or audio issues with playback?)
 command: xdg-open $0
 EOF

plugin: local
_summary: Common Document Types Test
id: software/view_image_file
requires: package.name == "ubuntu-desktop"
_description: Common Document Types Test
command:
 cat <<'EOF' | run_templates -s "find $PLAINBOX_PROVIDER_DATA/images -type f"
 id: `basename $0`_test
 plugin: user-interact-verify
 description:
  PURPOSE:
   This test will check that common image formats can be opened in the default viewer.
  STEPS:
   1. Click Test to attempt to open the image '$0' with its default viewer.
   2. Check out the file that was opened.
   3. Close the application.
  VERIFICATION:
   Did the image display properly?
 command: xdg-open $0
 EOF

plugin: user-interact-verify
id: software/firefox
requires: package.name == 'firefox'
command: firefox $PLAINBOX_PROVIDER_DATA/websites/testindex.html
_description:
 PURPOSE:
  This test will check that Firefox can render a basic web page.
 STEPS:
  1. Select Test to launch Firefox and view the test web page.
 VERIFICATION:
  Did the Ubuntu Test page load correctly?

plugin: user-interact-verify
id: software/firefox-flash
depends: software/firefox
requires: package.name == 'firefox'
command: firefox $PLAINBOX_PROVIDER_DATA/websites/flashtest.html
_description:
 PURPOSE:
  This test will check that Firefox can run flash applications. Note: this may
  require installing additional software to successfully complete.
 STEPS:
  1. Select Test to launch Firefox and view a sample Flash test.
 VERIFICATION:
  Did you see the text?

plugin: user-interact-verify
id: software/firefox-flash-video
depends: software/firefox-flash
requires: package.name == 'firefox'
command: firefox $PLAINBOX_PROVIDER_DATA/websites/flashvideo.html
_description:
 PURPOSE:
  This test will check that Firefox can play a Flash video. Note: this may
  require installing additional software to successfully complete.
 STEPS:
  1. Select Test to launch Firefox and view a short flash video.
 VERIFICATION:
  Did the video play correctly?

plugin: user-interact-verify
id: software/firefox-totem
depends: software/firefox
requires:
    package.name == 'firefox'
    package.name == 'gstreamer0.10-ffmpeg'
command: firefox $PLAINBOX_PROVIDER_DATA/video/Quicktime_Video.mov
_description:
 PURPOSE:
  This test will check that Firefox can play a Quicktime (.mov) video file.
  Note: this may require installing additional software to successfully
  complete.
 STEPS:
  1. Select Test to launch Firefox with a sample video.
 VERIFICATION:
  Did the video play using a plugin?

plugin: user-interact-verify
id: software/empathy-facebook_chat
requires: package.name == "empathy"
command: empathy
_description:
 PURPOSE:
  This test will check that Empathy messaging client works.
 STEPS:
  1. Select Test to launch Empathy.
  2. Configure it to connect to the Facebook Chat service.
  3. Once you have completed the test, please quit Empathy to continue here.
 VERIFICATION:
  Were you able to connect correctly and send/receive messages?

plugin: user-interact-verify
id: software/empathy-google_talk
requires: package.name == "empathy"
command: empathy
_description:
 PURPOSE:
  This test will check that Empathy messaging client works.
 STEPS:
  1. Select Test to launch Empathy.
  2. Configure it to connect to the Google Talk (gtalk) service.
  3. Once you have completed the test, please quit Empathy to continue here.
 VERIFICATION:
  Were you able to connect correctly and send/receive messages?

plugin: user-interact-verify
id: software/empathy-jabber
requires: package.name == "empathy"
command: empathy
_description:
 PURPOSE:
  This test will check that Empathy messaging client works.
 STEPS:
  1. Select Test to launch Empathy.
  2. Configure it to connect to the Jabber service.
  3. Once you have completed the test, please quit Empathy to continue here.
 VERIFICATION:
  Were you able to connect correctly and send/receive messages?

plugin: user-interact-verify
id: software/empathy-aim
requires: package.name == "empathy"
command: empathy
_description:
 PURPOSE:
  This test will check that Empathy messaging client works.
 STEPS:
  1. Select Test to launch Empathy.
  2. Configure it to connect to the AOL Instant Messaging (AIM) service.
  3. Once you have completed the test, please quit Empathy to continue here.
 VERIFICATION:
  Were you able to connect correctly and send/receive messages?

plugin: user-interact-verify
id: software/empathy-msn
requires: package.name == "empathy"
command: empathy
_description:
 PURPOSE:
  This test will check that Empathy messaging client works.
 STEPS:
  1. Select Test to launch Empathy.
  2. Configure it to connect to the Microsoft Network (MSN) service.
  3. Once you have completed the test, please quit Empathy to continue here.
 VERIFICATION:
  Were you able to connect correctly and send/receive messages?

plugin: user-interact-verify
id: software/evolution-pop3
requires: package.name == "evolution"
command: evolution
_description:
 PURPOSE:
  This test will check that Evolution works.
 STEPS:
  1. Click the "Test" button to launch Evolution.
  2. Configure it to connect to a POP3 account.
 VERIFICATION:
  Were you able to receive and read e-mail correctly?

plugin: user-interact-verify
id: software/evolution-imap
requires: package.name == "evolution"
command: evolution
_description:
 PURPOSE:
  This test will check that Evolution works.
 STEPS:
  1. Click the "Test" button to launch Evolution.
  2. Configure it to connect to a IMAP account.
 VERIFICATION:
  Were you able to receive and read e-mail correctly?

plugin: user-interact-verify
id: software/evolution-smtp
requires: package.name == "evolution"
command: evolution
_description:
 PURPOSE:
  This test will check that Evolution works.
 STEPS:
  1. Click the "Test" button to launch Evolution.
  2. Configure it to connect to a SMTP account.
 VERIFICATION:
  Were you able to send e-mail without errors?

plugin: user-interact-verify
id: software/gcalctool
requires: package.name == "gcalctool"
command: gcalctool
_description:
 PURPOSE:
  This test checks that gcalctool (Calculator) works.
 STEPS:
  Click the "Test" button to open the calculator.
 VERIFICATION:
  Did it launch correctly?

plugin: user-interact-verify
id: software/gcalctool-functions
depends: software/gcalctool
requires: package.name == "gcalctool"
command: gcalctool
_description:
 PURPOSE:
  This test checks that gcalctool (Calculator) works.
 STEPS:
  Click the "Test" button to open the calculator and perform:
  1. Simple math functions (+,-,/,*)
  2. Nested math functions ((,))
  3. Fractional math
  4. Decimal math
 VERIFICATION:
  Did the functions perform as expected?

plugin: user-interact-verify
id: software/gcalctool-memory
depends: software/gcalctool
requires: package.name == "gcalctool"
command: gcalctool
_description:
 PURPOSE:
  This test checks that gcalctool (Calculator) works.
 STEPS:
  Click the "Test" button to open the calculator and perform:
   1. Memory set
   2. Memory reset
   3. Memory last clear
   4. Memory clear
 VERIFICATION:
  Did the functions perform as expected?

plugin: user-interact-verify
id: software/gcalctool-clipboard
depends: software/gcalctool
requires: package.name == "gcalctool"
command: gcalctool
_description:
 PURPOSE:
  This test checks that gcalctool (Calculator) works.
 STEPS:
  Click the "Test" button to open the calculator and perform:
   1. Cut
   2. Copy
   3. Paste
 VERIFICATION:
  Did the functions perform as expected?

plugin: user-interact-verify
id: software/gedit
requires: package.name == "gedit"
command: gedit
_description:
 PURPOSE:
  This test checks that gedit works.
 STEPS:
  1. Click the "Test" button to open gedit.
  2. Enter some text and save the file (make a note of the file name you use), then close gedit.
 VERIFICATION:
  Did this perform as expected?

plugin: user-interact-verify
id: software/gedit-read
depends: software/gedit
requires: package.name == "gedit"
command: gedit
_description:
 PURPOSE:
  This test checks that gedit works.
 STEPS:
  1. Click the "Test" button to open gedit, and re-open the file you created previously.
  2. Edit then save the file, then close gedit.
 VERIFICATION:
  Did this perform as expected?

plugin: user-interact-verify
id: software/gnome-terminal
requires: package.name == "gnome-terminal"
command: gnome-terminal
_description:
 PURPOSE:
  This test will check that Gnome Terminal works.
 STEPS:
  1. Click the "Test" button to open Terminal.
  2. Type 'ls' and press enter. You should see a list of files and folder in your home directory.
  3. Close the terminal window.
 VERIFICATION:
  Did this perform as expected?

