Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Minutes of the talk on 12.09.2014 about Amdatu Testing (wishes, implementation issues, current problems).

Attendees: Marcel, Dan, Sander, Xander, Marian

Discussed points, chronologically, in a rather raw form:

  • for service deps use a single component
  • now we sequentially wait for each component to get injected. start() method on component is called when all deps are in, so can use latch in the start method
  • should support optional deps
  • init() vs start():
    • init: all req deps are in and can add more dependencies (e.g. i need data from a config to declare a dependency) - rather a corner case
    • start: normally use this one
  • the test doesn’t need to know about start() - hide it in the framework
  • more info about failures. use a builder pattern
  • now we focus on itest. for unit test need a way to inject mock implementations. mockito works, but maybe use a shortcut to create mocks if it simplifies code.
  • cleanup between tests with mongo - works now, but is not a general solution
  • waiting for a rest waypoint to come up - create a dependency?
  • if the rest endpoint is in the same framework, we can wait for the service offering the endpoint.
    • is there any async happening in the http server? or hook somehow into the registerServlet
    • can whiteboard bother us? even then we could modify the whiteboard to send out an event when the registration is done.
  • configadmin delivers configs in a different thread. we can intercept config before it’s delivered (e.g. to add new properties to the config). we could also intercept that as an event.
  • OR add an aspect on the ManagedService
  • create a list of async stuff we’d like to wait for: config, aspects, rest endpoints. consider aspects when writing latches. prefer a single latch in the start() method.
  • make the timeout configurable
  • add flag: run this test interactively (disable timeout + add shell)
  • graceful shutdown of the framework (it’s skipped now). do it on System.exit? Niklas works to add shutdown hooks in ace launcher. maybe we can use that
  • how to auto-detect if cleanup/teardown is forgotten?