AMGA Test Plan For EMI2

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.3.0 For the details, Please refer here.

Unit tests

Using GCOV and LCOV URL pointing to the results of the Unit Tests.
  http://amga.web.cern.ch/amga/lcov_html_result/index.html

Code Coverage %, if available.

 Overall coverage rate:
   lines......: 10.1% (2545 of 25309 lines)
   functions..: 13.9% (326 of 2340 functions)
   branches...: 5.0% (1073 of 21414 branches)
These values are the result of first unit test about AMGA. We'll re-try again soon.

Deployment tests

Installation

The YUM repository needed to install the component is :
   SL5 : https://twiki.cern.ch/twiki/pub/EMI/EMI-2/emi-2-rc4-sl5.repo
   SL6 : https://twiki.cern.ch/twiki/pub/EMI/EMI-2/emi-2-rc4-sl6.repo

The YUM command needed to test a clean installation is :

   $ sudo yum install emi.amga.amga-server

The YUM command needed to test an upgrade installation :

    $ sudo yum upgrade emi.amga.amga-server

Configuration

In case of Clean Installation (postgresql backend only:need root):
    $ su root
    $ /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
    $ sudo -u postgres psql -q -U arda metadata < /opt/glite/share/doc/glite-amga-server/upgradePG_21_23.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.

6. Test of Nagios probes for AMGA [#21867]

This is to test Nagios probe unit for AMGA. Nagios probe for AMGA must return the status of AMGA server and response time.

* Test Suite It is included at the AMGA source tar ball. link

 - org.glite.amga.server/scripts/check_amga
For details, Please refer the attached document. link

* Normal workflow

 checks if probe returns OK state with "Success|{response time}" message
 checks if probe returns WARNING state if connection is slow
 checks if probe returns CRITICAL state if connection is not establish

* Error workflow

error cases: none (only server-dependent)

* Pass/Fail Criteria Pass: The probe can return the result. Fail: The probe can't return the any result(no response).

7. Test of publishing version information for AMGA server [#21920]

It is to test that create script for publishing version information for AMGA server. This script is to provide solution for the Glue2 LDAP.

* Test Suite It is included at the AMGA source tar ball. link

 - org.glite.amga.server/config/mdservice site test
For details, Please refer the attached document. link

* Normal workflow You can get on script file(in you home directory or /var/lib/bdii/gip/provider)

 glite-data-metadata-amga
 $ cat glite-data-metadata-amga 
 #!/bin/sh
 /usr/bin/glite-info-glue2-simple /etc/glite/info/service/glite-info-glue2-amga.conf test

* Error workflow

error cases: none

* Pass/Fail Criteria Pass: The script file can be created. Fail: The command fails to make the target script file(no response).

Features not to be tested

Authentication

Regression tests(For EMI-1)

All regression tests are executed through the functionality test suites at the same time. There is no Regression test for EMI-2.

RFCs:

task #23409: SL6 platform support for AMGA
task #23474: Debian 6 platform support for AMGA
task #21867: Nagios probes for AMGA
task #21920: publish version information for AMGA server

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
Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf AMGATestPlanForEMI2_v0.1.pdf r1 manage 204.1 K 2012-03-30 - 09:38 GeunchulPark AMGA Test Plan For EMI2 0.1
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r7 - 2012-04-26 - GeunchulPark
 
    • 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