Hi Michael,

This is a great question ... thank you for raising it. 

So you are asking about a mock resource ... or test fixture ... to facilitate integration testing of Hawkular?  I think that is a great idea.    In fact, I can envision a small portfolio or quiver of mock resources or test fixutres:


I agree if we had a set, quiver, portfolio, or inventory of test fixtures it would facilitate integration testing.  

Next question ... might be "where"?

  • on the JON QE Bladecenter ... 
  • in a private Docker registry 
    • developers and QE could do a 'docker pull' and get whatever fixture they needed 
    • this would de-couple the fixtures from the bladecenter ...and allow the test fixtures to be manipulated more easily by the developers and QE  
  • in a public Docker registry
    • this would decouple from the bladecenter
    • allow developers in the community to use these test fixtures 

Something I saw recently ... is this thing called Arqullian Cube   ... which can be used to control the lifecycle of Docker containers as part of integration tests.   Some info here ... --->> http://blog.arungupta.me/run-javaee-tests-wildfly-docker-arquillian-cube/   So with this approach possibly ... integration tests could be written where test fixtures for availability up/down/unknown are programmatically spun up in Docker and automated integration tests run.    

Also ... another possible approach ... is to programmatically control these test fixtures in our Bladecenter via a REST API.   So we/QE built a REST API to wrap the RHEV/Foreman infrastructure in our Bladecenter.  So anything that can be done thru the UI can be done programmatically.  So you can imagine an integration test for availability... where in @BeforeClass ... the automated test makes a REST call to spin up ...say ... an availability unknown test fixture ...and some tests run.  

Let's please talk more about this.  I would like to learn more about your mock site idea where the availability state changes on a schedule.   I'll set up a Bluejeans time and an etherpad where we can discuss this ...requirements, approaches, use-cases, etc ....    

Regards,

Michael Foley
JON and Lumbini QE Supervisor 






From: "mike thompson" <mithomps@redhat.com>
To: "Discussions around Hawkular development" <Hawkular-dev@lists.jboss.org>
Cc: "Michael Foley" <mfoley@redhat.com>, "Armine Hovsepyan" <ahovsepy@redhat.com>
Sent: Thursday, April 9, 2015 10:24:45 PM
Subject: Ways to Test Availability Down?

I guess this question is mainly targeted to Hawkular QE. So all of my testing (especially on a dev box) shows availability 100% (as most sites will). So while I can mock this in code to show downtime and unknown. It appears that we need a consistent way to demonstrate up/down/unknown/whatever else. Is there a QE way to do this currently?

I’m thinking a mock site that changes states every 5 or 10 minutes that is publicly available. This way we could all link our integration tests to this site to provide full coverage of states(and there could be other availability states like I have mentioned in other Hawkular ML mails).

The use case I want to add is as a developer I want to test all availability states within a half hour (or whatever timeframe, but as everything waits on tests passing less is better) by pulling in certain site(s).

Ideas?

— Mike T