public void testBundlePluginDescriptor() throws Exception {
String testXml = "test-serverplugin-bundle.xml";
ServerPluginDescriptorType data = parseTestXml(testXml);
assert data instanceof BundlePluginDescriptorType;
BundlePluginDescriptorType descriptor = (BundlePluginDescriptorType) data;
// check the validity of the root element
assert descriptor.getApiVersion().equals("1.2");
assert descriptor.getVersion().equals("2.3");
assert descriptor.getName().equals("bundle name");
assert descriptor.getDisplayName().equals("bundle display");
assert descriptor.getDescription().equals("bundle description");
assert descriptor.getPackage().equals("bundle.package");
assert descriptor.getPluginComponent().getClazz().equals("bundle.plugin.component");
// check the validity of the additional bundle schema elements
assert descriptor.getBundle().getType().equals("bundle.type.name");
// check the validity of the plugin config definition
ConfigurationDescriptor pluginConfigXml = descriptor.getPluginConfiguration();
assert pluginConfigXml != null : "should have parsed the plugin config";
ConfigurationDefinition configDef = ConfigurationMetadataParser.parse("test", pluginConfigXml);
assert configDef != null : "should have parsed the plugin config properties";
PropertyDefinitionSimple propDef = configDef.getPropertyDefinitionSimple("bundleprop1");
assert propDef != null : "missing a simple property definition";