Package org.squashtest.tm.domain.testautomation

This package contains all the relevant concepts around test automation.

See: Description

Package org.squashtest.tm.domain.testautomation Description

This package contains all the relevant concepts around test automation. But you already knew that, let's now talk about why this package has its own doc.

TestAutomationServer, TestAutomationProject etc represent remote entities. Those entities aren't managed by Squash TM, and Squash TM doesn't manage permanent synchronization with them. Rather, they are considered as detached entities : whenever Squash TM fetches an entity from a remote endpoint it must consider that it could either already be represented in its database, either be completely new.

To tackle the synchronization-related problems with the remote server, and also ensure that updates doesn't break the history for past executions, instances of TestAutomationServer and TestAutomationProject are immutable and a new instance will be persisted if an existing instance must be updated.

TestAutomation-X entities in this package will be considered equal either ID, either by content. First, their API normally forbid to ever set their ID : no setters and no constructor allows that. One can only read them, unless you use reflection. Since the user code cannot set the ID the only instances having non null ID are those created by the system. It ensures that those instances are consistent with the database, and the system can then trust them.

Second, if an instance has no ID set, when asked to the system will look for a similar instance in the database and if found return it. This is how the usercode can reattach the remote entities it just fetched to the ones existing in Squash TM.

Copyright © 2010–2016 Henix, henix.fr. All rights reserved.