[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-assembly] [ASSEMBLY 205] TEST_ASM_12001 has empty composite name - Propose CNA
Mike, Assembly-205 is *not* arguing the test case is invalid. Below is the issue text for reference: "TEST_ASM_12001 in TestConfiguration provides an empty composite name (the test attempts to verify that all deployables in a composite are deployed if no composite is specified). Besides being a dubious test (it relies on the runtime bridge and runtime deployment API to do this), it demonstrates Testconfiguration is not intuitive as the composite to run comes from multiple sources in TestConfiguration." Assembly-205 is raising two points: 1. The test harness API/SPI is inconsistent and can be simplified 2. The test case as it is implemented may not test what it is intended to To start with the first, I found the runtime bridge API confusing, in part because configuration is not handled consistently and there is no API documentation. I outlined the inconsistencies and proposed a solution in an email dated 13 December 2009, which was not responded to. The email was cited in Assembly-205: One of the main inconsistencies is the scattering of test configuration sources. Consider the following two methods on RuntimeBridge: public interface RuntimeBridge { public void setTestConfiguration(TestConfiguration testConfiguration); boolean startContribution(String contributionLocation, String[] contributionNames) throws Exception; //..... } and TestConfiguation: public class TestConfiguration { public String composite; public String[] contributionNames; // .... } Why are two sets of contribution names present in the API, those passed into setTestConfiguration via a TestConfiguration instance and those passed as a parameter to startContribution? What SCA assembly concept does the composite field on TestConfiguration map to? Is it a deployment composite? If it is not, where in the SCA specifications does it allow for composites that are not marked as deployable in the contribution manifest to be directly included in the domain? If the composite field is null, how should it be treated? Two ways to solve these issues is to make composite field represent a deployment composite or remove it entirely and rely on the deployable mechanism in the contribution manifest (i.e. a "An SCA runtime MAY deploy the composites in <deployable/> elements found in the META-INF/sca-contribution.xml and META-INF/sca-contribution generated.xml files"). However, the issue with the latter is that it is an optional behavior, which means the test case should be marked as such. The second point is that given these inconsistencies, that test must rely on the implementation of RuntimeBridge to figure out the correct behavior such as interpreting a null composite name to include all deployables. This arguably means the test does not correctly verify the test case. Jim On Feb 23, 2010, at 7:09 AM, Mike Edwards wrote:
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]