WMS command line tests

Package WMS-cli contains tests for automating functional testing of the command line interface (CLI) of WMS service.

The main goal of these tests is to check the behavior of each of these commands with different meaningful options for every command. Testing extensively the behavior of the service is out of the scope of this suite, the result of the operation on the server side is not considered, and nevertheless the command must be able to manage correctly any result reported by the service.

Covered the following commands:

  • glite-wms-job-cancel

  • glite-wms-job-delegate-proxy

  • glite-wms-job-info

  • glite-wms-job-list-match

  • glite-wms-job-logging-info

  • glite-wms-job-output

  • glite-wms-job-perusal

  • glite-wms-job-status

  • glite-wms-job-submit

1) WMS-command_job-cancel.py

This test is intended to verify glite-wms-job-cancel command

Test the command with these options:

  • --version

  • --config

  • --output

  • --logfile

  • --logfile and --debug

  • --input

  • all options together

success means that the final state of the job is "Cancelled"
  • cancel a finished job. Succes if command fails.

2) WMS-command_job-delegate-proxy.py

This test is intended to verify glite-wms-job-delegate-proxy command

Test the command with these options:

  • --version

  • --autm-delegation

  • --config

  • --delegationid

  • --output

  • --logfile

  • --debug and --logfile

  • --endpoint

success means that command has success, delegation is stored in the WMS and that we are able to submit a job.

The following tests are possible only in interactive mode (i.e. use option -i)

  • Delegate a shorter proxy

  • Try to delegate with an expired proxy

  • Try to submit with an expired delegation

3) WMS-command_job-info.py

This test is intended to verify glite-wms-job-info command

Test these options for all the command: --jdl-original --jdl --proxy --delegationid

  • --version

  • --input

  • --config

  • --output

  • --logfile

  • --debug and --logfile

  • --endpoint

  • all options together

success if command returns 0
  • Check if the JobID is set correctly in the retrieved jdl

  • Check if the expiration time of the delegation is set correctly"

4) WMS-command_job-list-match.py

This test is intended to verify glite-wms-job-list-match command

Test the command with these options:

  • --version

  • --autm-delegation

  • --config

  • --logfile

  • --debug

  • --output

  • --endpoint

  • --rank

  • all options together

success if command returns 0
  • Test a failure matching (requirements = false). Success if no matching is found.

  • Test a restricted matching (only Cream CEs). Success if none LCG CE matches.

  • Test delegation proxy option --delegationid (delegate before the mm). Success if command returns 0.

5) WMS-command_job-logging-info.py

This test is intended to verify glite-wms-job-logging-info command

Test the command with these options:

  • --version

  • --config

  • --output

  • --logfile

  • --debug and –logfile

  • --verbosity ([0|1|2|3])

  • --input

  • --to

  • --from

  • --event (show only ACCEPTED events)

  • --exclude (exclude ACCEPTED events)

  • --user-tag

  • all the options together (extract only EnQueued events)

success if command returns 0 and output is as expected.

6) WMS-command_job-output.py

This test is intended to verify glite-wms-job-output command

Test the command with these options:

  • --version

  • --config

  • --logfile

  • --debug and --logfile

  • --dir

  • --nosubdir

  • --list-only

  • --nopurge

  • --input

success means that the status is "CLEARED" (otherwise a WARNING is produced) and that output files std.out and std.err are correctly retrieved.
  • Try to retrieve output of a Cleared job. Success if command failed.

7) WMS-command_job-perusal.py

This test is intended to verify glite-wms-job-perusal command

Test the command with these options:

  • --version

  • --set

  • --unset

  • --set with --config

  • --set with --output

  • --set with --logfile

  • --set with --logfile and --debug

  • --set with --nodisplay

  • --get

  • --get with --dir

  • --get with --nodisplay and --all

success if the retrieved pieces of file are exactly the job's output.
  • Retrieve job's output. Success if output file does not differ from the previous retrieved.

8) WMS-command_job-status.py

This test is intended to verify glite-wms-job-status command

Test the command with these options:

  • --version

  • --config

  • --output

  • --logfile

  • --debug

  • --verbosity ([0|1|2|3])

  • --input

success if command returns 0

Testing these options requires certain indexing capabilities to be enabled on the LB server, so they can failed.

  • --exclude (exclude Waiting, Done, Cleared and Aborted jobs)

  • --status (look for Waiting job)

  • --user-tag

success if command output is as expected.

9) WMS-command_job-submit.py

This test is intended to verify glite-wms-job-submit command

Test the command with these options:

  • --version

  • --autm-delegation

  • --delegationid

  • --config

  • --endpoint

  • --output

  • --logfile

  • --nomsg

  • all options together

success if command returns 0
  • --input option (with --noint)

  • --resource option

  • --nodes-resource option

success if job is submit to the required CE
  • --register-only option

success if job is in state Submitted
  • --start option

success if job correctly terminated
  • --transfer-files --proto option

success if job output is as expected (i.e. files are correctly transferred)
  • --valid option

  • --to option

success if ExpiryTime is correctly set in the jdl and if job aborted with reason request expired
  • --default-jdl option

success if the attribute id the default-jdl is add to the job's jdl
  • --collection

success if job collection is submitted successfully


This topic: WMS > WebHome > WmsCliTestSuite
Topic revision: r1 - 2011-07-13 - AlessioGianelle
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback