AMGA Test Plan
EMI Component Description and Version
AMGA is a metadata catalogue that provides a tool to store, query and replicate metadata on the Grid.
AMGA uses a database backend to store metadata and uses ODBC in order to be database implementation independent.
AMGA uses Grid certificates or
VOMS proxies in order to give access to grid users. After a user is authenticated to an
AMGA server he/she can make queries and store metadata about anything (files, proteins, datasets etc).
This document is suitable for
AMGA 2.1.2. For the details, Please refer
here.
Unit tests
N/A
Deployment tests
Installation
The YUM repository needed to install the component is :
http://emisoft.web.cern.ch/emisoft/dist/EMI/1/RC1/sl5/x86_64/
The YUM command needed to test a clean installation is :
$ yum install glite-amga-server
The YUM command needed to test an upgrade installation :
$ yum upgrade glite-amga-server
Configuration
In case of Clean Installation (postgresql backend only):
$ /etc/rc.d/init.d/mdservice init
$ /etc/rc.d/init.d/mdservice restart
In case of upgrade Installation from v 1.3 (postgresql backend only) :
$ sudo -u postgres psql -q -U arda metadata < /opt/glite/share/doc/glite-amga-server/upgradePG_13_20.sql
$ sudo -u postgres psql -q -U arda metadata < /opt/glite/share/doc/glite-amga-server/upgradePG_20_21.sql
$ /etc/rc.d/init.d/mdservice restart
1) For more details, Please refer /opt/glite/etc/amgad.config file and Section 8 of the AMGA Manual.
2) Please make sure that LD_LIBRARY_PATH includes /opt/glite/lib64 and /opt/editline/lib
3) To make sure if it is configured successfully, type "mdclient" at the command line and check if it prints the follows.
$ mdclient
Connecting to localhost:8822...
ARDA Metadata Server
Query>
System tests
Basic functionality tests
1. Metadata manipulation command test : implemented
This test runs some basic functions on the
AMGA server.
Basic functions include creation/deletion of 'files' and 'directories'
inserting/deleting attributes to them and many other
AMGA commands.
* Test Suite
It is included at the
AMGA source tar ball.
link
- org.glite.amga.server/test/md-test
- org.glite.amga.server/test/md-test.cfg
For details, Please refer the attached document.
link
* Normal workflow - correct input
The test creates some directories and tries to enrich them with metadata and delete all of them in the end.
A successful completion of all commands shows that the service is running ok.
* Error workflow - erroneous input
In the case of a command failure the test exits and reports the erroneous commands
* Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
2. Native SQL Query Support test : implemented
This test is to test whether
AMGA can execute SQL queries to the underlying database.
The test is based on the NIST SQL-92 Test suite.
* Test Suite
It is included at the
AMGA source tar ball.
link
- org.glite.amga.server/test/md-test
- org.glite.amga.server/test/sql-test.cfg
- org.glite.amga.server/test/createTable.amga
For details, Please refer the attached document.
link
* Normal workflow - correct input
Given a valid SQL query, the test should return whether the query was successfully executed.
If the test succeeds it means that this specific functionality of
AMGA is really working.
* Error workflow - erroneous input
In the case of a command failure the test exits and reports the erroneous commands
* Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
3. Authorization test : implemented
The test checks if access control on directories and entries are properly processed at the
AMGA server.
At this test, a root account creates directories and files with various permissions and owners.
Then a user account tries to access them, and tests authorization features of
AMGA.
* Test Suite
It is included at the
AMGA source tar ball.
link
- org.glite.amga.server/test/author/*
For details, Please refer the attached document.
link
* Normal workflow - correct input
Given a query having proper previledge, the test should return whether the query was successfully executed.
Given a query having improper previledge, it should return whether error messages were successfully resulted.
If the test succeeds it means that this specific functionality of
AMGA is really working.
* Error workflow - erroneous input
In the case of a command failure the test exits and reports the erroneous commands
* Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
4. Replication test : implemented
This test initiates two
AMGA services (Master, Slave), and test whether replication are properly producted between them
* Test Suite
It is included at the
AMGA source tar ball.
link
- org.glite.amga.server/test/rep/*
For details, Please refer the attached document.
link
* Normal workflow - correct input
Given a valid query, the test should return whether the query was successfully executed.
If the test succeeds it means that the replication feature of
AMGA is really working.
* Error workflow - erroneous input
In the case of a command failure the test exits and reports the erroneous commands
* Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
5. Test of Federation : implemented
This test initiates two
AMGA services (AMGA1, AMGA2) and one federation service, and test whether data from AMGA1 and AMGA2 are properly federated at the federation service.
* Test Suite
It is included at the
AMGA source tar ball.
link
- org.glite.amga.server/test/fed/*
For details, Please refer the attached document.
link
* Normal workflow - correct input
Given a valid query, the test should return whether the query was successfully executed.
If the test succeeds it means that the federation feature of
AMGA is really working.
* Error workflow - erroneous input
In the case of a command failure the test exits and reports the erroneous commands
* Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
Features not to be tested
Authentication
Regression tests
All regression tests are executed through the functionality test suites at the same time.
RFCs:
bug #60982: (Error) create index command in AMGA
bug #56275: org.glite.amga.cli will fail to build with gcc>=4.3 and latest boost
bug #79689: In AMGA the chmod command fails with *
bug #79690: (AMGA bug) The inherit option with stat and dump command
bug #79691: (AMGA bug) rm command and permission check
bug #79692: (AMGA bug) acl_remove bug
bug #79693: (AMGA) limitation of group name
bug #79694: (AMGA) listing sub-directories only
bug #79695: (AMGA) version
bug #79696: (AMGA) support for dynamic mapping from VOMS Role/Group to AMGA user/group
bug #79697: (AMGA) sticky bit
bug #79698: (AMGA bug) replication of plain table and index
bug #79699: (AMGA) some feature requests on replication
bug #79701: (AMGA) metadata federation
Description of the test:
Please refer the attached document.
link
Pass/Fail Criteria
Pass: The service can run all the specified commands and the results matches the expected results.
Fail: The service fails to run any of the specified commands or the results do not match the expected results.
Performance and scalability tests
N/A
Standard compliance and conformance tests
N/A
Inter-component tests
N/A
--
SunilAhn - 30-Mar-2011