[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Conformance test instantiation
Hi, I have another question related to the assembly conformance tests. I'm confused about the RuntimeBridge.startContribution(..) API: /** * Start the contribution(s) which represent the application under test in the SCA runtime * @param contributionLocation a String containing the location pattern for the contribution(s), * which is a URI containing one or more "%1" substrings where the name of the contribution is * substituted to get the URI of the contribution * @param contributionNames - an array of contribution names as strings * @return true if the contributions were loaded and started in the SCA runtime, false otherwise */ boolean startContribution(String contributionLocation, String[] contributionNames) throws Exception; My understanding is the contributionLocation is an encoded location for the contributions which must be installed. A URL for each contribution can be derived by iterating the contributionNames and substituting %1 in contributionLocation with the contribution name. My first question then is why doesn't RuntimeBridge make this contract explicit and use a collection of URLs instead: boolean startContribution(List<URL> contributions) throws Exception; Related to this, I noticed the following entry in oasis-tests- sca.properties: org.oasis.sca.tests.assembly.contribution.location=file:/C:/ OASIS_TESTS/SCA-Assembly/TestCases/%1/target/%1.zip I think this could just be handled programmatically by default using an offset relative from the location of a .class file for one of the test classes (e.g. RuntimeBidge.class.getResource(".") ). However, if the RuntimeBridge API is modified to pass a collection of URLs this is less of an issue (although it requires a bit of extra setup which could be eliminated). My second question is what contributions are expected to be started in RuntimeBridge.startContribution(..)? I see from the TuscanyRuntimeBridge implementation that it pulls a composite name from an instance of TestConfiguration that is provided via RuntimeBridge.setTestConfiguration(). However, that composite does not appear to be marked as a deployable. I'm assuming this is the composite that must be deployed. I may be missing something but there appears to be two problems with this: 1. Only deployables should be deployed and it appears most of the test contributions are *not* marked as deployable composites 2. My understanding is providing the composite name out of band to deploy it is not specified in the assembly spec. Is that correct? If so, I think we are only left with runtime-specific mechanisms for handling deployment which is a problem since it will require modification of the test suite and potentially the test artifacts by each vendor. Jim
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]