[ 
https://issues.apache.org/jira/browse/AMBARI-13721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nahappan Somasundaram updated AMBARI-13721:
-------------------------------------------
    Description: 
Run a test version of the ambari-server with an in-memory DB and ambari-agent 
that run during the functional testing and cover several basic use cases  like 
heartbeat monitoring, adding and deleting services, components, hosts, etc.

** Functional test design: ** 
* The functional tests run the same way as unit tests, using JUnit 
* Enabling/disabling of the functional tests can be done using a Maven 
configuration. 
* The building blocks of the functional tests are: 
        ** A local ambari server that wraps the actual AmbariServer 
implementation with Guice to instantiate an in-memory database (use the 
existing InMemoryDefaultTestModule class) 
        ** Methods to set up a default cluster with a few hosts, with each host 
running components like Ambari Metrics Service, HDFS, YARN and Zookeeper. These 
methods use the ambari server's RESTful APIs. 
        ** Methods that use HttpClient to perform operations using the RESTful 
APIs to add/remove cluster, hosts, services, service components and service 
component hosts. 
        ** A simple functional test to start the local server on a thread, get 
status from the server and then shutdown. 
* Additional unit tests can be built on top of the start-status check-stop 
functional tests, default cluster setup method and helper methods to test 
specific scenarios. 
  
** Future work: ** 
* Local ambari agent simulator for each host.

  was:
Run a test version of the ambari-server with an in-memory DB and ambari-agent 
that run during the functional testing and cover several basic use cases  like 
heartbeat monitoring, adding and deleting services, components, hosts, etc.

 ** Functional test design: **
The functional tests run the same way as unit tests, using JUnit 
Enabling/disabling of the functional tests can be done using a Maven 
configuration. 
The building blocks of the functional tests are: 
A local ambari server that wraps the actual AmbariServer implementation with 
Guice to instantiate an in-memory database (use the existing 
InMemoryDefaultTestModule class) 
Methods to set up a default cluster with a few hosts, with each host running 
components like Ambari Metrics Service, HDFS, YARN and Zookeeper. These methods 
use the ambari server's RESTful APIs. 
Methods that use HttpClient to perform operations using the RESTful APIs to 
add/remove cluster, hosts, services, service components and service component 
hosts. 
A simple functional test to start the local server on a thread, get status from 
the server and then shutdown. 
Additional unit tests can be built on top of the start-status check-stop 
functional tests, default cluster setup method and helper methods to test 
specific scenarios. 
 
Future work: 
Local ambari agent simulator for each host.


> Ambari functional tests infrastructure
> --------------------------------------
>
>                 Key: AMBARI-13721
>                 URL: https://issues.apache.org/jira/browse/AMBARI-13721
>             Project: Ambari
>          Issue Type: Task
>          Components: ambari-server
>    Affects Versions: 2.1.3
>            Reporter: Nahappan Somasundaram
>            Assignee: Nahappan Somasundaram
>             Fix For: 2.1.3
>
>
> Run a test version of the ambari-server with an in-memory DB and ambari-agent 
> that run during the functional testing and cover several basic use cases  
> like heartbeat monitoring, adding and deleting services, components, hosts, 
> etc.
> ** Functional test design: ** 
> * The functional tests run the same way as unit tests, using JUnit 
> * Enabling/disabling of the functional tests can be done using a Maven 
> configuration. 
> * The building blocks of the functional tests are: 
>         ** A local ambari server that wraps the actual AmbariServer 
> implementation with Guice to instantiate an in-memory database (use the 
> existing InMemoryDefaultTestModule class) 
>         ** Methods to set up a default cluster with a few hosts, with each 
> host running components like Ambari Metrics Service, HDFS, YARN and 
> Zookeeper. These methods use the ambari server's RESTful APIs. 
>         ** Methods that use HttpClient to perform operations using the 
> RESTful APIs to add/remove cluster, hosts, services, service components and 
> service component hosts. 
>         ** A simple functional test to start the local server on a thread, 
> get status from the server and then shutdown. 
> * Additional unit tests can be built on top of the start-status check-stop 
> functional tests, default cluster setup method and helper methods to test 
> specific scenarios. 
>   
> ** Future work: ** 
> * Local ambari agent simulator for each host.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to