Delegation test plan

Service Description

Delegation is used to delegate clients' credentials to a service. The service part of delegation is done using the java delegation library. This testplan contains the descriptions for the tests for that library.

Delegation java is not a standalone service and needs to be integrated to another service to be used. Hence these tests are designed to test that the API to the delegation libraries does not break backwards compatibility. It also tests the internal workings of delegating credentials work as expected. Both database and file system backends are tested.

The tests should be split into two, one side tests the client side integration (and at the same time server side functionality) and the other side tests server side integration.

Features/Scenarios to be tested

'Server API tests' (not implemented)
This tests should check that the server API has not changed from the previous version, and should integrate with the delegation libraries as any other program.

Normal workflow - correct input
The test code is compiled, and deployed as a webapp.

Pass/Fail Criteria
The test fails if it does not compile, or if it throws unexpected exceptions.

Error workflow - erroneous input
N/A

Pass/Fail Criteria
N/A

'Server backend tests' (not implemented)
This tests should check that the server can use both database and file backends.

Normal workflow - correct input
A proxy is delegated for both cases.

Pass/Fail Criteria
If the proxy is visible in the filesystem/database the test succeeds, otherwise it fails.

Error workflow - erroneous input
N/A

Pass/Fail Criteria
N/A

'Client API tests' (not implemented)
This tests should check that the client API has not changed from the previous version, and should integrate with the delegation libraries as any other client.

Normal workflow - correct input
The test code is compiled against the new version of delegation-java.

Pass/Fail Criteria
The test fails if the compilation fails.

Error workflow - erroneous input
N/A

Pass/Fail Criteria
N/A

'Delegate proxy' (not implemented)
This tests should check that proxy delegation

Normal workflow - correct input
normally try to delegate a proxy in following cases:
  • using getProxyReq without an explicit delegation ID
  • using getProxyReq with the default delegation ID
  • using getProxyNewReq with the default delegation ID
  • Race condition test
    • starting a delegation (A) for a given ID
    • starting and finishing delegation (B) for the same ID
    • putting a proxy for delegation (A)

Pass/Fail Criteria
In all cases, the result should be a working proxy. This should be confirmed on the storage side.

Error workflow - erroneous input
Test following cases, try delegating (using both getProxyReq and getNewProxyReq where possible)
  • by putting proxy without having started a delegation
  • by putting a proxy with an already existing delegation with that ID
  • by generating an already existing delegation ID
  • by delegating with an delegation ID used by another user

Pass/Fail Criteria
All scenarios should fail with a proper exception

'Renew proxy' (not implemented)
This tests should check that proxy renewal works

Normal workflow - correct input
normally try to renew an existing proxy in following cases:
  • using an explicit delegation ID
  • using the default delegation ID

Pass/Fail Criteria
In all cases, the result should be a working proxy. This should be confirmed on the storage side.

Error workflow - erroneous input
Test following cases, try renewing a proxy
  • when there is no proxy with that ID (explicit)
  • when there is no proxy with that ID (default)
  • the delegation ID is used by another user

Pass/Fail Criteria
All scenarios should fail with a proper exception

'Destroy proxy' (not implemented)
This tests should check that proxy removal works

Normal workflow - correct input
normally try to destroy an existing proxy in following cases:
  • using an explicit delegation ID
  • using the default delegation ID

Pass/Fail Criteria
In all cases, the proxy should have been removed

Error workflow - erroneous input
Test following cases, try destorying a proxy
  • when there is no proxy with that ID (explicit)
  • when there is no proxy with that ID (default)
  • the delegation ID is used by another user

Pass/Fail Criteria
All scenarios should fail with a proper exception

'Get proxy information' (not implemented)
This tests should check that proxy removal works

Normal workflow - correct input
normally try to get info from an existing proxy in following cases:
  • using an explicit delegation ID
  • using the default delegation ID

Pass/Fail Criteria
In all cases, the proxy lifetime should be retrieved

Error workflow - erroneous input
Test following cases, try get info for a proxy
  • when there is no proxy with that ID (explicit)
  • when there is no proxy with that ID (default)
  • the delegation ID is used by another user

Pass/Fail Criteria
All scenarios should fail with a proper exception

Features not to be tested

'Feature Summary'

Description and explanation for not being included in the current test plan -- KalleHapponen - 17-Feb-2010
Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2010-02-23 - unknown
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    EGEE All webs login

This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Ask a support question or Send feedback