XUUDB Test Plan

Service/Component description and version

See the reference card XUUDB Service

XUUDB is deployed as an administrative domain-central service which might serve one or more domain's servers. XUUDB is not considered a good choice as a grid-central service.

Version: 1.3.2

Functionality tests

[TO BE DONE - Add remaining cases, the current list is complete only for the initial release in EMI-1.]

The following tests use the term "entry specification" which can be any mix of the following properties: siteID, user credential, role, xlogin, gid. The following tests use the term "user properties" which means: role, xlogin and gid (= user's project).

TBD: tests implementations should be slightly extended to cover different arguments combinations

Adding a user (implemented: xuudb_add)
It is possible to add a user providing an entry specification.

After addition a correct entry must be present in the output of the list operation.

Updating a user (implemented: xuudb_update)
It is possible to update user entry by invoking the add operation using the same credentials and new user properties.

After addition an updated entry must be present in the output of the list operation.

Removing a user (implemented: xuudb_remove)
It is possible to remove a user providing any site id and credential as arguments.

After removing a correct entry it must be missing in output of the list operation. Removing of the non-existing user must do nothing.

Integration tests

TBD

Performance tests

Test number of requests per second served using a database with 500 user entries, each with full record (xlogin, project). The test should be run twice: using XUUDB server configured in DN mode and in certificate mode. The test should perform requests querying for at least 100 different users, many times, with a random ordering. Note, that this test is closely linked with the respective test of the UNICORE AIP component. TBD: Define PASS criteria (implemented: xuudb_performance)

Scalability tests

The database of the attribute source should be pre-filled with 100 users. Start 50 threads, each performing 200 iterations. 40 of the threads must (in each iteration) get information about a one of the existing users. The remaining 10 threads in each iteration must add a new user, get its properties and delete it. Results of each iteration must be verified for correctness. Test is passed if all iterations succeeded. (implemented: xuudb_scalability)

Standard Compliance/Conformance tests

N/A

Regression tests and unit tests

Unit tests coverage must be included in the test report. All bugs reported should have an automated regression test attached if it is possible. Otherwise manual bug checking procedure should be added to this section. Note that this applies to bugs reported from the 1.11.2010.

Regression tests to be performed manually:

  • N/A

Deployment tests

  1. Install from the binary package unicore-xuudb.
  2. Prepare a JKS keystore with one certificate (may be self-signed).
  3. Configure the service by setting values of the properties in /etc/unicore/xuudb/xuudb_server.conf:
    • xuudb_http_host = YOUR_HOSTNAME
    • xuudb_keystore_file = KEYSTORE_PATH
    • xuudb_keystore_type = JKS
    • xuudb_keystore_password = KEYSTORE PASSWD
  4. and comment out the following properties:
    • xuudb_truststore_file
    • xuudb_truststore_type
    • xuudb_truststore_password
  5. Add DN of the certificate from the keystore as a separate line to the file /etc/unicore/xuudb/xuudb.acl in RFC 2253 format.
  6. Start service using system init script by root /etc/init.d/unicore-xuudb.
  7. There should be no errors/warnings in the log files.
  8. Server's process uid should be 'unicore'.
  9. Perform the same modifications in /etc/unicore/xuudb/xuudb_client.conf as done previously in /etc/unicore/xuudb/xuudb_server.conf.
  10. Use XUUDB command line client to add a demo user with defined xlogin, project, role and gcid. Command must not report any error.
  11. Use XUUDB command line client to list registered users. The user added in the previous step should be listed with the same properties as were set. Command must not report any error.
  12. There should be no errors/warnings in the server's log file.

-- ClaudioCacciari - 17-Dec-2010

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2011-08-08 - KarolStasiakExternal
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EMI All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback