summaryrefslogtreecommitdiff
path: root/qpid/java/management/client/src/test
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-05-16 13:26:09 +0000
committerRobert Gemmell <robbie@apache.org>2011-05-16 13:26:09 +0000
commite6de9d8f188c84980d2c3bd872a1d069c637be60 (patch)
tree3ab35a96fad1f2c13b4222c3f41fbff2f8528bd9 /qpid/java/management/client/src/test
parentf04eead0dc500274098249d1090b792b8f688552 (diff)
downloadqpid-python-e6de9d8f188c84980d2c3bd872a1d069c637be60.tar.gz
QPID-3260: remove defunct java/management/client module
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1103724 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/management/client/src/test')
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/TestConstants.java67
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfigurationTest.java181
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfiguratorTest.java163
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/MappingParsersTest.java79
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/handler/base/ContentIndicationMessageHandlerTest.java59
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseDomainModelTestCase.java44
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseQpidFeatureBuilderTestCase.java96
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/DomainModelTest.java55
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/OptionalPropertiesTest.java187
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidClassTest.java408
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidEventTest.java293
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidMethodBuilderTest.java147
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidNumberPropertyTest.java171
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPackageTest.java53
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPropertyBuilderTest.java269
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStatisticBuilderTest.java159
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStringPropertyTest.java127
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/type/BinaryTest.java59
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/BrokerMessageListenerTest.java241
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/MessageTokenizerTest.java140
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/BaseWsDmAdapterTestCase.java143
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/EnhancedReflectionProxyHandler.java72
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetMultipleResourcePropertiesTestCase.java125
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertiesTestCase.java105
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertyDocumentTestCase.java134
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/MetadataExchangeInterfaceTestCase.java169
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/OperationInvocationInterfaceTestCase.java580
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/ServerThread.java118
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/SetResourcePropertiesTestCase.java219
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WebApplicationLifeCycleListener.java61
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WsDmAdapterTest.java156
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java335
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityTest.java204
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapabilityTest.java81
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/RmdBuilderTest.java110
-rw-r--r--qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/web.xml32
36 files changed, 0 insertions, 5642 deletions
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/TestConstants.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/TestConstants.java
deleted file mode 100644
index 9abcd08eef..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/TestConstants.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import org.apache.qpid.management.domain.handler.impl.MethodOrEventDataTransferObject;
-import org.apache.qpid.management.domain.model.DomainModel;
-import org.apache.qpid.management.domain.model.type.Binary;
-
-/**
- * Collects all literal constants used in test cases.
- */
-public interface TestConstants
-{
- UUID BROKER_ID = UUID.randomUUID();
- Binary OBJECT_ID = new Binary(new byte []{1,2,3,2,1,1,2,3});
-
- DomainModel DOMAIN_MODEL = new DomainModel(BROKER_ID);
-
- String AGE_ATTRIBUTE_NAME = "age";
- String AGE_ATTRIBUTE_DESCRIPTION = "The age of a person.";
- String SURNAME_ATTRIBUTE_NAME = "surname";
- String SURNAME_ATTRIBUTE_DESCRIPTION = "The surname of a person.";
- Integer _1 = new Integer(1);
-
- byte [] TEST_RAW_DATA= new byte []{1,4,5,7,8,9,4,44};
- long NOW = System.currentTimeMillis();
- int SEVERITY = _1;
-
- String QPID_PACKAGE_NAME = "qpid";
- String EXCHANGE_CLASS_NAME = "exchange";
- String BIND_EVENT_NAME = "bind";
- Binary HASH = new Binary(new byte []{1,2,3,4,5,6,7,8,9});
- int VALID_CODE = _1;
-
- List<Map<String, Object>> EMPTY_PROPERTIES_SCHEMA = new LinkedList<Map<String,Object>>();
- List<Map<String, Object>> EMPTY_STATISTICS_SCHEMA = new LinkedList<Map<String,Object>>();
- List<MethodOrEventDataTransferObject> EMPTY_METHODS_SCHEMA = new LinkedList<MethodOrEventDataTransferObject>();
- List<Map<String, Object>> EMPTY_ARGUMENTS_SCHEMA = new LinkedList<Map<String,Object>>();
- int _0 = 0;
- int SAMPLE_ACCESS_CODE = 1;
- String YEARS = "years";
- int SAMPLE_MIN_VALUE = 1;
- int SAMPLE_MAX_VALUE = 120;
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfigurationTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfigurationTest.java
deleted file mode 100644
index 72bd45f70f..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfigurationTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.configuration;
-
-import java.util.Map;
-import java.util.UUID;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.TestConstants;
-import org.apache.qpid.management.domain.handler.base.IMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.ConfigurationMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.InstrumentationMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.SchemaResponseMessageHandler;
-
-/**
- * Test case for Configuration singleton.
- */
-public class ConfigurationTest extends TestCase
-{
- /**
- * Tests the singleton behaviour of the configuration object.
- */
- public void testSingleton()
- {
- assertSame(Configuration.getInstance(),Configuration.getInstance());
- }
-
- /**
- * Tests the execution of getType() method when a unknown code is supplied.
- *
- * <br>precondition : the requested type doesn't exist on the configuration.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testGetTypeKO()
- {
- try
- {
- Configuration.getInstance().getType(TestConstants.VALID_CODE*10001);
- fail("If an unknwon code is supplied an exception must be thrown.");
- } catch (UnknownTypeCodeException expected)
- {
- assertEquals(TestConstants.VALID_CODE*10001,expected.getCode());
- }
- }
-
- /**
- * Tests the execution of getAccessMode() method when a unknown code is supplied.
- *
- * <br>precondition : the requested access mode doesn't exist on the configuration.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testGetAccessModeKO()
- {
- try
- {
- Configuration.getInstance().getAccessMode(TestConstants.VALID_CODE*1528);
- fail("If an unknwon code is supplied an exception must be thrown.");
- } catch (UnknownAccessCodeException expected)
- {
- assertEquals(TestConstants.VALID_CODE*1528,expected.getCode());
- }
- }
-
- /**
- * Tests the execution of the getBrokerConnectionData when a valid broker id is supplied.
- *
- * <br>precondition : on configuration a connection data is stored and associated with the supplied id.
- * <br>postcondition : the requested connection data is returned and no exception is thrown.
- */
- public void testGetBrokerConnectionDataOK() throws Exception
- {
- BrokerConnectionData connectionData = new BrokerConnectionData();
- connectionData.setHost("host");
- connectionData.setPort("7001");
- connectionData.setInitialPoolCapacity("0");
- connectionData.setMaxPoolCapacity("10");
- connectionData.setMaxWaitTimeout("1");
- Configuration.getInstance().addBrokerConnectionData(TestConstants.BROKER_ID, connectionData);
-
- BrokerConnectionData result = Configuration.getInstance().getBrokerConnectionData(TestConstants.BROKER_ID);
- assertSame(connectionData, result);
- }
-
- /**
- * Tests the execution of the getBrokerConnectionData when a unknown broker id is supplied.
- *
- * <br>precondition : on configuration there's no connection data associated with the supplied id.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testGetBrokerConnectionDataKO_withUnknownBrokerId()
- {
- UUID brokerId = UUID.randomUUID();
- try
- {
- Configuration.getInstance().getBrokerConnectionData(brokerId);
- fail("If an unknown broker id is supplied then an exception must be thrown.");
- } catch(UnknownBrokerException expected)
- {
- assertEquals(brokerId.toString(),expected.getMessage());
- }
- }
-
- /**
- * Tests the execution of the getBrokerConnectionData when a null id is supplied.
- *
- * <br>precondition : a null broker is given.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testGetBrokerConnectionDataKO_withNullBrokerId()
- {
- try
- {
- Configuration.getInstance().getBrokerConnectionData(null);
- fail("If a null broker id is supplied then an exception must be thrown.");
- } catch(UnknownBrokerException expected)
- {
- }
- }
-
- /**
- * Tests the behaviour of the getManagementQueueHandlers() method.
- *
- * <br>precondition: 2 management handlers are in stored configuration
- * <br>postcondition : 2 management handlers are returned.
- */
- public void testGetManagementQueueHandlersOk()
- {
- IMessageHandler instrMessageHandler = new InstrumentationMessageHandler();
- IMessageHandler configMessageHandler = new ConfigurationMessageHandler();
-
- MessageHandlerMapping instrMapping = new MessageHandlerMapping('i',instrMessageHandler);
- MessageHandlerMapping configMapping = new MessageHandlerMapping('c',configMessageHandler);
-
- Configuration.getInstance().addManagementMessageHandlerMapping(instrMapping);
- Configuration.getInstance().addManagementMessageHandlerMapping(configMapping);
-
- Map<Character, IMessageHandler> handlerMappings = Configuration.getInstance().getManagementQueueHandlers();
-
- assertEquals(2,handlerMappings.size());
- assertEquals(instrMessageHandler,handlerMappings.get(instrMapping.getOpcode()));
- assertEquals(configMessageHandler,handlerMappings.get(configMapping.getOpcode()));
- }
-
- /**
- * Tests the behaviour of the getManagementQueueHandlers() method.
- *
- * <br>precondition: 2 management handlers are in stored configuration
- * <br>postcondition : 2 management handlers are returned.
- */
- public void testGetMethodReplyQueueHandlersOk()
- {
- IMessageHandler schemaMessageHandler = new SchemaResponseMessageHandler();
-
- MessageHandlerMapping schemaMapping = new MessageHandlerMapping('s',schemaMessageHandler);
-
- Configuration.getInstance().addMethodReplyMessageHandlerMapping(schemaMapping);
-
- Map<Character, IMessageHandler> handlerMappings = Configuration.getInstance().getMethodReplyQueueHandlers();
-
- assertEquals(schemaMessageHandler,handlerMappings.get(schemaMapping.getOpcode()));
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfiguratorTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfiguratorTest.java
deleted file mode 100644
index 1e464bf6ae..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/ConfiguratorTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.configuration;
-
-import java.util.Map;
-import java.util.UUID;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.Protocol;
-import org.apache.qpid.management.domain.handler.base.IMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.ConfigurationMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.EventContentMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.HeartBeatIndicationMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.InstrumentationMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.MethodResponseMessageHandler;
-import org.apache.qpid.management.domain.handler.impl.SchemaResponseMessageHandler;
-import org.apache.qpid.management.domain.model.AccessMode;
-import org.apache.qpid.management.domain.model.type.AbsTime;
-import org.apache.qpid.management.domain.model.type.DeltaTime;
-import org.apache.qpid.management.domain.model.type.ObjectReference;
-import org.apache.qpid.management.domain.model.type.Str16;
-import org.apache.qpid.management.domain.model.type.Str8;
-import org.apache.qpid.management.domain.model.type.Uint16;
-import org.apache.qpid.management.domain.model.type.Uint32;
-import org.apache.qpid.management.domain.model.type.Uint64;
-import org.apache.qpid.management.domain.model.type.Uint8;
-import org.xml.sax.SAXException;
-
-/**
- * Test case for configurator.
- *
- * @author Andrea Gazzarini
- *
- */
-public class ConfiguratorTest extends TestCase
-{
- /**
- * Tests the execution of the configure() method when no configuration file is given.
- *
- * <br>precondition : configuration file option is not set
- * <br>postcondition : no exception is thrown, the configuration is holding no broker data and the predefined mappings are
- * stored in configuration.
- */
- public void testConfigureOK_WithNoConfigurationFile() throws Exception
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- Configuration configuration = Configuration.getInstance();
-
- assertEquals(new Uint8(), configuration.getType(1));
- assertEquals(new Uint16(), configuration.getType(2));
- assertEquals(new Uint32(), configuration.getType(3));
- assertEquals(new Uint64(), configuration.getType(4));
- assertEquals(new Str8(), configuration.getType(6));
- assertEquals(new Str16(), configuration.getType(7));
- assertEquals(new AbsTime(), configuration.getType(8));
- assertEquals(new DeltaTime(), configuration.getType(9));
- assertEquals(new ObjectReference(), configuration.getType(10));
- assertEquals(new org.apache.qpid.management.domain.model.type.Boolean(), configuration.getType(11));
- assertEquals(new org.apache.qpid.management.domain.model.type.Uuid(), configuration.getType(14));
- assertEquals(new org.apache.qpid.management.domain.model.type.Map(), configuration.getType(15));
-
- assertEquals(AccessMode.RC,configuration.getAccessMode(1));
- assertEquals(AccessMode.RW,configuration.getAccessMode(2));
- assertEquals(AccessMode.RO,configuration.getAccessMode(3));
-
- Map<Character, IMessageHandler> managementHandlers = configuration.getManagementQueueHandlers();
- assertEquals(4,managementHandlers.size());
- assertEquals(
- InstrumentationMessageHandler.class,
- managementHandlers.get(Protocol.INSTRUMENTATION_CONTENT_RESPONSE_OPCODE).getClass());
-
- assertEquals(
- ConfigurationMessageHandler.class,
- managementHandlers.get(Protocol.CONFIGURATION_CONTENT_RESPONSE_OPCDE).getClass());
-
- assertEquals(
- EventContentMessageHandler.class,
- managementHandlers.get(Protocol.EVENT_CONTENT_RESPONSE_OPCDE).getClass());
-
- assertEquals(
- HeartBeatIndicationMessageHandler.class,
- managementHandlers.get(Protocol.HEARTBEAT_INDICATION_RESPONSE_OPCODE).getClass());
-
- Map<Character, IMessageHandler> methodReplyHandlers = configuration.getMethodReplyQueueHandlers();
- assertEquals(2, methodReplyHandlers.size());
-
- assertEquals(
- MethodResponseMessageHandler.class,
- methodReplyHandlers.get(Protocol.OPERATION_INVOCATION_RESPONSE_OPCODE).getClass());
-
- assertEquals(
- SchemaResponseMessageHandler.class,
- methodReplyHandlers.get(Protocol.SCHEMA_RESPONSE_OPCODE).getClass());
- }
-
- /**
- * Tests the changes of the configurator internal state while configuration file is parsed.
- *
- * <br>precondition: N.A.
- * <br>postcondition: N.A.
- */
- public void testDirectorParsing() throws SAXException{
- Configurator configurator = new Configurator();
-
- assertSame(Configurator.DEFAULT_PARSER,configurator._currentParser);
-
- configurator.startElement(null, null, Tag.BROKERS.toString(), null);
- assertSame(configurator._brokerConfigurationParser,configurator._currentParser);
- }
-
- /**
- * It's not possibile to add twice the same broker connection data.
- * Is so an exception must be thrown indicating that the given broker is already connected.
- *
- * <br>precondition : the given data identifies an already connected broker.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testAddTwoIdenticalBrokers() throws ConfigurationException, BrokerConnectionException
- {
- Configurator configurator = new Configurator();
- configurator.configure();
-
- BrokerConnectionData data = new BrokerConnectionData("sofia.gazzax.com",5672,"virtualHost","user","pwd",1,4,-1);
-
- Configuration.getInstance()._brokerConnectionInfos.put(UUID.randomUUID(),data);
-
- try {
- configurator.createAndReturnBrokerConnectionData(
- UUID.randomUUID(),
- data.getHost(),
- data.getPort(),
- "anotherUser",
- "anotherPassword",
- data.getVirtualHost(),
- 33,
- 12,
- 1000);
- fail("If a broker is added twice an exception must be thrown.");
- } catch (BrokerAlreadyConnectedException expected) {
- assertEquals(data,expected.getBrokerConnectionData());
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/MappingParsersTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/MappingParsersTest.java
deleted file mode 100644
index af261024bd..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/configuration/MappingParsersTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.configuration;
-
-import java.util.UUID;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.TestConstants;
-
-/**
- * Test case for mapping parsers.
- *
- * @author Andrea Gazzarini.
- */
-public class MappingParsersTest extends TestCase
-{
- /**
- * Tests the execution of the broker connection data mapping parser.
- *
- * <br>precondition: A broker connection datamapping is built by the parser;
- * <br>postcondition: the corresponding connection data is available on the configuration.
- */
- public void testBrokerConnectionDataParser() throws UnknownBrokerException
- {
- String host = "127.0.0.1";
- String port = "7001";
- String virtualHost = "test";
- String username = "username_guest";
- String password ="password_guest";
-
- BrokerConnectionDataParser parser = new BrokerConnectionDataParser()
- {
- @Override
- UUID getUUId ()
- {
- return TestConstants.BROKER_ID;
- }
- };
-
- parser.setCurrrentAttributeValue(host);
- parser.setCurrentAttributeName(Tag.HOST.toString());
- parser.setCurrrentAttributeValue(port);
- parser.setCurrentAttributeName(Tag.PORT.toString());
- parser.setCurrrentAttributeValue(virtualHost);
- parser.setCurrentAttributeName(Tag.VIRTUAL_HOST.toString());
- parser.setCurrrentAttributeValue(username);
- parser.setCurrentAttributeName(Tag.USER.toString());
- parser.setCurrrentAttributeValue(password);
- parser.setCurrentAttributeName(Tag.PASSWORD.toString());
- parser.setCurrentAttributeName(Tag.BROKER.toString());
-
- BrokerConnectionData result = Configuration.getInstance().getBrokerConnectionData(TestConstants.BROKER_ID);
-
- assertEquals(host,result.getHost());
- assertEquals(Integer.parseInt(port),result.getPort());
- assertEquals(virtualHost,result.getVirtualHost());
- assertEquals(username,result.getUsername());
- assertEquals(password,result.getPassword());
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/handler/base/ContentIndicationMessageHandlerTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/handler/base/ContentIndicationMessageHandlerTest.java
deleted file mode 100644
index d6b51b64fc..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/handler/base/ContentIndicationMessageHandlerTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.handler.base;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.domain.model.type.Binary;
-
-/**
- * Test case for Content indication message handler (base class).
- *
- * @author Andrea Gazzarini
- */
-public class ContentIndicationMessageHandlerTest extends TestCase
-{
- /**
- * Tests the behaviour of the objectHasBeenRemoved method().
- */
- public void testObjectHasBeenRemoved()
- {
- ContentIndicationMessageHandler mockHandler = new ContentIndicationMessageHandler()
- {
- @Override
- protected void updateDomainModel (String packageName, String className, Binary classHash, Binary objectId,
- long timeStampOfCurrentSample, long timeObjectWasCreated, long timeObjectWasDeleted, byte[] contentData)
- {
- }
- };
-
- long deletionTimestamp = 0;
- long now = System.currentTimeMillis();
-
- assertFalse(mockHandler.objectHasBeenRemoved(deletionTimestamp, now));
-
- deletionTimestamp = now + 1000;
- assertFalse(mockHandler.objectHasBeenRemoved(deletionTimestamp, now));
-
- deletionTimestamp = now - 1000;
- assertTrue(mockHandler.objectHasBeenRemoved(deletionTimestamp, now));
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseDomainModelTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseDomainModelTestCase.java
deleted file mode 100644
index c528392a93..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseDomainModelTestCase.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import org.apache.qpid.management.configuration.Configurator;
-
-import junit.framework.TestCase;
-
-/**
- * Layer supertype for all domain model related test cases.
- *
- * @author Andrea Gazzarini
- */
-public abstract class BaseDomainModelTestCase extends TestCase
-{
- /**
- * Set up fixture for this test case.
- * In order to execute tests on domain model we need to build the configuration.
- */
- @Override
- protected void setUp () throws Exception
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseQpidFeatureBuilderTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseQpidFeatureBuilderTestCase.java
deleted file mode 100644
index 3d3783eb04..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/BaseQpidFeatureBuilderTestCase.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.desc;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.name;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.configuration.Configurator;
-import org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute;
-
-/**
- * Layer supertype for feature builder test cases.
- *
- * @author Andrea Gazzarini
- */
-public abstract class BaseQpidFeatureBuilderTestCase extends TestCase
-{
- protected final static String NAME = "aName";
-
- protected final static String DESCRIPTION = "A description.";
-
- protected Map <String,Object> _featureDefinition;
- protected QpidFeatureBuilder _builder;
-
- /**
- * Set up fixture for all concrete builder test cases.
- */
- @Override
- protected void setUp () throws Exception
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- _featureDefinition = new HashMap<String, Object>();
- _featureDefinition.put(name.name(),NAME);
- _featureDefinition.put(desc.name(), DESCRIPTION);
- }
-
- // Internal test used to avoid code duplication.
- protected void internalTestForMissingMandatoryAttribute(Attribute ...toBeRemoved)
- {
- try
- {
- for (Attribute attribute : toBeRemoved)
- {
- _featureDefinition.remove(attribute.name());
- }
- _builder.build();
- fail("If a mandatory attribute is missing an exception must be thrown!");
- } catch (UnableToBuildFeatureException expected)
- {
- assertTrue(expected instanceof MissingFeatureAttributesException);
- for (Attribute attribute : toBeRemoved)
- {
- assertTrue(expected.getMessage().contains(attribute.name()));
- }
- }
- }
-
- // Internal test used to avoid code duplication.
- protected void internalTestForMissingOptionalAttribute(Attribute ...toBeRemoved) throws UnableToBuildFeatureException
- {
- for (Attribute attribute : toBeRemoved)
- {
- _featureDefinition.remove(attribute.name());
- }
- _builder.build();
-
- assertNotNull(_builder.getQpidFeature());
- assertNotNull(_builder.getManagementFeature());
- }
-
-
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/DomainModelTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/DomainModelTest.java
deleted file mode 100644
index 578fa36bc7..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/DomainModelTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import java.util.UUID;
-
-import org.apache.qpid.management.TestConstants;
-
-/**
- * Test case for domain model entity.
- *
- * @author Andrea Gazzarini
- */
-public class DomainModelTest extends BaseDomainModelTestCase
-{
- private DomainModel _model;
-
- @Override
- protected void setUp () throws Exception
- {
- _model = new DomainModel(UUID.randomUUID());
- }
-
- /**
- * Tests the execution of the getPackage() method.
- */
- public void testGetPackage()
- {
- assertFalse(_model.containsPackage(TestConstants.QPID_PACKAGE_NAME));
-
- QpidPackage qpidPackage = _model.getPackageByName(TestConstants.QPID_PACKAGE_NAME);
- assertEquals(TestConstants.QPID_PACKAGE_NAME,qpidPackage.getName());
-
- QpidPackage theSameAsPreviousOne = _model.getPackageByName(TestConstants.QPID_PACKAGE_NAME);
- assertSame(qpidPackage, theSameAsPreviousOne);
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/OptionalPropertiesTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/OptionalPropertiesTest.java
deleted file mode 100644
index 553c1c21de..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/OptionalPropertiesTest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import java.nio.ByteBuffer;
-import java.util.LinkedList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.domain.model.type.Uint64;
-import org.apache.qpid.transport.codec.BBDecoder;
-
-public class OptionalPropertiesTest extends TestCase
-{
- public void testDecoderStateChange()
- {
- QpidProperty property = new QpidProperty();
- assertSame(
- "Default decoder for properties is the one for mandatory properties.",
- property._mandatoryPropertyDecoder,
- property._decoder);
-
- property.markAsOptional(1);
- assertSame(
- "After a property has been marked as optional the corresponding decoder must be installed.",
- property._optionalPropertyDecoder,
- property._decoder);
- }
-
- /**
- * Tests the execution of the decode() method when the current property is optional but in the presence bitmask
- * there's no the corresponding bit set.
- *
- * <br>precondition : property is optional and corresponding presence bit is not set.
- * <br>postcondition : result must be null.
- */
- public void testDecodeValueWithOptionalPropertyAndMissingValue()
- {
- byte [] presenceBytes = {2};
-
- QpidProperty property = new QpidProperty();
-
- // We don't need a decoder so in order to be sure that it won't be invoked set it to null.
- BBDecoder nullDecoder = null;
-
- for (int i = 0; i < 8; i++)
- {
- // Property number 1 is declaring a value so skip it!
- if (i != 1)
- {
- property.markAsOptional(i);
- assertNull(property.decodeValue(nullDecoder, presenceBytes));
- }
- }
- }
-
- /**
- * Tests the execution of the decode() method when the current property is optional but in the presence bitmask
- * there's no the corresponding bit set.
- *
- * <br>precondition : property is optional and corresponding presence bit is not set.
- * <br>postcondition : result must be null.
- */
- public void testDecodeValueWithOptionalPropertyAndDeclaredValue()
- {
- byte [] presenceBytes = {4};
- Long _44 = new Long(44);
-
- QpidProperty property = new QpidProperty();
- property.setType(new Uint64());
- property.markAsOptional(2);
-
- ByteBuffer buffer = ByteBuffer.allocate(8);
- buffer.putLong(_44);
- buffer.rewind();
- BBDecoder decoder = new BBDecoder();
-
- decoder.init(buffer);
- assertEquals(_44,property.decodeValue(decoder, presenceBytes));
- }
-
- /**
- * Tests the execution of the decode() method with a real scenario where there are mandatory and optional
- * properties.
- */
- public void testDecodeValueWithOptionalAndMandatoryProperties()
- {
- // With this bitset :
- //
- // 1th opt property is null;
- // 2th opt property is null;
- // 3th opt property is not null;
- // 4th opt property is null;
- // 5th opt propertyis null;
- // 6th opt property is null;
- // 7th opt property is null;
- // 8th opt property is not null;
- byte [] presenceBytes = {4,1};
-
- List<QpidProperty> properties = new LinkedList<QpidProperty>();
-
- properties.add(createProperty(false, -1));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(true, 0));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(true, 1));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(true, 2));
- properties.add(createProperty(true, 3));
- properties.add(createProperty(true, 4));
- properties.add(createProperty(true, 5));
- properties.add(createProperty(true, 6));
- properties.add(createProperty(true, 7));
- properties.add(createProperty(false, -1));
- properties.add(createProperty(true, 8));
-
- Long expectedResults [] = {
- 1L, // p1
- 22L, // p2
- null, // p3
- 232L, // p4
- 211L, // p5
- null, // p6
- 232L, // p7
- 211L, // p8
- 999L, // p9
- null, // p10
- null, // p11
- null, // p12
- null, // p13
- null, // p14
- 626L, // p15
- 969L // p16
- };
-
-
- ByteBuffer buffer = ByteBuffer.allocate(expectedResults.length * 8);
- for (Long expected : expectedResults)
- {
- if (expected != null)
- {
- buffer.putLong(expected);
- }
- }
- buffer.rewind();
- BBDecoder decoder = new BBDecoder();
-
- decoder.init(buffer);
- int index = 0;
- for (QpidProperty property : properties)
- {
- assertEquals(expectedResults[index++],property.decodeValue(decoder, presenceBytes));
- }
- }
-
- private QpidProperty createProperty(boolean isOptional, int optionalIndex)
- {
- QpidProperty property = new QpidProperty();
- property.setType(new Uint64());
- if (isOptional)
- {
- property.markAsOptional(optionalIndex);
- }
- return property;
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidClassTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidClassTest.java
deleted file mode 100644
index 9d6e176912..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidClassTest.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
-*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.qpid.management.domain.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.TestConstants;
-import org.apache.qpid.management.configuration.ConfigurationException;
-import org.apache.qpid.management.configuration.Configurator;
-import org.apache.qpid.management.domain.handler.impl.MethodOrEventDataTransferObject;
-import org.apache.qpid.management.domain.model.QpidClass.QManManagedObject;
-
-/**
- * Test case for Qpid Class.
- *
- * @author Andrea Gazzarini
- */
-public class QpidClassTest extends TestCase
-{
- private QpidClass _class;
- private QpidPackage _package;
-
- @Override
- protected void setUp () throws ConfigurationException
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- _package = new QpidPackage(TestConstants.QPID_PACKAGE_NAME,TestConstants.DOMAIN_MODEL);
- _class = new QpidClass(TestConstants.EXCHANGE_CLASS_NAME,TestConstants.HASH,_package);
- }
-
- /**
- * Tests the execution of the getObjectInstance() method.
- * Basically it tests the addition of a new object instance.
- *
- * <br>precondition: class has no object instances.
- * <br>precondition : class contains the added object instance.
- */
- public void testGetObjectInstance()
- {
- assertFalse (
- "Nobody set instance #"+TestConstants.OBJECT_ID+" into this class so why is it there?",
- _class._objectInstances.containsKey(TestConstants.OBJECT_ID));
-
- QManManagedObject instance = _class.getObjectInstance(TestConstants.OBJECT_ID, false);
-
- assertTrue (
- "Now the instance #"+TestConstants.OBJECT_ID+" should be there...",
- _class._objectInstances.containsKey(TestConstants.OBJECT_ID));
-
- assertEquals(instance,_class.getObjectInstance(TestConstants.OBJECT_ID, false));
- }
-
- /**
- * Tests the injection of instrumentation and configuration data (related to a specific object instance) before the
- * schema is installed.
- *
- * <br>precondition : the schema hasn't yet installed on this class.
- * <br>postcondition : incoming configuration & instrumentation data is stored into the corresponding object instance.
- */
- public void testAddInstrumentationAndConfigurationDataBeforeSchemaInstallation()
- {
- _class._state = _class._schemaRequestedButNotYetInjected;
- QManManagedObject objectInstance = _class.getObjectInstance(TestConstants.OBJECT_ID,false);
-
- assertTrue(
- "This object instance is a new one so how is it possible that it has already instrumentation data? ",
- objectInstance._rawInstrumentationData.isEmpty());
- assertTrue(
- "This object instance is a new one so how is it possible that it has already configuration data? ",
- objectInstance._rawConfigurationData.isEmpty());
-
- byte [] dummyConfigurationData = {1,2,3,4,5,6,7,8};
- byte [] dummyInstrumentationData = {11,21,31,41,51,61,71,81};
-
- _class.addConfigurationData(TestConstants.OBJECT_ID, dummyConfigurationData);
- _class.addInstrumentationData(TestConstants.OBJECT_ID, dummyInstrumentationData);
-
- assertEquals("Now configuration data should be there...",1,objectInstance._rawConfigurationData.size());
- assertEquals("Now instrumentation data should be there...",1,objectInstance._rawInstrumentationData.size());
-
- assertTrue(
- "Object instance configuration data should be the previously set...",
- Arrays.equals(objectInstance._rawConfigurationData.get(0),
- dummyConfigurationData));
-
- assertTrue(
- "Object instance instrumentation data should be the previously set...",
- Arrays.equals(objectInstance._rawInstrumentationData.get(0),
- dummyInstrumentationData));
- }
-
- /**
- * Tests the internal state change of a class definition.
- */
- public void testStateChange() throws UnableToBuildFeatureException
- {
- _class = new QpidClass(TestConstants.EXCHANGE_CLASS_NAME,TestConstants.HASH,_package)
- {
- @Override
- void requestSchema() throws Exception {
- _state = _schemaRequestedButNotYetInjected;
- }
-
- @Override
- void setSchema(List<Map<String, Object>> propertyDefinitions,
- List<Map<String, Object>> statisticDefinitions,
- List<MethodOrEventDataTransferObject> methodDefinitions) throws UnableToBuildFeatureException {
- _state = _schemaInjected;
- }
- };
-
- assertSame(
- "Initial state doesn't match.",
- _class._schemaNotRequested,
- _class._state);
-
- _class.addConfigurationData(TestConstants.OBJECT_ID, TestConstants.TEST_RAW_DATA);
- _class.addInstrumentationData(TestConstants.OBJECT_ID, TestConstants.TEST_RAW_DATA);
-
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _class._schemaRequestedButNotYetInjected,
- _class._state);
-
- _class.setSchema(
- TestConstants.EMPTY_PROPERTIES_SCHEMA,
- TestConstants.EMPTY_STATISTICS_SCHEMA,
- new LinkedList<MethodOrEventDataTransferObject>());
-
- assertSame(
- "Request schema has been injected. The current state is not indicating that!",
- _class._schemaInjected,
- _class._state);
- }
-
- /**
- * Tests the injection of a valid schema on a QpidClass.
- *
- * <br>precondition : a valid arguments is injected on the qpid class.
- * <br>postcondition : class definition is built successfully.
- */
- public void testSchemaInjectionOk() throws UnableToBuildFeatureException
- {
- _class = new QpidClass(TestConstants.EXCHANGE_CLASS_NAME,TestConstants.HASH,_package)
- {
- @Override
- void requestSchema() throws Exception
- {
- // DO NOTHING : QMan is not running and therefore the schema will be manually injected.
- }
-
- @Override
- void updateInstanceWithConfigurationData(QManManagedObject instance, byte[] rawData)
- {
- // DO NOTHING Given raw data is not valid so it cannot be converted.
- }
- };
-
- // Incoming configuration data : that will fire the schema request and a state change
- // from schema-not-requested to schema-requested-but-not-injected
- _class.addConfigurationData(TestConstants.OBJECT_ID, TestConstants.TEST_RAW_DATA);
-
- // I must be sure that what is obvious for me it's obvious for QMan... :)
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _class._schemaRequestedButNotYetInjected,
- _class._state);
-
- List<Map<String,Object>> propertyDefinitions = new ArrayList<Map<String,Object>>(2);
- propertyDefinitions.add(
- createProperty(
- TestConstants.AGE_ATTRIBUTE_NAME,
- 1,
- TestConstants.YEARS,
- TestConstants.SAMPLE_MIN_VALUE,
- TestConstants.SAMPLE_MAX_VALUE,
- null,
- TestConstants.AGE_ATTRIBUTE_DESCRIPTION,
- TestConstants._1,
- false,
- TestConstants._0));
-
- propertyDefinitions.add(
- createProperty(
- TestConstants.SURNAME_ATTRIBUTE_NAME,
- TestConstants.SAMPLE_ACCESS_CODE,
- null,
- null,
- null,
- TestConstants.SAMPLE_MAX_VALUE,
- TestConstants.SURNAME_ATTRIBUTE_DESCRIPTION,
- TestConstants._1,
- true,
- TestConstants._1));
-
- _class.setSchema(propertyDefinitions, TestConstants.EMPTY_STATISTICS_SCHEMA, TestConstants.EMPTY_METHODS_SCHEMA);
-
- assertEquals(2,_class._properties.size());
-
- QpidProperty property = _class._properties.get(TestConstants.AGE_ATTRIBUTE_NAME);
- assertEquals(TestConstants.AGE_ATTRIBUTE_NAME,property.getName());
- assertEquals(AccessMode.RC,property.getAccessMode());
- assertEquals(TestConstants.YEARS,property.getUnit());
- assertEquals(TestConstants.SAMPLE_MIN_VALUE,property.getMinValue());
- assertEquals(TestConstants.SAMPLE_MAX_VALUE,property.getMaxValue());
- assertEquals(Integer.MIN_VALUE,property.getMaxLength());
- assertEquals(TestConstants.AGE_ATTRIBUTE_DESCRIPTION,property.getDescription());
- assertEquals(Short.class,property.getJavaType());
- assertFalse(property.isOptional());
-
- property = _class._properties.get(TestConstants.SURNAME_ATTRIBUTE_NAME);
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_NAME,property.getName());
- assertEquals(AccessMode.RC,property.getAccessMode());
- assertNull(property.getUnit());
- assertEquals(Integer.MIN_VALUE,property.getMinValue());
- assertEquals(Integer.MIN_VALUE,property.getMaxValue());
- assertEquals(TestConstants.SAMPLE_MAX_VALUE,property.getMaxLength());
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_DESCRIPTION,property.getDescription());
- assertEquals(Short.class,property.getJavaType());
- assertTrue(property.isOptional());
-
- MBeanInfo mbeanInfo = _class._metadata;
- assertEquals(TestConstants.EXCHANGE_CLASS_NAME,mbeanInfo.getClassName());
-
- MBeanAttributeInfo [] attributes = mbeanInfo.getAttributes();
- assertEquals(2,attributes.length);
-
- MBeanAttributeInfo attribute = attributes[0];
- assertEquals(TestConstants.AGE_ATTRIBUTE_NAME,attribute.getName());
- assertEquals(TestConstants.AGE_ATTRIBUTE_DESCRIPTION,attribute.getDescription());
- assertFalse(attribute.isWritable());
- assertTrue(attribute.isReadable());
- assertEquals(Short.class.getName(),attribute.getType());
-
- attribute = attributes[1];
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_NAME,attribute.getName());
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_DESCRIPTION,attribute.getDescription());
- assertFalse(attribute.isWritable());
- assertTrue(attribute.isReadable());
- assertEquals(Short.class.getName(),attribute.getType());
- }
-
- /**
- * Tests the behaviour of the class when a schema request can't be made.
- *
- * <br>precondition : class must be in "schema-not-requested" state when incoming data arrives.
- * <br>postcondition : no exception is thrown and no state transition happens.
- */
- public void testStateChange_withRequestSchemaFailure()
- {
- _class= new QpidClass(TestConstants.EXCHANGE_CLASS_NAME,TestConstants.HASH,_package)
- {
- @Override
- void requestSchema() throws Exception {
- throw new Exception();
- }
-
- @Override
- void setSchema(
- List<Map<String, Object>> propertyDefinitions,
- List<Map<String, Object>> statisticDefinitions,
- List<MethodOrEventDataTransferObject> methodDefinitions) throws UnableToBuildFeatureException
- {
- }
- };
-
- assertSame(
- "Initial state must be schema-not-requested.",
- _class._schemaNotRequested,
- _class._state);
-
- _class.addInstrumentationData(TestConstants.OBJECT_ID, TestConstants.TEST_RAW_DATA);
-
- assertSame(
- "Current state must be still schema-not-requested.",
- _class._schemaNotRequested,
- _class._state);
- }
-
- /**
- * Tests the behaviour of the class when a schema injection fails.
- *
- * <br>precondition : class must be in "schema-not-requested" state when incoming data arrives.
- * <br>postcondition : an exception is thrown and no state transition happens.
- */
- public void testStateChange_withSchemaInjectionFailure()
- {
- _class = new QpidClass(TestConstants.EXCHANGE_CLASS_NAME,TestConstants.HASH,_package)
- {
- @Override
- void requestSchema() throws Exception
- {
- // DO NOTHING.
- }
-
- @Override
- void setSchema(List<Map<String, Object>> propertyDefinitions,
- List<Map<String, Object>> statisticDefinitions,
- List<MethodOrEventDataTransferObject> methodDefinitions)
- throws UnableToBuildFeatureException
- {
- throw new UnableToBuildFeatureException("");
- }
- };
-
- assertSame(
- "Initial state must be schema-not-requested.",
- _class._schemaNotRequested,
- _class._state);
-
- _class.addInstrumentationData(TestConstants.OBJECT_ID, TestConstants.TEST_RAW_DATA);
-
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _class._schemaRequestedButNotYetInjected,
- _class._state);
-
- try {
- _class.setSchema(
- TestConstants.EMPTY_PROPERTIES_SCHEMA,
- TestConstants.EMPTY_STATISTICS_SCHEMA,
- TestConstants.EMPTY_METHODS_SCHEMA);
- fail("If we are here something was wrong becuase the setSchema() of this event is throwing an exception...");
- } catch (UnableToBuildFeatureException expected) {
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _class._schemaRequestedButNotYetInjected,
- _class._state);
- }
- }
-
- private Map<String,Object> createProperty(
- String name,
- Integer accessCode,
- String unit,
- Integer min,
- Integer max,
- Integer maxLength,
- String description,
- Integer type,
- boolean optional,
- Integer index)
- {
- Map <String,Object> result = new HashMap<String, Object>();
- result.put(QpidFeatureBuilder.Attribute.name.name(),name);
- result.put(QpidFeatureBuilder.Attribute.access.name(), accessCode);
-
- if (unit != null)
- {
- result.put(QpidFeatureBuilder.Attribute.unit.name(),unit);
- }
-
- if (min != null)
- {
- result.put(QpidFeatureBuilder.Attribute.min.name(), min);
- }
-
- if (max != null)
- {
- result.put(QpidFeatureBuilder.Attribute.max.name(),max);
- }
-
- if (maxLength != null)
- {
- result.put(QpidFeatureBuilder.Attribute.maxlen.name(),maxLength);
- }
-
- result.put(QpidFeatureBuilder.Attribute.desc.name(), description);
- result.put(QpidFeatureBuilder.Attribute.type.name(), type);
- result.put(QpidFeatureBuilder.Attribute.optional.name(),optional ? 1 : 0);
-
- if (index != null)
- {
- result.put(QpidFeatureBuilder.Attribute.index.name(), index);
- }
- return result;
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidEventTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidEventTest.java
deleted file mode 100644
index 4b36d9e5cc..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidEventTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.TestConstants;
-import org.apache.qpid.management.configuration.ConfigurationException;
-import org.apache.qpid.management.configuration.Configurator;
-import org.apache.qpid.management.domain.model.QpidEvent.QManManagedEvent;
-
-/**
- * Test case for qpid class entity.
- *
- * @author Andrea Gazzarini
- */
-public class QpidEventTest extends TestCase
-{
- private QpidEvent _event;
- private QpidPackage _qpidPackage;
-
- @Override
- protected void setUp () throws Exception
- {
- _qpidPackage = new QpidPackage(TestConstants.QPID_PACKAGE_NAME,TestConstants.DOMAIN_MODEL);
- _event = new QpidEvent(TestConstants.BIND_EVENT_NAME,TestConstants.HASH,_qpidPackage);
- }
-
- /**
- * Tests the execution of the createEventInstance() method.
- * Basically it tests the addition of a new event instance.
- *
- * <br>precondition: event deifinition has no object instances.
- * <br>precondition : event definition contains the new object instance.
- */
- public void testCreateEventInstance()
- {
- assertTrue(
- "A just created event should be empty. I mean there shouldn't be event instances inside.",
- _event.hasNoInstances());
-
- QManManagedEvent instance = createEventInstance();
-
- assertFalse (
- "Now a new instance should be there...",
- _event.hasNoInstances());
-
- assertEquals(TestConstants.TEST_RAW_DATA,instance._rawEventData);
- assertEquals(TestConstants.NOW,instance._timestamp);
- assertEquals(TestConstants.SEVERITY, instance._severity);
- }
-
- /**
- * Tests the internal state change of an event definition.
- */
- public void testStateChange() throws UnableToBuildFeatureException
- {
- // Let's override this class because this is not an online tests and therefore
- // QMan is not supposed to be up.
- _event = new QpidEvent(TestConstants.BIND_EVENT_NAME,TestConstants.HASH,_qpidPackage)
- {
- @Override
- void requestSchema() throws Exception {
- // Do Nothing.
- }
-
- @Override
- void setSchema(List<Map<String, Object>> argumentDefinitions)throws UnableToBuildFeatureException {
- _state = _schemaInjected;
- }
- };
-
- assertSame(
- "Initial state doesn't match.",
- _event._schemaNotRequested,
- _event._state);
-
- _event.addEventData(TestConstants.TEST_RAW_DATA, TestConstants.NOW, TestConstants.SEVERITY);
-
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _event._schemaRequestedButNotYetInjected,
- _event._state);
-
- _event.setSchema(TestConstants.EMPTY_ARGUMENTS_SCHEMA);
-
- assertSame(
- "Request schema has been injected. The current state is not indicating that!",
- _event._schemaInjected,
- _event._state);
- }
-
- /**
- * Tests the injection of a valid schema on a QpidEvent.
- *
- * <br>precondition : a valid arguments is injected on the qpid event.
- * <br>postcondition : event definition is built successfully.
- */
- public void testSchemaInjectionOK() throws UnableToBuildFeatureException, ConfigurationException, InstanceNotFoundException, MBeanException, ReflectionException
- {
- _event = new QpidEvent(TestConstants.BIND_EVENT_NAME,TestConstants.HASH,_qpidPackage)
- {
- @Override
- void requestSchema() throws Exception
- {
- // DO NOTHING : QMan is not running and therefore the schema will be manually injected.
- }
-
- @Override
- void updateEventInstanceWithData(QManManagedEvent instance)
- {
- // DO NOTHING : otherwise we should supply a valid raw data to be converted. ;-)
- }
- };
-
- Configurator configurator = new Configurator();
- configurator.configure();
-
- List<Map<String,Object>> arguments = new ArrayList<Map<String, Object>>();
- arguments.add(createArgument(TestConstants.AGE_ATTRIBUTE_NAME, TestConstants.AGE_ATTRIBUTE_DESCRIPTION));
- arguments.add(createArgument(TestConstants.SURNAME_ATTRIBUTE_NAME, TestConstants.SURNAME_ATTRIBUTE_DESCRIPTION));
-
- // Incoming data : that will fire the schema request and a state change from schema-not-requested to schema-requested-but-not-injected
- _event.addEventData(TestConstants.TEST_RAW_DATA, TestConstants.NOW, TestConstants.SEVERITY);
-
- // I must be sure that what is obvious for me it's obvious for QMan... :)
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _event._schemaRequestedButNotYetInjected,
- _event._state);
-
- // Inject schema
- _event.setSchema(arguments);
-
- // Arguments must be 2 + 2 (severity)
- assertEquals(2,_event._arguments.size());
-
- QpidProperty argument = _event._arguments.get(TestConstants.AGE_ATTRIBUTE_NAME);
- assertEquals(TestConstants.AGE_ATTRIBUTE_NAME,argument.getName());
- assertEquals(AccessMode.RO,argument.getAccessMode());
- assertEquals(TestConstants.AGE_ATTRIBUTE_DESCRIPTION,argument.getDescription());
- assertEquals(Short.class,argument.getJavaType());
- assertFalse(argument.isOptional());
-
- argument = _event._arguments.get(TestConstants.SURNAME_ATTRIBUTE_NAME);
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_NAME,argument.getName());
- assertEquals(AccessMode.RO,argument.getAccessMode());
- assertEquals(TestConstants.SURNAME_ATTRIBUTE_DESCRIPTION,argument.getDescription());
- assertEquals(Short.class,argument.getJavaType());
- assertFalse(argument.isOptional());
-
- assertEquals(1,_event._eventInstances.size());
-
- JmxService service = new JmxService();
- Set<ObjectName> objectNames = service.getEventMBeans();
-
- assertEquals(1,objectNames.size());
- }
-
- /**
- * Tests the behaviour of the event class when a schema request can't be made.
- *
- * <br>precondition : event must be in "schema-not-requested" state when incoming data arrives.
- * <br>postcondition : no exception is thrown and no state transition happens.
- */
- public void testStateChange_withRequestSchemaFailure()
- {
- _event = new QpidEvent(TestConstants.BIND_EVENT_NAME,TestConstants.HASH,_qpidPackage)
- {
- @Override
- void requestSchema() throws Exception {
- throw new Exception();
- }
-
- @Override
- void setSchema(List<Map<String, Object>> argumentDefinitions)throws UnableToBuildFeatureException {
- _state = _schemaInjected;
- }
- };
-
- assertSame(
- "Initial state must be schema-not-requested.",
- _event._schemaNotRequested,
- _event._state);
-
- _event.addEventData(TestConstants.TEST_RAW_DATA, TestConstants.NOW, TestConstants.SEVERITY);
-
- assertSame(
- "Current state must be still schema-not-requested.",
- _event._schemaNotRequested,
- _event._state);
- }
-
- /**
- * Tests the behaviour of the event class when a schema injection fails.
- *
- * <br>precondition : event must be in "schema-not-requested" state when incoming data arrives.
- * <br>postcondition : an exception is thrown and no state transition happens.
- */
- public void testStateChange_withSchemaInjectionFailure()
- {
- _event = new QpidEvent(TestConstants.BIND_EVENT_NAME,TestConstants.HASH,_qpidPackage)
- {
- @Override
- void requestSchema() throws Exception {
- // DO NOTHING.
- }
-
- @Override
- void setSchema(List<Map<String, Object>> argumentDefinitions)throws UnableToBuildFeatureException {
- throw new UnableToBuildFeatureException("");
- }
- };
-
- assertSame(
- "Initial state must be schema-not-requested.",
- _event._schemaNotRequested,
- _event._state);
-
- _event.addEventData(TestConstants.TEST_RAW_DATA, TestConstants.NOW, TestConstants.SEVERITY);
-
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _event._schemaRequestedButNotYetInjected,
- _event._state);
-
- try {
- _event.setSchema(TestConstants.EMPTY_ARGUMENTS_SCHEMA);
- fail("If we are here something was wrong becuase the setSchema() of this event is throwing an exception...");
- } catch (UnableToBuildFeatureException expected) {
- assertSame(
- "Request schema has been requested but not yet injected. The current state is not indicating that!",
- _event._schemaRequestedButNotYetInjected,
- _event._state);
- }
- }
-
- /**
- * Factory method for qpid managed event instances.
- *
- * @return a new QpidManagedEvent with test data inside.
- */
- private QManManagedEvent createEventInstance()
- {
- return _event.createEventInstance(
- TestConstants.TEST_RAW_DATA,
- TestConstants.NOW,
- TestConstants.SEVERITY);
- }
-
- /**
- * Factory method for event argument.
- *
- * @return a new argument metadata.
- */
- private Map<String,Object> createArgument(String name,String desc)
- {
- Map <String,Object> argument = new HashMap<String, Object>();
- argument.put(QpidFeatureBuilder.Attribute.name.name(),name);
- argument.put(QpidFeatureBuilder.Attribute.desc.name(), desc);
- argument.put(QpidFeatureBuilder.Attribute.type.name(), TestConstants._1);
- return argument;
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidMethodBuilderTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidMethodBuilderTest.java
deleted file mode 100644
index 06dc35b0b1..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidMethodBuilderTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.dir;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.name;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.type;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.unit;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.management.MBeanOperationInfo;
-
-import org.apache.qpid.management.Names;
-import org.apache.qpid.management.domain.handler.impl.MethodOrEventDataTransferObject;
-import org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute;
-
-/**
- * Test case for Qpid Statistic builder.
- *
- * @author Andrea Gazzarini
- */
-public class QpidMethodBuilderTest extends BaseQpidFeatureBuilderTestCase
-{
- private final static Integer ARG_COUNT = 3;
- private MethodOrEventDataTransferObject _methodDefinition;
-
- private List<Map<String,Object>> _argumentsDefinitons = new ArrayList<Map<String, Object>>();
-
- @Override
- protected void setUp () throws Exception
- {
- super.setUp();
- _featureDefinition.put(Names.ARG_COUNT_PARAM_NAME, ARG_COUNT);
-
- Map<String,Object> arg1 = new HashMap<String,Object>();
- arg1.put(name.name(), "arg1");
- arg1.put(type.name(),1);
- arg1.put(dir.name(),Direction.I.name());
- arg1.put(unit.name(), "bytes");
-
- Map<String,Object> arg2 = new HashMap<String,Object>();
- arg2.put(name.name(), "arg2");
- arg2.put(type.name(),1);
- arg2.put(dir.name(),Direction.O.name());
- arg2.put(unit.name(), "bytes");
-
- Map<String,Object> arg3 = new HashMap<String,Object>();
- arg3.put(name.name(), "arg3");
- arg3.put(type.name(),1);
- arg3.put(dir.name(),Direction.IO.name());
- arg3.put(unit.name(), "bytes");
-
- /*
- dir yes no yes Direction code for method arguments
- unit yes yes yes Units for numeric values (i.e. seconds, bytes, etc.)
- min yes no yes Minimum value for numerics
- max yes no yes Maximum value for numerics
- maxlen yes no yes Maximum length for strings
- desc yes yes yes Description of the argument
- default yes no yes Default value for the argument
- */
- _argumentsDefinitons.add(arg1);
- _argumentsDefinitons.add(arg2);
-
- _methodDefinition = new MethodOrEventDataTransferObject(_featureDefinition,_argumentsDefinitons);
- _builder = QpidFeatureBuilder.createMethodBuilder(_methodDefinition);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't contains type attribute.
- *
- * <br>precondition: definition map doesn't contains type attribute.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attribute.
- */
- public void testMethodBuilderKO_WithMissingName()
- {
- internalTestForMissingMandatoryAttribute(Attribute.name);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't contain type, name, index & optional attributes.
- *
- * <br>precondition: definition map doesn't contain type, name, index & optional attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testMethodBuilderOK_WithMissingUnit() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.unit);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't unit attribute.
- * Note that this attribute is optional and therefore the build must succeed.
- *
- * <br>precondition: definition map doesn't contain unit attribute.
- * <br>postcondition : no exception is thrown and the statistic is built.
- */
- public void testMethodBuilderOK_WithMissingDescription() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.desc);
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains valid values.
- *
- * <br>precondition : the statistic definiton map contains valid values.
- * <br>postcondition : no exception is thrown and the statistisc is built as expected.
- */
- public void testMethodBuilderOK() throws UnableToBuildFeatureException
- {
- _builder.build();
-
- QpidMethod method = (QpidMethod) _builder.getQpidFeature();
- MBeanOperationInfo info = (MBeanOperationInfo) _builder.getManagementFeature();
-
- assertEquals(NAME,method.getName());
-
- assertEquals(DESCRIPTION,method.getDescription());
-
- assertEquals(method.getDescription(),info.getDescription());
- assertEquals(method.getName(),info.getName());
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidNumberPropertyTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidNumberPropertyTest.java
deleted file mode 100644
index 374011d150..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidNumberPropertyTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.configuration.Configurator;
-import org.apache.qpid.management.domain.model.type.Uint8;
-
-public class QpidNumberPropertyTest extends TestCase
-{
- private QpidProperty _property;
- private Long _value = 55432L;
-
- @Override
- protected void setUp () throws Exception
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- _property = new QpidProperty();
- _property.setName("average");
- _property.setAccessMode(AccessMode.RW);
- _property.setType(new Uint8());
- }
-
- /**
- * Tests the validation of a qpid property when the type is a number and no constraint has been set.
- *
- * <br>precondition : property type is a string, no constraint has been set.
- * <br>postcondition : no exception is thrown and the validation succeeds.
- */
- public void testValidationWithoutConstraints() {
- try
- {
- _property.validate(_value);
- } catch (ValidationException notExpected)
- {
- fail("If no constraint has been set on this property why the validation is failing?");
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a number and a max value constraint has been set.
- *
- * <br>precondition : property type is a number, max value has been set and property value is greater than max value.
- * <br>postcondition : an exception is thrown indicating the validation failure.
- */
- public void testValidationKO_withMaxValue() {
- int maxValue = (int)(_value-1);
- _property.setMaxValue(maxValue);
-
- try
- {
- _property.validate(_value);
- fail("The given value is violating the installed constraint so an exception must be thrown.");
- } catch (ValidationException expected)
- {
- assertEquals(ValidationException.MAX_VALUE,expected.getConstraintName());
- assertEquals(maxValue,expected.getConstraintValue());
- assertEquals((double)_value,expected.getFeatureValue());
- assertEquals(_property.getName(),expected.getFeatureName());
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a number and a min value constraint has been set.
- *
- * <br>precondition : property type is a number, min value has been set and property value is lesser than min value.
- * <br>postcondition : an exception is thrown indicating the validation failure.
- */
- public void testValidationKO_withMinValue() {
- int minValue = (int)(_value+1);
- _property.setMinValue(minValue);
-
- try
- {
- _property.validate(_value);
- fail("The given value is violating the installed constraint so an exception must be thrown.");
- } catch (ValidationException expected)
- {
- assertEquals(ValidationException.MIN_VALUE,expected.getConstraintName());
- assertEquals(minValue,expected.getConstraintValue());
- assertEquals((double)_value,expected.getFeatureValue());
- assertEquals(_property.getName(),expected.getFeatureName());
- }
- }
-
-
- /**
- * Tests the validation of a qpid property when the number is a string and the property value is null.
- *
- * <br>precondition : property type is a number and property value is null..
- * <br>postcondition : no exception is thrown. That is : the validation succeeds.
- */
- public void testValidationOK_withNullValue() {
- try
- {
- _property.validate(null);
- } catch (ValidationException notExpected)
- {
- fail("No constraint has been violated so validate() shouldn't raise an exception.");
- }
-
- _property.setMinValue(1);
- _property.setMaxValue(10);
-
- try
- {
- _property.validate(null);
- } catch (ValidationException notExpected)
- {
- fail("No constraint has been violated so validate() shouldn't raise an exception.");
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a number and a max / min constraints have been set.
- *
- * <br>precondition : property type is a number, max / min constraint have been set and property value is wrong.
- * <br>postcondition : an exception is thrown indicating the validation failure.
- */
- public void testValidationOK_withMinAndMaxConstraint() {
- int minValue = (int)(_value+1);
- int maxValue = (int)(_value-1);
- _property.setMinValue(minValue);
- _property.setMaxValue(maxValue);
-
- try
- {
- _property.validate(_value);
- fail("The given value is violating the installed constraint so an exception must be thrown.");
- } catch (ValidationException expected)
- {
- assertEquals(ValidationException.MIN_VALUE,expected.getConstraintName());
- assertEquals(minValue,expected.getConstraintValue());
- assertEquals((double)_value,expected.getFeatureValue());
- assertEquals(_property.getName(),expected.getFeatureName());
- }
-
- _property.setMinValue(0);
- try
- {
- _property.validate(_value);
- fail("The given value is violating the installed constraint so an exception must be thrown.");
- } catch (ValidationException expected)
- {
- assertEquals(ValidationException.MAX_VALUE,expected.getConstraintName());
- assertEquals(maxValue,expected.getConstraintValue());
- assertEquals((double)_value,expected.getFeatureValue());
- assertEquals(_property.getName(),expected.getFeatureName());
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPackageTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPackageTest.java
deleted file mode 100644
index b7eb9055ba..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPackageTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import org.apache.qpid.management.TestConstants;
-
-/**
- * Test case for Qpid package entity.
- *
- * @author Andrea Gazzarini
- */
-public class QpidPackageTest extends BaseDomainModelTestCase
-{
- private QpidPackage _qpidPackage;
-
- @Override
- protected void setUp () throws Exception
- {
- _qpidPackage = new QpidPackage(TestConstants.QPID_PACKAGE_NAME, TestConstants.DOMAIN_MODEL);
- }
-
- /**
- * Tests the association of a new class with a qpid package.
- *
- * <br>precondition : the package is not associated with any class.
- * <br>postcondition : the package is now associated with the given class.
- */
- public void testAddClass() throws UnableToBuildFeatureException {
- assertFalse(_qpidPackage.alreadyContainsClassDefinition(TestConstants.EXCHANGE_CLASS_NAME, TestConstants.HASH));
-
- _qpidPackage.getQpidClass(TestConstants.EXCHANGE_CLASS_NAME, TestConstants.HASH, true);
-
- assertTrue(_qpidPackage.alreadyContainsClassDefinition(TestConstants.EXCHANGE_CLASS_NAME, TestConstants.HASH));
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPropertyBuilderTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPropertyBuilderTest.java
deleted file mode 100644
index 8ad177645c..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidPropertyBuilderTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.access;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.index;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.max;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.min;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.optional;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.type;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.unit;
-
-import javax.management.MBeanAttributeInfo;
-
-import org.apache.qpid.management.configuration.UnknownTypeCodeException;
-import org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute;
-
-/**
- * Test case for Qpid Property builder.
- *
- * @author Andrea Gazzarini
- */
-public class QpidPropertyBuilderTest extends BaseQpidFeatureBuilderTestCase
-{
- private final static Integer MIN = 0;
- private final static Integer MAX = 120;
- private final static String UNIT = "bytes";
-
- private Integer _access;
-
- @Override
- protected void setUp () throws Exception
- {
- super.setUp();
-
- _access = 1;
- _featureDefinition.put(access.name(), _access);
- _featureDefinition.put(unit.name(),UNIT);
- _featureDefinition.put(min.name(), MIN);
- _featureDefinition.put(max.name(),MAX);
-
- _featureDefinition.put(type.name(), 1);
- _featureDefinition.put(optional.name(),0);
- _featureDefinition.put(index.name(), 0);
-
- _builder = QpidFeatureBuilder.createPropertyBuilder(_featureDefinition);
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains an unknown type code.
- *
- * <br>precondition : the statistic definiton map contains an unknown type code.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testStatisticBuilderKO_WithUnknownType()
- {
- int unknownTypeCode =999;
- try
- {
- _featureDefinition.put(type.name(), unknownTypeCode);
- _builder.build();
- fail("An unknown type code should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertEquals(unknownTypeCode,((UnknownTypeCodeException)expected.getCause()).getCode());
- }
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains a null value for a metadata attribute.
- *
- * <br>precondition : the statistic definiton map contains a null value for a metadata attribute.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testMethodBuilderKO_WithNullMetadataValue()
- {
- try
- {
- _featureDefinition.put(type.name(), null);
- _builder.build();
- fail("An null value for a metadata attribute should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertTrue(expected.getCause() instanceof NullPointerException);
- }
- }
-
- /**
- * Tests the build process for a property when the definition map contains an invalid metadata type.
- *
- * <br>precondition : the property definiton map contains a wrong type for a metadata attribute.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testPropertyBuilderKO_WithClassCastException()
- {
- try
- {
- _featureDefinition.put(access.name(), new String("a"));
- _builder.build();
- fail("A wrong metadata attribute type should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertTrue(expected.getCause() instanceof ClassCastException);
- }
- }
-
- /**
- * Tests the build process for a property when the definition map contains an unknown type code.
- *
- * <br>precondition : the property definiton map contains an unknown type code.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testPropertyBuilderKO_WithUnknownType()
- {
- int unknownTypeCode = 999;
- try
- {
- _featureDefinition.put(type.name(), unknownTypeCode);
- _builder.build();
- fail("An unknown type code should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertEquals(unknownTypeCode,((UnknownTypeCodeException)expected.getCause()).getCode());
- }
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't contains type attribute.
- *
- * <br>precondition: definition map doesn't contains type attribute.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attribute.
- */
- public void testPropertyBuilderKO_WithMissingType()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't contain type & name attributes.
- *
- * <br>precondition: definition map doesn't contain type & name attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testPropertyBuilderKO_WithMissingTypeAndName()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type, Attribute.name);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't contain type & name & index attributes.
- *
- * <br>precondition: definition map doesn't contain type & name & index attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testPropertyBuilderKO_WithMissingTypeAndNameAndIndex()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type, Attribute.name,Attribute.index);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't contain type, name, index & optional attributes.
- *
- * <br>precondition: definition map doesn't contain type, name, index & optional attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testPropertyBuilderKO_WithMissingTypeAndNameAndIndexAndOptional()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type, Attribute.name,Attribute.index,Attribute.optional);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't contain type, name, index, optional and access
- * attributes.
- *
- * <br>precondition: definition map doesn't contain type, name, index, optional and access attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testPropertyBuilderKO_WithMissingTypeAndNameAndIndexAndOptionalAndAccess()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type, Attribute.name,Attribute.index,Attribute.optional,Attribute.access);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't unit attribute.
- * Note that this attribute is optional and therefore the build must succeed.
- *
- * <br>precondition: definition map doesn't contain unit attribute.
- * <br>postcondition : no exception is thrown and the property is built.
- */
- public void testBuilderOK_WithMissingUnit() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.unit);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't min and max attributes.
- * Note that those attributes are optional and therefore the build must succeed.
- *
- * <br>precondition: definition map doesn't contain min and max attributes.
- * <br>postcondition : no exception is thrown and the property is built.
- */
- public void testBuilderOK_WithMissingMinAndMax() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.min,Attribute.max);
- }
-
- /**
- * Tests the build process for a property when the definition map doesn't description attribute.
- * Note that this attribute is optional and therefore the build must succeed.
- *
- * <br>precondition: definition map doesn't contain description attribute.
- * <br>postcondition : no exception is thrown and the property is built.
- */
- public void testBuilderOK_WithMissingDescription() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.desc);
- }
-
- /**
- * Tests the build process for a property when the definition map contains valid values.
- *
- * <br>precondition : the property definiton map contains valid values.
- * <br>postcondition : no exception is thrown and the property is built as expected.
- */
- public void testPropertyBuilderOK() throws UnableToBuildFeatureException
- {
- _builder.build();
-
- QpidProperty property = (QpidProperty) _builder.getQpidFeature();
- MBeanAttributeInfo info = (MBeanAttributeInfo) _builder.getManagementFeature();
-
- assertEquals(NAME,property.getName());
- assertEquals(AccessMode.RC,property.getAccessMode());
- assertEquals(UNIT,property.getUnit());
- assertEquals(MIN.intValue(),property.getMinValue());
- assertEquals(MAX.intValue(),property.getMaxValue());
- assertEquals(Integer.MIN_VALUE,property.getMaxLength());
- assertEquals(DESCRIPTION,property.getDescription());
- assertEquals(Short.class,property.getJavaType());
- assertFalse(property.isOptional());
-
- assertEquals(property.getDescription(),info.getDescription());
- assertEquals(property.getName(),info.getName());
- assertEquals(property.getJavaType().getName(),info.getType());
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStatisticBuilderTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStatisticBuilderTest.java
deleted file mode 100644
index b7a8540b2d..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStatisticBuilderTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.type;
-import static org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute.unit;
-
-import javax.management.MBeanAttributeInfo;
-
-import org.apache.qpid.management.configuration.UnknownTypeCodeException;
-import org.apache.qpid.management.domain.model.QpidFeatureBuilder.Attribute;
-
-/**
- * Test case for Qpid Statistic builder.
- *
- * @author Andrea Gazzarini
- */
-public class QpidStatisticBuilderTest extends BaseQpidFeatureBuilderTestCase
-{
- private final static String UNIT = "bytes";
-
- @Override
- protected void setUp () throws Exception
- {
- super.setUp();
- _featureDefinition.put(unit.name(),UNIT);
- _featureDefinition.put(type.name(), 1);
-
- _builder = QpidFeatureBuilder.createStatisticBuilder(_featureDefinition);
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains an unknown type code.
- *
- * <br>precondition : the statistic definiton map contains an unknown type code.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testStatisticBuilderKO_WithUnknownType()
- {
- int unknownTypeCode = 999;
- try
- {
- _featureDefinition.put(type.name(), unknownTypeCode);
- _builder.build();
- fail("An unknown type code should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertEquals(unknownTypeCode,((UnknownTypeCodeException)expected.getCause()).getCode());
- }
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains a null value for a metadata attribute.
- *
- * <br>precondition : the statistic definiton map contains a null value for a metadata attribute.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testMethodBuilderKO_WithNullMetadataValue()
- {
- try
- {
- _featureDefinition.put(type.name(), null);
- _builder.build();
- fail("An null value for a metadata attribute should raise an exception to indicate a failure.");
- } catch (UnableToBuildFeatureException expected)
- {
- assertTrue(expected.getCause() instanceof NullPointerException);
- }
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't contains type attribute.
- *
- * <br>precondition: definition map doesn't contains type attribute.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attribute.
- */
- public void testStatisticBuilderKO_WithMissingType()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't contain type & name attributes.
- *
- * <br>precondition: definition map doesn't contain type & name attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testStatisticBuilderKO_WithMissingTypeAndName()
- {
- internalTestForMissingMandatoryAttribute(Attribute.type, Attribute.name);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't contain type, name, index & optional attributes.
- *
- * <br>precondition: definition map doesn't contain type, name, index & optional attributes.
- * <br>postcondition : an exception should be thrown indicating the failure. That exception must contain the name of the
- * missing attributes.
- */
- public void testStatisticBuilderOK_WithMissingUnit() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.unit);
- }
-
- /**
- * Tests the build process for a statistic when the definition map doesn't unit attribute.
- * Note that this attribute is optional and therefore the build must succeed.
- *
- * <br>precondition: definition map doesn't contain unit attribute.
- * <br>postcondition : no exception is thrown and the statistic is built.
- */
- public void testBuilderOK_WithMissingDescription() throws UnableToBuildFeatureException
- {
- internalTestForMissingOptionalAttribute(Attribute.desc);
- }
-
- /**
- * Tests the build process for a statistic when the definition map contains valid values.
- *
- * <br>precondition : the statistic definiton map contains valid values.
- * <br>postcondition : no exception is thrown and the statistisc is built as expected.
- */
- public void testStatisticBuilderOK() throws UnableToBuildFeatureException
- {
- _builder.build();
-
- QpidStatistic statistic= (QpidStatistic) _builder.getQpidFeature();
- MBeanAttributeInfo info = (MBeanAttributeInfo) _builder.getManagementFeature();
-
- assertEquals(NAME,statistic.getName());
- assertEquals(UNIT,statistic.getUnit());
- assertEquals(DESCRIPTION,statistic.getDescription());
- assertEquals(Short.class,statistic.getJavaType());
-
- assertEquals(statistic.getDescription(),info.getDescription());
- assertEquals(statistic.getName(),info.getName());
- assertEquals(statistic.getJavaType().getName(),info.getType());
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStringPropertyTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStringPropertyTest.java
deleted file mode 100644
index 8aeb7c8550..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/QpidStringPropertyTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.configuration.Configurator;
-import org.apache.qpid.management.domain.model.type.Str16;
-
-public class QpidStringPropertyTest extends TestCase
-{
- private QpidProperty _property;
- private final String _5LettersString = "12345";
-
- @Override
- protected void setUp () throws Exception
- {
- Configurator configurator = new Configurator();
- configurator.configure();
- _property = new QpidProperty();
- _property.setName("name");
- _property.setAccessMode(AccessMode.RW);
- _property.setType(new Str16());
- }
-
- /**
- * Tests the validation of a qpid property when the type is a string and a max length constraint hasn't been set.
- *
- * <br>precondition : property type is a string, max length hasn't been set.
- * <br>postcondition : no exception is thrown. That is : the validation succeeds.
- */
- public void testValidationWithoutMaxLength() {
- try
- {
- _property.validate(_5LettersString);
- } catch (ValidationException notExpected)
- {
- fail("No max length has been set on property so validation must succeed.");
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a string and a max length constraint has been set.
- *
- * <br>precondition : property type is a string, max length has been set and property value is longer than max length.
- * <br>postcondition : an exception is thrown indicating the validation failure.
- */
- public void testValidationKO_withMaxLength() {
- int maxLength = 2;
- _property.setMaxLength(maxLength);
-
- try
- {
- _property.validate(_5LettersString);
- fail("No max length has been set on property so validation must proceed.");
- } catch (ValidationException expected)
- {
- assertEquals(ValidationException.MAX_LENGTH,expected.getConstraintName());
- assertEquals(maxLength,expected.getConstraintValue());
- assertEquals(_5LettersString.length(),expected.getFeatureValue());
- assertEquals(_property.getName(),expected.getFeatureName());
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a string and the property value is null.
- *
- * <br>precondition : property type is a string and property value is null..
- * <br>postcondition : no exception is thrown. That is : the validation succeeds.
- */
- public void testValidationOK_withNullValue() {
- try
- {
- _property.validate(null);
- } catch (ValidationException notExpected)
- {
- fail("No constraint has been violated so validate() shouldn't raise an exception.");
- }
-
- _property.setMaxLength(1);
-
- try
- {
- _property.validate(null);
- } catch (ValidationException notExpected)
- {
- fail("No constraint has been violated so validate() shouldn't raise an exception.");
- }
- }
-
- /**
- * Tests the validation of a qpid property when the type is a string and a max length constraint has been set.
- *
- * <br>precondition : property type is a string, max length has been set and property value is not violating that.
- * <br>postcondition : no exception is thrown. That is : the validation succeeds.
- */
- public void testValidationOK_withMaxLength() {
- int maxLength = (_5LettersString.length()+1);
- _property.setMaxLength(maxLength);
-
- try
- {
- _property.validate(_5LettersString);
- } catch (ValidationException notExpected)
- {
- fail("No constraint has been violated so validate() shouldn't raise an exception.");
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/type/BinaryTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/type/BinaryTest.java
deleted file mode 100644
index 6636c08710..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/model/type/BinaryTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.model.type;
-
-import junit.framework.TestCase;
-
-/**
- * Test case for "Binary" type.
- *
- * @author Andrea Gazzarini
- */
-public class BinaryTest extends TestCase
-{
- /**
- * Tests the lazy & once hash code computation behaviour of the binary type.
- */
- public void testHashCodeComputation(){
- Binary binary = new Binary(new byte[]{1,2,3,4,5,6,7,6,3,3});
- assertSame(binary.state,binary.hashCodeNotYetComputed);
-
- int firstResult = binary.hashCode();
- assertSame(binary.state,binary.hashCodeAlreadyComputed);
-
- int secondResult = binary.hashCode();
- assertSame(binary.state,binary.hashCodeAlreadyComputed);
- assertEquals(firstResult,secondResult);
- }
-
- /**
- * Tests the equals() method of the binary class.
- * Two binary must be equals only if they contain the same array (that is, two arrays with the same size & content)
- */
- public void testIdentity() {
- Binary binary = new Binary(new byte[]{1,2,3,4,5,6,7,6,3,3});
- Binary theSame= new Binary(new byte[]{1,2,3,4,5,6,7,6,3,3});
- Binary aDifferentOne = new Binary(new byte[]{4,2,3,3,4,4,5,3,3,2});
-
- assertTrue(binary.equals(theSame));
- assertFalse(binary.equals(aDifferentOne));
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/BrokerMessageListenerTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/BrokerMessageListenerTest.java
deleted file mode 100644
index 805c039a6f..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/BrokerMessageListenerTest.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.domain.services;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Random;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.api.Message;
-import org.apache.qpid.management.TestConstants;
-import org.apache.qpid.management.domain.handler.base.IMessageHandler;
-import org.apache.qpid.management.domain.model.DomainModel;
-import org.apache.qpid.nclient.util.ByteBufferMessage;
-import org.apache.qpid.transport.codec.Decoder;
-
-/**
- * Test case for Broker Message Listener.
- *
- * @author Andrea Gazzarini
- */
-public class BrokerMessageListenerTest extends TestCase
-{
- // An empty message handler user for test.
- private IMessageHandler _emptyMessageHandler = new IMessageHandler()
- {
- public void process (Decoder decoder, int sequenceNumber)
- {
- }
- public void setDomainModel (DomainModel domainModel)
- {
- }
- };
-
- // Another empty message handler user for test.
- private IMessageHandler _anotherEmptyMessageHandler = new IMessageHandler()
- {
- public void process (Decoder decoder, int sequenceNumber)
- {
- }
- public void setDomainModel (DomainModel domainModel)
- {
- }
- };
-
- private Map<Character,IMessageHandler> _handlers = new HashMap<Character, IMessageHandler>();
- private BrokerMessageListener _listener;
- private final char opcode1 = 'x';
- private final char opcode2 = 'y';
-
-
- @Override
- protected void setUp () throws Exception
- {
- DomainModel domainModel = new DomainModel(TestConstants.BROKER_ID);
- _listener = new BrokerMessageListener(domainModel);
-
- _handlers.put(opcode1, _emptyMessageHandler);
- _handlers.put(opcode2, _anotherEmptyMessageHandler);
- }
-
- /**
- * Tests the installation of message handlers on a broker message listener.
- *
- * <br>precondition : no message handler has been installed on message listener.
- * <br>postcondition : two message handlers are installed on message listener.
- */
- public void testSetHandlersOK()
- {
- assertTrue(
- "No handler has yet been installed so how is it possible that the handlers map is not empty?",
- _listener._handlers.isEmpty());
-
- _listener.setHandlers(_handlers);
-
- assertEquals("Now we should have two handlers configured.",2,_listener._handlers.size());
- assertSame(_listener._handlers.get(opcode1),_emptyMessageHandler);
- assertSame(_listener._handlers.get(opcode2),_anotherEmptyMessageHandler);
- }
-
- /**
- * Tests the installation of message handlers on a broker message listener.
- * Specifically it tries to install three message handlers and one of them is throwing an exception at installation time.
- *
- * <br>precondition : no message handler has been installed on message listener.
- * <br>postcondition : two message handlers are installed on message listener. (the one that thrown exception has been
- * discarded).
- */
- public void testSetHandlerOK()
- {
- IMessageHandler wrongMessageHandler = new IMessageHandler()
- {
-
- public void process (Decoder decoder, int sequenceNumber)
- {
- }
-
- public void setDomainModel (DomainModel domainModel)
- {
- throw new RuntimeException();
- }
- };
-
- char opcodeForWrongHandler = 'k';
-
- assertTrue(
- "No handler has yet been installed so how is it possible that the handlers map is not empty?",
- _listener._handlers.isEmpty());
-
- _handlers.put(opcodeForWrongHandler,wrongMessageHandler);
-
- _listener.setHandlers(_handlers);
-
- assertEquals("Now we should have two handlers configured.",2,_listener._handlers.size());
- assertSame(_listener._handlers.get(opcode1),_emptyMessageHandler);
- assertSame(_listener._handlers.get(opcode2),_anotherEmptyMessageHandler);
- assertNull(_listener._handlers.get(opcodeForWrongHandler));
- }
-
- /**
- * Tests the execution of the onMessage() method when a message with a bad magic number is received.
- *
- * <br>precondition : a message with a bad magic number is received.
- * <br>postcondition : the processing of the incoming message is skipped and therefore no handler will be called.
- */
- public void testOnMessageKO_withBadMagicNumber() throws IOException
- {
- IMessageHandler neverCallMe = new IMessageHandler()
- {
-
- public void process (Decoder decoder, int sequenceNumber)
- {
- fail("This test shouldn't never arrive at this point...");
- }
-
- public void setDomainModel (DomainModel domainModel)
- {
- }
- };
-
- String opcodeForNeverCallMeHandler = "w";
-
- _handlers.put('w',neverCallMe);
- _listener.setHandlers(_handlers);
-
- Message message = new ByteBufferMessage();
- message.appendData( ("AMG"+opcodeForNeverCallMeHandler).getBytes());
-
- _listener.onMessage(message);
- }
-
- /**
- * Tests the execution of the onMessage() method when the incoming message is a compound message.
- *
- * <br>precondition : the incoming message is a compound message.
- * <br>postcondition : each tokenized message is forwarded to the appropriate handler.
- */
- public void testOnMessageOK_WithCompoundMessage() throws Exception
- {
- final Map<Character,IMessageHandler> handlersMap = new HashMap<Character,IMessageHandler>();
- char [] opcodes = {'a','b','c','d','e'};
-
- class MockMessageHandler implements IMessageHandler
- {
- private final char _opcode;
-
- public MockMessageHandler(char opcode)
- {
- this._opcode = opcode;
- }
-
- public void process (Decoder decoder, int sequenceNumber)
- {
- handlersMap.remove(_opcode);
- }
-
- public void setDomainModel (DomainModel domainModel)
- {
- // Do nothing here. It's just a mock handler.
- }
- };
-
- for (char opcode : opcodes)
- {
- handlersMap.put(opcode, new MockMessageHandler(opcode));
- }
-
- // Removes previously injected handlers (i.e. x & y)
- _listener._handlers.clear();
- _listener.setHandlers(handlersMap);
-
- Message compoundMessage = createCompoundMessage(opcodes);
- _listener.onMessage(compoundMessage);
-
- assertTrue(handlersMap.isEmpty());
- }
-
- // Creates a (non valid) compound message.
- private Message createCompoundMessage(char[] opcodes) throws IOException {
- byte [] compoundMessageData = new byte [12 * opcodes.length];
- Random randomizer = new Random();
- int position = 0;
-
- for (char opcode : opcodes) {
- System.arraycopy(MessageTokenizer.MAGIC_NUMBER_BYTES, 0, compoundMessageData, position, MessageTokenizer.MAGIC_NUMBER_BYTES.length);
- position+=MessageTokenizer.MAGIC_NUMBER_BYTES.length;
-
- compoundMessageData[position++] = (byte)opcode;
-
- for (int c = 4; c < 12; c++)
- {
- byte aByte = (byte)randomizer.nextInt(127);
- compoundMessageData[position++] = aByte;
- }
- }
-
- Message compoundMessage = new ByteBufferMessage();
- compoundMessage.appendData(compoundMessageData);
- return compoundMessage;
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/MessageTokenizerTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/MessageTokenizerTest.java
deleted file mode 100644
index 55b8b17f9d..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/domain/services/MessageTokenizerTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.qpid.management.domain.services;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.*;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.api.Message;
-import org.apache.qpid.nclient.util.ByteBufferMessage;
-import org.apache.qpid.transport.codec.BBDecoder;
-
-/**
- * Tests case for messaeg tokenizer.
- *
- * @author Andrea Gazzarini
- */
-public class MessageTokenizerTest extends TestCase {
-
- /**
- * Tests the execution of the message tokenizer when the given message is not a valid AMQP message.
- *
- * <br>precondition : the incoming message is not a valid AMQP message.
- * <br>postcondition : no exception is thrown and there will be exactly one token with the given message.
- */
- public void testOK_WithNoMessage() throws IOException{
- byte [] noMessage = {2,10,120,23,23,23,4,10,11,12,2,1,3,-22};
-
- Message multiMessage = new ByteBufferMessage();
- multiMessage.appendData(noMessage);
- MessageTokenizer tokenizer = new MessageTokenizer(multiMessage);
-
- assertEquals(1, tokenizer.countTokens());
- assertEquals(tokenizer.nextElement(),noMessage);
- assertFalse(tokenizer.hasMoreElements());
- }
-
- /**
- * Tests the execution of the message tokenizer when the given message contains only one message.
- *
- * <br>precondition : the incoming message contains only one message.
- * <br>postcondition : no exception is thrown and there will be exactly one token with the given message.
- */
- public void testOK_WithOneMessage() throws IOException{
- byte [] oneEncodedMessage = {'A','M','2',23,23,23,4,10,11,12,2,1,3,-22};
-
- Message multiMessage = new ByteBufferMessage();
- multiMessage.appendData(oneEncodedMessage);
- MessageTokenizer tokenizer = new MessageTokenizer(multiMessage);
-
- assertEquals(1, tokenizer.countTokens());
- assertEquals(tokenizer.nextElement(),oneEncodedMessage);
- assertFalse(tokenizer.hasMoreElements());
- }
-
- /**
- * Tests the execution of the message tokenizer when the given message contains a random number of messages.
- *
- * <br>precondition : the incoming message contains a random number of messages.
- * <br>postcondition : no exception is thrown and each built token is a valid message starting with right header.
- */
- public void testOK_WithRandomNUmberOfMessages() throws IOException{
- Random randomizer = new Random();
-
- int howManyLoops = randomizer.nextInt(10000);
- howManyLoops = (howManyLoops == 0) ? 10 : howManyLoops;
- byte [] compoundMessageData = new byte [12 * howManyLoops];
-
- List<byte []> messages = new ArrayList<byte[]>(howManyLoops);
-
- int position = 0;
- for (int i = 0; i < howManyLoops; i++)
- {
- byte [] message = new byte[12];
- System.arraycopy(MessageTokenizer.MAGIC_NUMBER_BYTES, 0, compoundMessageData, position, MessageTokenizer.MAGIC_NUMBER_BYTES.length);
- System.arraycopy(MessageTokenizer.MAGIC_NUMBER_BYTES, 0, message, 0, MessageTokenizer.MAGIC_NUMBER_BYTES.length);
- position+=MessageTokenizer.MAGIC_NUMBER_BYTES.length;
-
- for (int c = 3; c < 12; c++)
- {
- byte aByte = (byte)randomizer.nextInt(127);
- aByte = (aByte == 77) ? (byte)c : aByte;
- compoundMessageData[position++] = aByte;
- message[c] = aByte;
- }
- messages.add(message);
- }
-
- Message multiMessage = new ByteBufferMessage();
- multiMessage.appendData(compoundMessageData);
- MessageTokenizer tokenizer = new MessageTokenizer(multiMessage);
-
- int howManyTokens = tokenizer.countTokens();
- assertEquals(howManyLoops, howManyTokens);
-
- int index = 0;
- while (tokenizer.hasMoreElements())
- {
- assertEquals(tokenizer.nextElement(),messages.get(index++));
- }
-
- assertEquals((index),howManyTokens);
- }
-
- /**
- * Internal method used for comparison of two messages.
- *
- * @param message the token message just built by the tokenizer.
- * @param expected the expected result.
- */
- private void assertEquals(Message message, byte [] expected) throws IOException
- {
- ByteBuffer messageContent = message.readData();
- BBDecoder decoder = new BBDecoder();
- decoder.init(messageContent);
- byte [] content = decoder.readReaminingBytes();
- assertTrue(Arrays.equals(content, expected));
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/BaseWsDmAdapterTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/BaseWsDmAdapterTestCase.java
deleted file mode 100644
index 900d14c72e..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/BaseWsDmAdapterTestCase.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.lang.management.ManagementFactory;
-import java.net.URI;
-import java.util.UUID;
-
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import junit.framework.TestCase;
-
-import org.apache.muse.ws.addressing.EndpointReference;
-import org.apache.muse.ws.resource.remote.WsResourceClient;
-import org.apache.muse.ws.resource.sg.remote.ServiceGroupClient;
-import org.apache.qpid.management.Names;
-import org.apache.qpid.management.Protocol;
-import org.apache.qpid.management.TestConstants;
-
-/**
- * Test case for WS-Resource lifecycle management.
- *
- * @author Andrea Gazzarini
- */
-public abstract class BaseWsDmAdapterTestCase extends TestCase implements TestConstants{
-
- protected MBeanServer _managementServer;
- protected ObjectName _resourceObjectName;
-
- protected WsResourceClient _resourceClient;
- protected MBeanInfo _mbeanInfo;
-
- /**
- * Set up fixture for this test case.
- *
- * @throws Exception when the test case intialization fails.
- */
- protected void setUp() throws Exception
- {
- _managementServer = ManagementFactory.getPlatformMBeanServer();
-
- ServiceGroupClient serviceGroup = getServiceGroupClient();
- WsResourceClient [] members = serviceGroup.getMembers();
-
- assertEquals(
- "No resource has been yet created so how is " +
- "it possible that service group children list is not empty?",
- 0,
- members.length);
-
- _managementServer.invoke(
- Names.QPID_EMULATOR_OBJECT_NAME,
- "createQueue",
- new Object[]{_resourceObjectName = createResourceName()},
- new String[]{ObjectName.class.getName()});
-
- members = serviceGroup.getMembers();
- assertEquals(
- "One resource has just been created so " +
- "I expect to find it on service group children list...",
- 1,
- members.length);
-
- _resourceClient = members[0];
- _mbeanInfo = _managementServer.getMBeanInfo(_resourceObjectName);
- }
-
- /**
- * Shutdown procedure for this test case.
- *
- * @throws Exception when either the server or some resource fails to shutdown.
- */
- @Override
- protected void tearDown() throws Exception
- {
- ServiceGroupClient serviceGroup = getServiceGroupClient();
- WsResourceClient [] members = serviceGroup.getMembers();
-
- _managementServer.invoke(
- Names.QPID_EMULATOR_OBJECT_NAME,
- "unregister",
- new Object[]{_resourceObjectName},
- new String[]{ObjectName.class.getName()});
-
- members = serviceGroup.getMembers();
-
- assertEquals(
- "No resource has been yet created so how is it possible that service group children list is not empty?",
- 0,
- members.length);
- }
-
- /**
- * Creates a service group client reference.
- *
- * @return a service group client reference.
- */
- private ServiceGroupClient getServiceGroupClient()
- {
- URI address = URI.create(
- Protocol.DEFAULT_ENDPOINT_URI.replaceFirst("8080",System.getProperty(Names.ADAPTER_PORT_PROPERTY_NAME)));
- return new ServiceGroupClient(new EndpointReference(address));
- }
-
- /**
- * In order to test the behaviour of the WS-DM adapter, at
- * least one resource must be created. This is the method that
- * returns the name (ObjectName on JMX side, Resource-ID on WSDM side)
- * of that resource
- *
- * @return the name of the MBean instance that will be created.
- * @throws Exception when the name if malformed. Practically never.
- */
- private ObjectName createResourceName() throws Exception
- {
- return new ObjectName(
- "Q-MAN:objectId="+UUID.randomUUID()+
- ", brokerID="+UUID.randomUUID()+
- ",class=queue"+
- ",package=org.apache.qpid"+
- ",name="+System.currentTimeMillis());
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/EnhancedReflectionProxyHandler.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/EnhancedReflectionProxyHandler.java
deleted file mode 100644
index 615d744546..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/EnhancedReflectionProxyHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import javax.xml.namespace.QName;
-
-import org.apache.muse.core.proxy.ReflectionProxyHandler;
-import org.apache.muse.util.xml.XmlUtils;
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.qpid.management.wsdm.muse.serializer.ByteArraySerializer;
-import org.w3c.dom.Element;
-
-/**
- * Custom implementation of Muse ReflectionProxyHandler
- * that uses a base64 serializer for byte arrays.
- * Note that this proxy handler is only needed for tests because it provides
- * client side Base64 serializer capability.
- * In a concrete scenario we don't mind what instrument the client is using in order to
- * propertly serialize byte arrays.
- *
- * @author Andrea Gazzarini
- */
-public class EnhancedReflectionProxyHandler extends ReflectionProxyHandler
-{
- @Override
- protected Element serialize(Object obj, QName qname) throws SoapFault
- {
- if (obj == null)
- {
- return XmlUtils.createElement(qname);
- }
-
- if (obj.getClass() == byte[].class)
- {
- return new ByteArraySerializer().toXML(obj, qname);
- } else
- {
- return super.serialize(obj, qname);
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected Object deserialize(Element xml, Class theClass) throws SoapFault
- {
- if (theClass == byte[].class)
- {
- return new ByteArraySerializer().fromXML(xml);
- } else
- {
- return super.deserialize(xml, theClass);
- }
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetMultipleResourcePropertiesTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetMultipleResourcePropertiesTestCase.java
deleted file mode 100644
index d59e7a39e5..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetMultipleResourcePropertiesTestCase.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.util.Date;
-import java.util.UUID;
-
-import javax.management.MBeanAttributeInfo;
-import javax.xml.namespace.QName;
-
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.resource.WsrfConstants;
-import org.apache.qpid.management.Names;
-import org.w3c.dom.Element;
-
-/**
- * Test case for Web Service Resource Properties interfaces.
- * Those interfaces are defined on http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf
- * (Web Services Resource Properties 1.2 - (WS-ResourceProperties).
- * For a better explanation see chapter 5 of the specification above.
- *
- * @author Andrea Gazzarini
- */
-public class GetMultipleResourcePropertiesTestCase extends BaseWsDmAdapterTestCase
-{
- /**
- * Tests the GetMultipleResourceProperties interface when the request contains
- * an unknwon target resource.
- *
- * <br>precondition : the GetMultipleResourceProperties request contains an unknwon resource.
- * <br>postcondition : a SoapFault is thrown and the corresponding detail contains an
- * UnknownResourceFault element.
- */
- public void testGetMultipleResourcePropertiesKO_WithUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
-
- _resourceClient.getMultipleResourceProperties(new QName[]{});
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-
- /**
- * Test the WS-RP GetResourceProperties interface of the WS-DM adapter.
- *
- * <br>precondition : a ws resource exists and is registered.
- * <br>postcondition : Properties are correctly returned according to WSRP interface and they (their value)
- * are matching with corresponding MBean properties.
- */
- public void testGetMultipleResourcePropertiesOK() throws Exception
- {
- MBeanAttributeInfo [] attributesMetadata = _mbeanInfo.getAttributes();
- QName[] names = new QName[attributesMetadata.length];
-
- int index = 0;
- for (MBeanAttributeInfo attributeMetadata : _mbeanInfo.getAttributes())
- {
- QName qname = new QName(Names.NAMESPACE_URI,attributeMetadata.getName(),Names.PREFIX);
- names[index++] = qname;
- }
-
- Element[] properties =_resourceClient.getMultipleResourceProperties(names);
- for (Element element : properties)
- {
- String name = element.getLocalName();
- Object value = _managementServer.getAttribute(_resourceObjectName, name);
- if ("Name".equals(name))
- {
- assertEquals(
- value,
- element.getTextContent());
- } else if ("Durable".equals(name))
- {
- assertEquals(
- value,
- Boolean.valueOf(element.getTextContent()));
- } else if ("ExpireTime".equals(name))
- {
- assertEquals(
- value,
- new Date(Long.valueOf(element.getTextContent())));
- } else if ("MsgTotalEnqueues".equals(name))
- {
- assertEquals(
- value,
- Long.valueOf(element.getTextContent()));
- } else if ("ConsumerCount".equals(name))
- {
- assertEquals(
- value,
- Integer.valueOf(element.getTextContent()));
- }else if ("VhostRef".equals(name))
- {
- assertEquals(
- value,
- UUID.fromString(element.getTextContent()));
- }
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertiesTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertiesTestCase.java
deleted file mode 100644
index e18e928cf4..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertiesTestCase.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.lang.reflect.Array;
-
-import javax.management.MBeanAttributeInfo;
-import javax.xml.namespace.QName;
-
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.resource.WsrfConstants;
-import org.apache.qpid.management.Names;
-
-/**
- * Test case for Web Service Resource Properties interfaces.
- * Those interfaces are defined on http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf
- * (Web Services Resource Properties 1.2 - (WS-ResourceProperties).
- * For a better explanation see chapter 5 of the specification above.
- *
- * @author Andrea Gazzarini
- */
-public class GetResourcePropertiesTestCase extends BaseWsDmAdapterTestCase
-{
-
- /**
- * Test the WS-RP GetResourceProperty interface of the WS-DM adapter.
- *
- * <br>precondition : a ws resource exists and is registered.
- * <br>postcondition : property values coming from WS-DM resource are the same of the JMX interface.
- */
- public void testGetResourcePropertiesOK() throws Exception
- {
- MBeanAttributeInfo [] attributesMetadata = _mbeanInfo.getAttributes();
- for (MBeanAttributeInfo attributeMetadata : attributesMetadata)
- {
- String name = attributeMetadata.getName();
- Object propertyValues = _resourceClient.getPropertyAsObject(
- new QName(
- Names.NAMESPACE_URI,
- name,
- Names.PREFIX),
- Class.forName(attributeMetadata.getType()));
-
- int length = Array.getLength(propertyValues);
- if (length != 0)
- {
- Object propertyValue = Array.get(propertyValues, 0);
-
- assertEquals(
- "Comparison failed for property "+name,
- _managementServer.getAttribute(_resourceObjectName,name),
- propertyValue);
- } else {
- assertNull(
- String.format(
- "\"%s\" property value shouldn't be null. Its value is %s",
- name,
- _managementServer.getAttribute(_resourceObjectName,name)),
- _managementServer.getAttribute(_resourceObjectName,name));
- }
- }
- }
-
- /**
- * Tests the GetMultipleResourceProperties interface when the request contains
- * an unknwon target resource.
- *
- * <br>precondition : the GetMultipleResourceProperties request contains an unknwon resource.
- * <br>postcondition : a SoapFault is thrown and the corresponding detail contains an
- * UnknownResourceFault element.
- */
- public void testGetResourcePropertiesKO_WithUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
-
- _resourceClient.getResourceProperty(new QName("a","b","c"));
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertyDocumentTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertyDocumentTestCase.java
deleted file mode 100644
index 862115f841..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/GetResourcePropertyDocumentTestCase.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import javax.xml.namespace.QName;
-
-import org.apache.muse.util.xml.XmlUtils;
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.resource.WsrfConstants;
-import org.apache.qpid.management.Names;
-import org.w3c.dom.Element;
-
-/**
- * Test case for Web Service Resource Properties interfaces.
- * Those interfaces are defined on http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf
- * (Web Services Resource Properties 1.2 - (WS-ResourceProperties).
- * For a better explanation see chapter 5 of the specification above.
- *
- * @author Andrea Gazzarini
- */
-public class GetResourcePropertyDocumentTestCase extends BaseWsDmAdapterTestCase
-{
- /**
- * Tests the GetResourcePropertyDocument interface when the request contains
- * an unknwon target resource.
- *
- * <br>precondition : the GetResourcePropertyDocument contains an unknwon resource.
- * <br>postcondition : a SoapFault is thrown and the corresponding detail contains an
- * UnknownResourceFault element.
- */
- public void testGetResourcePropertyDocumentKO_WithUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
- _resourceClient.setTrace(true);
-
- _resourceClient.getResourcePropertyDocument();
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-
- /**
- * Tests the WS-RP PutResourcePropertyDocument interface of the WS-DM adapter.
- *
- * <br>precondition : a ws resource exists and is registered.
- * <br>postcondition : A read / write property is correctly set according to WSRP interface.
- */
- public void testGetAndPutResourcePropertyDocumentOK() throws Exception
- {
- String expectedMgmtPubIntervalValue = "4321";
- String propertyName = "MgmtPubInterval";
-
- Element propertiesDocument = _resourceClient.getResourcePropertyDocument();
- Element [] properties = XmlUtils.getAllElements(propertiesDocument);
-
- for (Element element : properties)
- {
- if (propertyName.equals(element.getLocalName())) {
- element.setTextContent(expectedMgmtPubIntervalValue);
- } else {
- propertiesDocument.removeChild(element);
- }
- }
-
- _resourceClient.putResourcePropertyDocument(propertiesDocument);
-
- Element newProperties = _resourceClient.getResourcePropertyDocument();
-
- Element mgmtPubInterval = XmlUtils.getElement(
- newProperties, new QName(
- Names.NAMESPACE_URI,
- propertyName,
- Names.PREFIX));
-
- assertEquals(expectedMgmtPubIntervalValue,mgmtPubInterval.getTextContent());
- }
-
- /**
- * Tests the WS-RP PutResourcePropertyDocument interface of the WS-DM adapter.
- * Specifically it tries to update the value of a read-only property.
- *
- * <br>precondition : a ws resource exists, it is registered and has at least one read-only property.
- * <br>postcondition : An exception is thrown indicating the failure.
- */
- public void testGetAndPutResourcePropertyDocumentKO_WithReadOnlyProperty() throws Exception
- {
- String propertyName = "Name";
-
- Element propertiesDocument = _resourceClient.getResourcePropertyDocument();
- Element [] properties = XmlUtils.getAllElements(propertiesDocument);
-
- for (Element element : properties)
- {
- if (propertyName.equals(element.getLocalName())) {
- element.setTextContent("ThisIsTheNewValueOfNameProperty");
- } else {
- propertiesDocument.removeChild(element);
- }
- }
-
- try
- {
- _resourceClient.putResourcePropertyDocument(propertiesDocument);
- fail("It's not possible to update the value of a read-only property.");
- } catch (SoapFault expected)
- {
-
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/MetadataExchangeInterfaceTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/MetadataExchangeInterfaceTestCase.java
deleted file mode 100644
index 046f2226e6..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/MetadataExchangeInterfaceTestCase.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import javax.xml.namespace.QName;
-
-import org.apache.muse.core.proxy.ProxyHandler;
-import org.apache.muse.core.proxy.ReflectionProxyHandler;
-import org.apache.muse.util.xml.XmlUtils;
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.metadata.WsxConstants;
-import org.apache.muse.ws.resource.WsrfConstants;
-import org.apache.muse.ws.resource.metadata.WsrmdConstants;
-import org.apache.qpid.management.Names;
-import org.w3c.dom.Element;
-
-/**
- * Test case for QMan metadata exchange interface.
- *
- * @author Andrea Gazzarini
- */
-public class MetadataExchangeInterfaceTestCase extends BaseWsDmAdapterTestCase
-{
- /**
- * Test the MetadataExchange interface when the corresponding
- * request doesn't contain a dialect. According to WS-MetadataExchange specs this should be
- * intended as a "give-me-all-metadata" for that resource.
- *
- * <br>precondition : the GetMetadata request doesn't contain a dialect.
- * <br>postcondition : the whole metadata document is returned with all metadata .
- * It will contain both WSDL and RMD.
- */
- @SuppressWarnings("unchecked")
- public void testGetMetadataOK_WithoutDialect() throws Exception
- {
- Element[] result = (Element[]) _resourceClient.invoke(
- getProxyHandler(),
- new Object[]{""});
-
- assertEquals(2,result.length);
-
- Element rmdMetadataSection = result[0];
- Element wsdlMetadataSection = result[1];
-
- Element rmd = XmlUtils.getFirstElement(rmdMetadataSection);
- Element wsdl = XmlUtils.getFirstElement(wsdlMetadataSection);
-
- assertEquals("MetadataDescriptor",rmd.getLocalName());
- assertEquals("definitions",wsdl.getLocalName());
- }
-
- /**
- * Test the MetadataExchange interface when the WSDL dialect is specified on the request.
- *
- * <br>precondition : the GetMetadata request contains WSDL dialect.
- * <br>postcondition : the resource WSDL metadata document is returned.
- */
- @SuppressWarnings("unchecked")
- public void testGetMetadataOK_WithWSDLDialect() throws Exception
- {
- Element[] result = (Element[]) _resourceClient.invoke(
- getProxyHandler(),
- new Object[]{WsxConstants.WSDL_DIALECT});
-
- assertEquals(1,result.length);
-
- Element wsdlMetadataSection = result[0];
-
- Element wsdl = XmlUtils.getFirstElement(wsdlMetadataSection);
-
- assertEquals("definitions",wsdl.getLocalName());
- }
-
- /**
- * Test the MetadataExchange interface when the RMD dialect is specified on the request.
- *
- * <br>precondition : the GetMetadata request contains RMD dialect.
- * <br>postcondition : the RMD metadata document is returned.
- */
- @SuppressWarnings("unchecked")
- public void testGetMetadataOK_WithRMDDialect() throws Exception
- {
- Element[] result = (Element[]) _resourceClient.invoke(
- getProxyHandler(),
- new Object[]{WsrmdConstants.NAMESPACE_URI});
-
- assertEquals(1,result.length);
-
- Element rmdMetadataSection = result[0];
-
- Element wsdl = XmlUtils.getFirstElement(rmdMetadataSection);
-
- assertEquals("MetadataDescriptor",wsdl.getLocalName());
- }
-
- /**
- * Test the MetadataExchange interface with an unknown metadata dialect.
- *
- * <br>precondition : the GetMetadata request contains an unknown dialect.
- * <br>postcondition : the returned metadata section is empty.
- */
- @SuppressWarnings("unchecked")
- public void testGetMetadataKO_WithoutUnknownDialect() throws Exception
- {
- Element [] metadata = (Element[]) _resourceClient.invoke(
- getProxyHandler(),
- new Object[]{"HopeThisIsAnUnknownDialect"});
-
- assertEquals(0,metadata.length);
- }
-
- /**
- * Test the MetadataExchange interface with an unknown metadata dialect.
- *
- * <br>precondition : the GetMetadata request contains an unknown dialect.
- * <br>postcondition : the returned metadata section is empty.
- */
- @SuppressWarnings("unchecked")
- public void testGetMetadataKO_WithoutUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
-
- _resourceClient.invoke(getProxyHandler(), new Object[]{""});
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-
- /**
- * Returns a proxy handler used for working with metadata exchange
- * interface.
- *
- * @return a metadata proxy handler.
- */
- private ProxyHandler getProxyHandler()
- {
- ProxyHandler getMetadataHandler = new ReflectionProxyHandler();
- getMetadataHandler.setAction("http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata");
- getMetadataHandler.setRequestName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "GetMetadata", "wsx"));
- getMetadataHandler.setRequestParameterNames(new QName[]{new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Dialect", "wsx")});
- getMetadataHandler.setResponseName(new QName("http://schemas.xmlsoap.org/ws/2004/09/mex", "Metadata", "wsx"));
- getMetadataHandler.setReturnType(Element[].class);
- return getMetadataHandler;
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/OperationInvocationInterfaceTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/OperationInvocationInterfaceTestCase.java
deleted file mode 100644
index afc4a62085..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/OperationInvocationInterfaceTestCase.java
+++ /dev/null
@@ -1,580 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.xml.namespace.QName;
-
-import org.apache.muse.core.proxy.ProxyHandler;
-import org.apache.muse.core.proxy.ReflectionProxyHandler;
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.qpid.management.Names;
-import org.apache.qpid.management.wsdm.capabilities.Result;
-
-/**
- * Test case for QMan operation invocation interface.
- *
- * @author Andrea Gazzarini
- */
-public class OperationInvocationInterfaceTestCase extends BaseWsDmAdapterTestCase
-{
- private Map<String, ProxyHandler> _invocationHandlers = createInvocationHandlers();
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of a byte type array between requestor
- * and service provider.
- *
- * <br>precondition : a WS-Resource exists and is registered and the requested
- * operation is available on that.
- * <br>postcondition : invocations are executed successfully, no exception is thrown
- * and byte array are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withByteArray() throws Exception
- {
- byte [] expectedByteResult = {1,3,4,2,2,44,22,3,3,55,66};
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithByteArray"),
- new Object[]{expectedByteResult});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
-
- Map<String,Object> out = (Map<String, Object>) getOutputParameters.invoke(result);
-
- assertEquals("Output parameters must be 1.",1,out.size());
- assertArrayEquals(expectedByteResult, out.get(byte[].class.getName()));
- }
-
- /**
- * Test a simple operation invocation on a WS-Resource.
- * This method tests a simple operation without any input and output parameters.
- *
- * <br>precondition : a ws resource exists and is registered and the requested operation
- * is available on that.
- * <br>postcondition : invocations are executed successfully an no exception is thrown.
- */
- @SuppressWarnings("unchecked")
- public void testSimpleOperationInvocationOK() throws Exception
- {
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("voidWithoutArguments"),
- null);
-
- assertNotNull(result);
- }
-
- /**
- * Test a the invocation on a WS-Resource with a method that throws an exception..
- *
- * <br>precondition : a ws resource exists and is registered and the requested
- * operation is available on that.
- * <br>postcondition : an exception is thrown by the requested method.
- */
- @SuppressWarnings("unchecked")
- public void testInvocationException_OK() throws Exception
- {
- try
- {
- _resourceClient.invoke(
- _invocationHandlers.get("throwsException"),
- null);
- fail("The requested operation has thrown an exception so a Soap Fault is expected...");
- } catch(SoapFault expected)
- {
- }
- }
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of UUID type between requestor and service provider.
- *
- * <br>precondition : a WS-Resource exists and is registered and the requested operation
- * is available on that.
- * <br>postcondition : invocations are executed successfully, no exception is thrown
- * and parameters are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withUUID() throws Exception
- {
- UUID expectedUuid = UUID.randomUUID();
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithUUID"),
- new Object[]{expectedUuid});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
-
- Map<String,Object> out = (Map<String, Object>) getOutputParameters.invoke(result);
-
- assertEquals("Output parameters must be 1.",1,out.size());
- assertEquals(expectedUuid, out.get("uuid"));
- }
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of Map type between requestor and service provider.
- * For this test exchanged arrays contain :
- *
- * <br>precondition : a ws resource exists and is registered and the requested
- * operation is available on that.
- * <br>postcondition : invocations are executed successfully, no exception is
- * thrown and parameters are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withMap() throws Exception
- {
- Map<String,Object> expectedMap = new HashMap<String, Object>();
- expectedMap.put("p1", new Long(1));
- expectedMap.put("p2", Boolean.TRUE);
- expectedMap.put("p3", 1234d);
- expectedMap.put("p4", 11.2f);
- expectedMap.put("p5", 1272);
- expectedMap.put("p6", (short)12);
- expectedMap.put("p7", "aString");
- expectedMap.put("p8", "http://qpid.apache.org");
- expectedMap.put("p9", new Date(12383137128L));
- expectedMap.put("p10", new byte[]{1,2,2,3,3,4});
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithMap"),
- new Object[]{expectedMap});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
-
- Map<String,Object> out = (Map<String, Object>) ((Map<String, Object>) getOutputParameters.invoke(result)).get("map");
-
- assertEquals("Output parameters must be 10.",10,out.size());
- assertEquals(expectedMap.get("p1"),out.get("p1"));
- assertEquals(expectedMap.get("p2"),out.get("p2"));
- assertEquals(expectedMap.get("p3"),out.get("p3"));
- assertEquals(expectedMap.get("p4"),out.get("p4"));
- assertEquals(expectedMap.get("p5"),out.get("p5"));
- assertEquals(expectedMap.get("p6"),out.get("p6"));
- assertEquals(expectedMap.get("p7"),out.get("p7"));
- assertEquals(expectedMap.get("p8"),out.get("p8"));
- assertEquals(expectedMap.get("p9"),out.get("p9"));
- assertTrue( Arrays.equals((byte[])expectedMap.get("p10"),(byte[])out.get("p10")));
- }
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of simple types between requestor and
- * service provider.
- *
- * With simple types we mean :
- *
- * <ul>
- * <li>java.lang.Long / long (xsd:long)
- * <li>java.lang.Integer / int (xsd:int / xsd:integer)
- * <li>java.lang.Double/ double (xsd:double)
- * <li>java.lang.Float / float (xsd:float)
- * <li>java.lang.Short / short (xsd:short)
- * <li>java.lang.Boolean / boolean (xsd:boolean)
- * <li>java.lang.String (xsd:string)
- * <li>java.net.URI (xsd:anyURI)
- * <li>java.util.Date(xsd:dateTime)
- * </ul>
- *
- * <br>precondition : a ws resource exists and is registered and the requested operation is
- * available on that.
- * <br>postcondition : invocations are executed successfully, no exception is thrown and
- * parameters are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withSimpleTypes() throws Exception
- {
- Long expectedLongResult = new Long(1373);
- Boolean expectedBooleanResult = Boolean.TRUE;
- Double expectedDoubleResult = new Double(12763.44);
- Float expectedFloatResult = new Float(2727.233f);
- Integer expectedIntegerResult = new Integer(28292);
- Short expectedShortResult = new Short((short)227);
- String expectedStringResult = "expectedStringResult";
- URI expectedUriResult = URI.create("http://qpid.apache.org/");
- Date expectedDateResult = new Date();
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithSimpleTypes"),
- new Object[]{
- expectedLongResult,
- expectedBooleanResult,
- expectedDoubleResult,
- expectedFloatResult,
- expectedIntegerResult,
- expectedShortResult,
- expectedStringResult,
- expectedUriResult,
- expectedDateResult});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
- Map<String,Object> out = (Map<String, Object>) getOutputParameters.invoke(result);
-
- assertEquals("Output parameters must be 9.",9,out.size());
- assertTrue("Long output parameter not found on result object.",out.containsValue(expectedLongResult));
- assertTrue("Boolean output parameter not found on result object.",out.containsValue(expectedBooleanResult));
- assertTrue("Double output parameter not found on result object.",out.containsValue(expectedDoubleResult));
- assertTrue("Float output parameter not found on result object.",out.containsValue(expectedFloatResult));
- assertTrue("Integer output parameter not found on result object.",out.containsValue(expectedIntegerResult));
- assertTrue("Short output parameter not found on result object.",out.containsValue(expectedShortResult));
- assertTrue("String output parameter not found on result object.",out.containsValue(expectedStringResult));
- assertTrue("URI output parameter not found on result object.",out.containsValue(expectedUriResult));
- assertTrue("Date output parameter not found on result object.",out.containsValue(expectedDateResult));
- }
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of arrays between requestor and service provider.
- * For this test exchanged arrays contain :
- *
- * <ul>
- * <li>java.lang.Long (xsd:long)
- * <li>java.lang.Integer (xsd:int / xsd:integer)
- * <li>java.lang.Double (xsd:double)
- * <li>java.lang.Float (xsd:float)
- * <li>java.lang.Short (xsd:short)
- * <li>java.lang.Boolean (xsd:boolean)
- * <li>java.lang.String (xsd:string)
- * <li>java.net.URI (xsd:anyURI)
- * <li>java.util.Date(xsd:dateTime)
- * </ul>
- *
- * <br>precondition : a ws resource exists and is registered and the requested operation is available on that.
- * <br>postcondition : invocations are executed successfully, no exception is thrown and parameters are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withWrapperArrays() throws Exception
- {
- Long [] expectedLongResult = {new Long(2),new Long(1),new Long(3),new Long(4)};
- Boolean [] expectedBooleanResult = { Boolean.TRUE,Boolean.FALSE,Boolean.FALSE};
- Double [] expectedDoubleResult = {12763.44d,2832.33d,2292.33d,22293.22d};
- Float [] expectedFloatResult = {2727.233f,1f,2f,4f,5.4f,33.2f};
- Integer [] expectedIntegerResult = {1,2,3,4,55,66,77,88,99};
- Short [] expectedShortResult = {(short)227,(short)23,(short)9};
- String [] expectedStringResult = {"s1","s2","s333","s4"};
- URI [] expectedUriResult = {
- URI.create("http://qpid.apache.org/"),
- URI.create("http://www.apache.org"),
- URI.create("http://projects.apache.org")};
-
- Date [] expectedDateResult = {
- new Date(),
- new Date(38211897),
- new Date(903820382)};
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithArrays"),
- new Object[]{
- expectedLongResult,
- expectedBooleanResult,
- expectedDoubleResult,
- expectedFloatResult,
- expectedIntegerResult,
- expectedShortResult,
- expectedStringResult,
- expectedUriResult,
- expectedDateResult});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
- Map<String,Object> out = (Map<String, Object>) getOutputParameters.invoke(result);
-
- assertEquals("Output parameters must be 9.",9,out.size());
- assertTrue("Long array doesn't match.",Arrays.equals(expectedLongResult, (Long[])out.get(Long.class.getName())));
- assertTrue("Boolean array doesn't match.",Arrays.equals(expectedBooleanResult, (Boolean[])out.get(Boolean.class.getName())));
- assertTrue("Double array doesn't match.",Arrays.equals(expectedDoubleResult, (Double[])out.get(Double.class.getName())));
- assertTrue("Float array doesn't match.",Arrays.equals(expectedFloatResult, (Float[])out.get(Float.class.getName())));
- assertTrue("Integer array doesn't match.", Arrays.equals(expectedIntegerResult, (Integer[])out.get(Integer.class.getName())));
- assertTrue("Short array doesn't match.",Arrays.equals(expectedShortResult, (Short[])out.get(Short.class.getName())));
- assertTrue("String array doesn't match.",Arrays.equals(expectedStringResult, (String[])out.get(String.class.getName())));
- assertTrue("URI array doesn't match.",Arrays.equals(expectedUriResult, (URI[])out.get(URI.class.getName())));
- assertTrue("Date array doesn't match.",Arrays.equals(expectedDateResult, (Date[])out.get(Date.class.getName())));
- }
-
- /**
- * Test operation invocation on WS-Resource.
- * This method tests the exchange of primitive type arrays between requestor and service provider.
- * NOte that even the sent array contain primtiive type QMan deals only with objects so in the result
- * object you will find the corresponding wrapper types.
- *
- * For this test exchanged arrays contain :
- *
- * <ul>
- * <li>java.lang.Long / long (xsd:long)
- * <li>java.lang.Integer / int (xsd:int / xsd:integer)
- * <li>java.lang.Double/ double (xsd:double)
- * <li>java.lang.Float / float (xsd:float)
- * <li>java.lang.Short / short (xsd:short)
- * <li>java.lang.Boolean / boolean (xsd:boolean)
- * </ul>
- *
- * <br>precondition : a ws resource exists and is registered and the requested operation is available on that.
- * <br>postcondition : invocations are executed successfully, no exception is thrown and parameters are correctly returned.
- */
- @SuppressWarnings("unchecked")
- public void testOperationInvocationOK_withPrimitiveArrays() throws Exception
- {
- long [] expectedLongResult = {1L,2L,3L,4L};
- boolean [] expectedBooleanResult = { true,false,false};
- double [] expectedDoubleResult = {12763.44d,2832.33d,2292.33d,22293.22d};
- float [] expectedFloatResult = {2727.233f,1f,2f,4f,5.4f,33.2f};
- int [] expectedIntegerResult = {1,2,3,4,55,66,77,88,99};
- short [] expectedShortResult = {(short)227,(short)23,(short)9};
-
- Object result = _resourceClient.invoke(
- _invocationHandlers.get("echoWithSimpleTypeArrays"),
- new Object[]{
- expectedLongResult,
- expectedBooleanResult,
- expectedDoubleResult,
- expectedFloatResult,
- expectedIntegerResult,
- expectedShortResult});
-
- Method getOutputParameters = result.getClass().getMethod("getOutputParameters");
- Map<String,Object> out = (Map<String, Object>) getOutputParameters.invoke(result);
-
- assertEquals("Output parameters must be 6.",6,out.size());
- assertArrayEquals(expectedLongResult, out.get(long.class.getName()));
- assertArrayEquals(expectedBooleanResult, out.get(boolean.class.getName()));
- assertArrayEquals(expectedDoubleResult, out.get(double.class.getName()));
- assertArrayEquals(expectedFloatResult, out.get(float.class.getName()));
- assertArrayEquals(expectedIntegerResult, out.get(int.class.getName()));
- assertArrayEquals(expectedShortResult, out.get(short.class.getName()));
- }
-
- /**
- * Internal method used for array comparison using reflection.
- *
- * @param expectedArray the expected array.
- * @param resultArray the array that must match the expected one.
- */
- private void assertArrayEquals(Object expectedArray, Object resultArray)
- {
- int expectedArrayLength = Array.getLength(expectedArray);
- int resultArrayLength = Array.getLength(resultArray);
-
- assertEquals(expectedArrayLength,resultArrayLength);
-
- for (int index = 0; index < expectedArrayLength; index++)
- {
- Object expected = Array.get(expectedArray, index);
- Object result = Array.get(resultArray, index);
-
- assertEquals(expected,result);
- }
- }
-
- private Map<String,ProxyHandler> createInvocationHandlers()
- {
- Map<String, ProxyHandler> handlers = new HashMap<String, ProxyHandler>();
-
- ProxyHandler handler = new ReflectionProxyHandler();
- handler.setAction(Names.NAMESPACE_URI+"/"+"voidWithoutArguments");
- handler.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "voidWithoutArgumentsRequest",
- Names.PREFIX));
- handler.setRequestParameterNames(new QName[]{});
- handler.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "voidWithoutArgumentsResponse",
- Names.PREFIX));
- handler.setReturnType(Result.class);
-
- ProxyHandler exceptionHandler = new ReflectionProxyHandler();
- exceptionHandler.setAction(Names.NAMESPACE_URI+"/"+"throwsException");
- exceptionHandler.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "throwsExceptionRequest",
- Names.PREFIX));
-
- exceptionHandler.setRequestParameterNames(new QName[]{});
- exceptionHandler.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "throwsExceptionResponse",
- Names.PREFIX));
-
- exceptionHandler.setReturnType(Result.class);
-
- ProxyHandler echoWithWrapperTypesHandler = new ReflectionProxyHandler();
- echoWithWrapperTypesHandler.setAction(Names.NAMESPACE_URI+"/"+"echoWithSimpleTypes");
- echoWithWrapperTypesHandler.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithSimpleTypesRequest",
- Names.PREFIX));
-
- echoWithWrapperTypesHandler.setRequestParameterNames(new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p2",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p3",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p4",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p5",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p6",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p7",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p8",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p9",Names.PREFIX),
- });
-
- echoWithWrapperTypesHandler.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithSimpleTypesResponse",
- Names.PREFIX));
-
- echoWithWrapperTypesHandler.setReturnType(Result.class);
-
- ProxyHandler echoWithArrayOfWrapperTypes = new ReflectionProxyHandler();
- echoWithArrayOfWrapperTypes.setAction(Names.NAMESPACE_URI+"/"+"echoWithArrays");
- echoWithArrayOfWrapperTypes.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithArraysRequest",
- Names.PREFIX));
-
- echoWithArrayOfWrapperTypes.setRequestParameterNames(new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p2",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p3",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p4",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p5",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p6",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p7",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p8",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p9",Names.PREFIX),
- });
-
- echoWithArrayOfWrapperTypes.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithArraysResponse",
- Names.PREFIX));
-
- echoWithArrayOfWrapperTypes.setReturnType(Result.class);
-
- ProxyHandler echoWithArrayOfPrimitiveTypes = new ReflectionProxyHandler();
- echoWithArrayOfPrimitiveTypes.setAction(Names.NAMESPACE_URI+"/"+"echoWithSimpleTypeArrays");
- echoWithArrayOfPrimitiveTypes.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithSimpleTypeArraysRequest",
- Names.PREFIX));
-
- echoWithArrayOfPrimitiveTypes.setRequestParameterNames(new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p2",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p3",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p4",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p5",Names.PREFIX),
- new QName(Names.NAMESPACE_URI,"p6",Names.PREFIX)});
-
- echoWithArrayOfPrimitiveTypes.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithSimpleTypeArraysResponse",
- Names.PREFIX));
-
- echoWithArrayOfPrimitiveTypes.setReturnType(Result.class);
-
- ProxyHandler echoWithByteArray = new EnhancedReflectionProxyHandler();
- echoWithByteArray.setAction(Names.NAMESPACE_URI+"/"+"echoWithByteArray");
- echoWithByteArray.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithByteArrayRequest",
- Names.PREFIX));
-
- echoWithByteArray.setRequestParameterNames(
- new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX)});
-
- echoWithByteArray.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithByteArrayResponse",
- Names.PREFIX));
-
- echoWithByteArray.setReturnType(Result.class);
-
- ProxyHandler echoWithUUID = new EnhancedReflectionProxyHandler();
- echoWithUUID.setAction(Names.NAMESPACE_URI+"/"+"echoWithUUID");
- echoWithUUID.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithUUIDRequest",
- Names.PREFIX));
-
- echoWithUUID.setRequestParameterNames(
- new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX)});
-
- echoWithUUID.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithUUIDResponse",
- Names.PREFIX));
-
- echoWithUUID.setReturnType(Result.class);
-
- ProxyHandler echoWithMap = new EnhancedReflectionProxyHandler();
- echoWithMap.setAction(Names.NAMESPACE_URI+"/"+"echoWithMap");
- echoWithMap.setRequestName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithMapRequest",
- Names.PREFIX));
-
- echoWithMap.setRequestParameterNames(
- new QName[]{
- new QName(Names.NAMESPACE_URI,"p1",Names.PREFIX)});
-
- echoWithMap.setResponseName(
- new QName(
- Names.NAMESPACE_URI,
- "echoWithMapResponse",
- Names.PREFIX));
-
- echoWithMap.setReturnType(Result.class);
-
- handlers.put("voidWithoutArguments",handler);
- handlers.put("echoWithSimpleTypes",echoWithWrapperTypesHandler);
- handlers.put("echoWithArrays",echoWithArrayOfWrapperTypes);
- handlers.put("echoWithSimpleTypeArrays", echoWithArrayOfPrimitiveTypes);
- handlers.put("echoWithByteArray", echoWithByteArray);
- handlers.put("echoWithUUID", echoWithUUID);
- handlers.put("echoWithMap", echoWithMap);
- handlers.put("throwsException",exceptionHandler);
- return handlers;
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/ServerThread.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/ServerThread.java
deleted file mode 100644
index 6574c278ff..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/ServerThread.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.io.File;
-
-import org.apache.qpid.management.Names;
-import org.mortbay.component.LifeCycle.Listener;
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.nio.SelectChannelConnector;
-import org.mortbay.jetty.webapp.WebAppContext;
-import org.mortbay.start.Monitor;
-
-/**
- * Web Server startup thread.
- * It is used on adapter test case in order to start the embedded
- * web server as a separated thread.
- *
- * @author Andrea Gazzarini
- */
-class ServerThread extends Thread
-{
- private final Listener _lifecycleListener;
- private Server _server;
-
- private SelectChannelConnector _connector;
-
- /**
- * Builds a new server thread with the given lifecycle listener.
- *
- * @param listener the lifecycle listener.
- */
- ServerThread(Listener listener)
- {
- this._lifecycleListener = listener;
- }
-
- /**
- * Starts the server.
- */
- @Override
- public void run()
- {
- try
- {
- Monitor.monitor();
- _server = new Server();
- _server.setStopAtShutdown(true);
-
- _connector=new SelectChannelConnector();
- _connector.setPort(Integer.parseInt(System.getProperty(Names.ADAPTER_PORT_PROPERTY_NAME)));
- _connector.setHost(System.getProperty(Names.ADAPTER_HOST_PROPERTY_NAME));
-
-
- _server.setConnectors(new Connector[]{_connector});
-
- WebAppContext webapp = new WebAppContext();
- webapp.setContextPath("/qman");
-
- // Additional web application descriptor containing test components.
- webapp.setDefaultsDescriptor("/org/apache/qpid/management/wsdm/web.xml");
-
- String webApplicationPath = System.getProperty("qman.war");
- File rootFolderPath = (webApplicationPath != null) ? new File(webApplicationPath) : new File(".");
-
- webapp.setWar(rootFolderPath.toURI().toURL().toExternalForm());
- webapp.addLifeCycleListener(_lifecycleListener);
- _server.setHandler(webapp);
- _server.start();
- System.setProperty(Names.ADAPTER_PORT_PROPERTY_NAME,String.valueOf( _connector.getLocalPort()));
- _server.join();
-
- } catch(Exception exception)
- {
- throw new RuntimeException(exception);
- }
- }
-
- /**
- * Shutdown the server.
- *
- * @throws Exception when a problem is encountered during shutdown.
- */
- void shutdown() throws Exception
- {
- _server.stop();
- }
-
- /**
- * Returns the port number where the server is running.
- *
- * @return the port number where the server is running.
- */
- int getPort()
- {
- return _connector.getLocalPort();
- }
-
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/SetResourcePropertiesTestCase.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/SetResourcePropertiesTestCase.java
deleted file mode 100644
index 87f8905e01..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/SetResourcePropertiesTestCase.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.lang.reflect.Array;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.management.MBeanAttributeInfo;
-import javax.xml.namespace.QName;
-
-import org.apache.muse.ws.addressing.soap.SoapFault;
-import org.apache.muse.ws.resource.WsrfConstants;
-import org.apache.qpid.management.Names;
-
-/**
- * Test case for Set Resource Properties interfaces.
- *
- * @author Andrea Gazzarini
- */
-public class SetResourcePropertiesTestCase extends BaseWsDmAdapterTestCase
-{
- /**
- * Test the WS-RP SetResourceProperty interface of the WS-DM adapter.
- *
- * <br>precondition : a WS-Resource exists and is registered.
- * <br>postcondition : property values are correctly updated on the target WS-Resource..
- */
- public void testSetResourcePropertiesOK() throws Exception
- {
- Map<String, Object> sampleMap = new HashMap<String, Object>();
- sampleMap.put("Key1", "BLABALABLABALBAL");
- sampleMap.put("Key2", 182838484l);
- sampleMap.put("Key3", -928376362);
- sampleMap.put("Key4", 23762736276.33D);
- sampleMap.put("Key4", 2327363.2F);
-
- Map<String, Object> sampleValues = new HashMap<String, Object>();
- sampleValues.put(String.class.getName(),"SAMPLE_STRING");
- sampleValues.put(UUID.class.getName(),UUID.randomUUID());
- sampleValues.put(Boolean.class.getName(),Boolean.FALSE);
- sampleValues.put(Map.class.getName(),sampleMap);
- sampleValues.put(Long.class.getName(),283781273L);
- sampleValues.put(Integer.class.getName(),12727);
- sampleValues.put(Short.class.getName(),new Short((short)22));
- sampleValues.put(Date.class.getName(),new Date());
-
- MBeanAttributeInfo [] attributesMetadata = _mbeanInfo.getAttributes();
- boolean atLeastThereIsOneWritableProperty = false;
-
- for (MBeanAttributeInfo attributeMetadata : attributesMetadata)
- {
- String name = attributeMetadata.getName();
-
- if (attributeMetadata.isWritable())
- {
- atLeastThereIsOneWritableProperty = true;
- Object sampleValue = sampleValues.get(attributeMetadata.getType());
- Object []values = new Object[]{sampleValue};
-
- Object result = _managementServer.getAttribute(_resourceObjectName, name);
- if (result == null)
- {
- _resourceClient.insertResourceProperty(
- new QName(
- Names.NAMESPACE_URI,
- name,
- Names.PREFIX),
- values);
- } else
- {
- _resourceClient.updateResourceProperty(
- new QName(
- Names.NAMESPACE_URI,
- name,
- Names.PREFIX),
- values);
- }
-
- Object propertyValues = _resourceClient.getPropertyAsObject(
- new QName(
- Names.NAMESPACE_URI,
- name,
- Names.PREFIX),
- Class.forName(attributeMetadata.getType()));
- int length = Array.getLength(propertyValues);
- if (length != 0)
- {
- Object propertyValue = Array.get(propertyValues, 0);
-
- assertEquals(
- "Comparison failed for property "+name,
- sampleValue,
- propertyValue);
- } else {
- assertNull(
- String.format(
- "\"%s\" property value shouldn't be null. Its value is %s",
- name,
- _managementServer.getAttribute(_resourceObjectName,name)),
- sampleValue);
- }
- }
- }
- assertTrue(
- "It's not possibile to run successfully this test case if " +
- "the target WS-Resource has no at least one writable property",
- atLeastThereIsOneWritableProperty);
- }
-
- /**
- * Test the WS-RP SetResourceProperty interface of the WS-DM adapter when the
- * target property is null.
- * According to WS-RP specs this operation is not allowed because in this case a SetResourceProperty with an "Insert"
- * message should be sent in order to initialize the property.
- *
- * <br>precondition : a ws resource exists and is registered. The value of the target property is null.
- * <br>postcondition : a Soap fault is received indicating the failuire.
- */
- public void testSetResourcePropertiesKO() throws Exception
- {
- Object typePropertyValue = _managementServer.getAttribute(_resourceObjectName, "Type");
- assertNull(typePropertyValue);
-
- try
- {
- _resourceClient.updateResourceProperty(
- new QName(
- Names.NAMESPACE_URI,
- "Type",
- Names.PREFIX),
- new Object[]{"sampleValue"});
- fail(
- "If the property is null on the target ws resource, according " +
- "to WS-RP specs, an update of its value is not possible.");
- } catch(SoapFault expected)
- {
-
- }
- }
-
- /**
- * Tests the SetResourceProperties (update) interface when the request contains
- * an unknwon target resource.
- *
- * <br>precondition : the SetResourceProperties contains an unknwon resource.
- * <br>postcondition : a SoapFault is thrown and the corresponding detail contains an
- * UnknownResourceFault element.
- */
- public void testUpdateResourcePropertiesKO_WithUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
-
- _resourceClient.updateResourceProperty(
- new QName(
- Names.NAMESPACE_URI,
- "Type",
- Names.PREFIX),
- new Object[]{"sampleValue"});
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-
- /**
- * Tests the SetResourceProperties (insert) interface when the request contains
- * an unknwon target resource.
- *
- * <br>precondition : the SetResourceProperties contains an unknwon resource.
- * <br>postcondition : a SoapFault is thrown and the corresponding detail contains an
- * UnknownResourceFault element.
- */
- public void testInsertResourcePropertiesKO_WithUnknownResourceFault() throws Exception
- {
- try
- {
- _resourceClient.getEndpointReference().removeParameter(Names.RESOURCE_ID_QNAME);
- _resourceClient.getEndpointReference().addParameter(Names.RESOURCE_ID_QNAME,"lablabalbal");
-
- _resourceClient.insertResourceProperty(
- new QName(
- Names.NAMESPACE_URI,
- "Type",
- Names.PREFIX),
- new Object[]{"sampleValue"});
- } catch(SoapFault expected)
- {
- assertEquals(
- WsrfConstants.RESOURCE_UNKNOWN_QNAME.getLocalPart(),
- expected.getDetail().getLocalName());
- }
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WebApplicationLifeCycleListener.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WebApplicationLifeCycleListener.java
deleted file mode 100644
index 91c646467e..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WebApplicationLifeCycleListener.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import org.mortbay.component.LifeCycle;
-import org.mortbay.component.LifeCycle.Listener;
-
-/**
- * Adapter class used to provide an empty (base) implementation of
- * Lifecycle listener interface.
- *
- * Adapter test case needs to be informed about the lifecycle of the
- * deployed QMan application. Only when its deployment is completed the test
- * case can run successfully.
- *
- * So, following the same logic of Swng event model, this is an adapter that provides
- * empty implementation of the listener interface (see for example MouseAdapter
- * for mouse events listener)
- *
- * @author Andrea Gazzarini
- */
-public class WebApplicationLifeCycleListener implements Listener
-{
- public void lifeCycleFailure(LifeCycle event, Throwable cause)
- {
- }
-
- public void lifeCycleStarted(LifeCycle event)
- {
- }
-
- public void lifeCycleStarting(LifeCycle event)
- {
- }
-
- public void lifeCycleStopped(LifeCycle event)
- {
- }
-
- public void lifeCycleStopping(LifeCycle event)
- {
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WsDmAdapterTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WsDmAdapterTest.java
deleted file mode 100644
index f12288c91d..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/WsDmAdapterTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import org.apache.muse.core.serializer.SerializerRegistry;
-import org.apache.qpid.management.Names;
-import org.apache.qpid.management.Protocol;
-import org.apache.qpid.management.wsdm.capabilities.Result;
-import org.apache.qpid.management.wsdm.muse.serializer.DateSerializer;
-import org.apache.qpid.management.wsdm.muse.serializer.InvocationResultSerializer;
-import org.apache.qpid.management.wsdm.muse.serializer.MapSerializer;
-import org.apache.qpid.management.wsdm.muse.serializer.ObjectSerializer;
-import org.apache.qpid.management.wsdm.muse.serializer.UUIDSerializer;
-import org.mortbay.component.LifeCycle;
-import org.mortbay.component.LifeCycle.Listener;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class WsDmAdapterTest
-{
-
- /**
- * Test case wide set up.
- * Provides Server startup & shutdown global procedure.
- *
- * @author Andrea Gazzarini
- */
- private static class WsDmAdapterTestSetup extends TestSetup
- {
- private Object _serverMonitor = new Object();
-
- Listener listener = new WebApplicationLifeCycleListener()
- {
- public void lifeCycleStarted(LifeCycle event)
- {
- synchronized (_serverMonitor)
- {
- _serverMonitor.notify();
- }
- }
- };
-
- private ServerThread _server;
-
- /**
- * Builds a new test setup with for the given test.
- *
- * @param test the decorated test.
- */
- public WsDmAdapterTestSetup(Test test)
- {
- super(test);
- }
-
- /**
- * Starts up Web server.
- *
- * @throws Exception when the server startup fails.
- */
- @Override
- protected void setUp() throws Exception
- {
- SerializerRegistry.getInstance().registerSerializer(Object.class, new ObjectSerializer());
- SerializerRegistry.getInstance().registerSerializer(Date.class, new DateSerializer());
- SerializerRegistry.getInstance().registerSerializer(Map.class, new MapSerializer());
- SerializerRegistry.getInstance().registerSerializer(HashMap.class, new MapSerializer());
- SerializerRegistry.getInstance().registerSerializer(UUID.class, new UUIDSerializer());
- SerializerRegistry.getInstance().registerSerializer(Result.class, new InvocationResultSerializer());
-
- System.setProperty(
- Names.ADAPTER_HOST_PROPERTY_NAME,
- Protocol.DEFAULT_QMAN_HOSTNAME);
-
- System.setProperty(
- Names.ADAPTER_PORT_PROPERTY_NAME,
- String.valueOf(getFreePort()));
-
- _server = new ServerThread(listener);
- _server.start();
-
- synchronized(_serverMonitor) {
- _serverMonitor.wait();
- Thread.sleep(2000);
- }
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- _server.shutdown();
- }
- };
-
- /**
- * Gets the test suite composition.
- *
- * @return the test suite composition.
- */
- public static Test suite()
- {
- TestSuite suite = new TestSuite("Test suite for QMan WS-DM.");
- /*suite.addTestSuite(MetadataExchangeInterfaceTestCase.class);
- suite.addTestSuite(OperationInvocationInterfaceTestCase.class);
- suite.addTestSuite(GetResourcePropertyDocumentTestCase.class);
- suite.addTestSuite(SetResourcePropertiesTestCase.class);
- suite.addTestSuite(GetMultipleResourcePropertiesTestCase.class);
- suite.addTestSuite(GetResourcePropertiesTestCase.class); */
- return new WsDmAdapterTestSetup(suite);
- }
-
- /**
- * Finds a free port that will be used to run the embedded
- * web server.
- *
- * @return a free port that will be used to run the
- * embedded web server.
- */
- private static int getFreePort() throws IOException {
- ServerSocket server = null;
- try
- {
- server = new ServerSocket(0);
- return server.getLocalPort();
- } finally
- {
- server.close();
- }
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java
deleted file mode 100644
index 68c9930ecd..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityBuilderTest.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm.capabilities;
-
-import java.lang.management.ManagementFactory;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javassist.CtClass;
-import javassist.CtMethod;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.qpid.management.domain.handler.impl.QpidDomainObject;
-import org.apache.qpid.management.wsdm.common.EntityInstanceNotFoundFault;
-import org.apache.qpid.management.wsdm.common.MethodInvocationFault;
-import org.apache.qpid.management.wsdm.common.NoSuchAttributeFault;
-import org.apache.qpid.management.wsdm.common.QManFault;
-
-/**
- * Test case for MBean capability builder.
- *
- * @author Andrea Gazzarini
- */
-public class MBeanCapabilityBuilderTest extends TestCase
-{
-
- /**
- * Management interface for an mbean that has no properties and no
- * methods.
- *
- * @author Andrea Gazzarini
- */
- public interface NoPropertiesNoMethodsMBean
- {
- }
-
- /**
- * Implementation of the managenent interface described above.
- *
- * @author Andrea Gazzarini
- */
- public class NoPropertiesNoMethods implements NoPropertiesNoMethodsMBean
- {
- }
-
- private MBeanCapabilityBuilder _builder;
- private ObjectName _objectName;
-
- /**
- * Set up fixture for this test case.
- */
- protected void setUp() throws Exception
- {
- _builder = new MBeanCapabilityBuilder();
- _objectName = new ObjectName("Test:Name=aName,class=DomainObject");
- }
-
- /**
- * Tests that state change that occcurs on the begin() method when the requested
- * class has not been defined.
- */
- public void testBegin_withClassNotYetDefined() throws Exception
- {
- _builder.begin(_objectName);
- assertEquals(_builder._state,_builder._classNotAvailable);
- }
-
- /**
- * Tests that state change that occcurs on the begin() method when the requested
- * class has not been defined.
- */
- public void testBegin_withClassAlreadyDefined() throws Exception
- {
- _objectName = new ObjectName("Test:Name=aString,class=MBeanCapabilityBuilder");
- _builder.begin(_objectName);
-
- assertTrue(_builder._state instanceof DummyCapabilityBuilder);
- assertSame(_builder._endAttributeHandler, _builder._noPropertyHasBeenDefined);
- }
-
- /**
- * Tests the generateGetter method().
- */
- public void testGenerateGetter()
- {
- String name ="MyProperty";
- String type = Long.class.getName();
- String expected =
- "public "+
- type+
- " get"+
- name+
- "() throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault { return ("+
- type+
- ") getAttribute(\""+
- name+
- "\"); }";
-
- String result = _builder.generateGetter(type, name,name);
- assertEquals(expected,result);
- }
-
- /**
- * Tests the generateGetter method().
- */
- public void testGenerateSetter()
- {
- String name ="MyProperty";
- String type = Long.class.getName();
- String expected =
- "public void setMyProperty("+
- type+
- " newValue) throws NoSuchAttributeFault,EntityInstanceNotFoundFault,QManFault { setAttribute(\""+
- name+
- "\", newValue); }";
-
- String result = _builder.generateSetter(type, name,name);
- assertEquals(expected,result);
- }
-
- /**
- * Tests buils of a capability that has no properties and methods
- *
- * <br>precondition : the incoming entity definition is empty (no properties and no methods)
- * <br>postcondition : the capability class is built successfully and has no props and methods.
- * The getPropertyNames returns an empty QName array.
- */
- public void testOK_WithNoPropertiesNoMethods() throws Exception {
-
- ObjectName name = new ObjectName("Test:Name=NoPropertiesNoMethods");
-
- MBeanServer server = ManagementFactory.getPlatformMBeanServer();
- server.registerMBean(new NoPropertiesNoMethods(), name);
-
- _builder.begin(name);
- _builder.endAttributes();
- _builder.endOperations();
- Class<MBeanCapability> capabilityClass = _builder.getCapabilityClass();
-
- Field[] fields = capabilityClass.getDeclaredFields();
- Method [] methods = capabilityClass.getDeclaredMethods();
-
- assertEquals(Arrays.toString(fields),0,fields.length);
- assertEquals(Arrays.toString(methods),1,methods.length);
-
- Method getPropertyNames = methods[0];
- assertEquals("getPropertyNames",getPropertyNames.getName());
-
-
- MBeanCapability capability = capabilityClass.newInstance();
- QName [] properties = (QName[]) getPropertyNames.invoke(capability);
- assertEquals(0,properties.length);
- }
-
- /**
- * Tests the whole execution of the builder.
- */
- @SuppressWarnings("unchecked")
- public void testBuildOK() throws Exception
- {
- MBeanServer server = ManagementFactory.getPlatformMBeanServer();
- QpidDomainObject mbean = new QpidDomainObject();
- server.registerMBean(mbean, _objectName);
-
- _builder.begin(_objectName);
-
- CtClass definition = _builder._capabilityClassDefinition;
- assertEquals(
- MBeanCapability.class.getName(),
- definition.getSuperclass().getName());
-
- MBeanInfo metadata = server.getMBeanInfo(_objectName);
-
- for (MBeanAttributeInfo attribute : metadata.getAttributes())
- {
- _builder.onAttribute(attribute);
- checkAttribute(attribute, definition);
-
- assertSame(
- _builder._endAttributeHandler,
- _builder._atLeastThereIsOneProperty);
- }
-
- for (MBeanOperationInfo operation : metadata.getOperations())
- {
- _builder.onOperation(operation);
- checkOperation(operation,definition);
- }
-
- _builder.endAttributes();
- _builder.endOperations();
-
- assertNotNull(_builder.getCapabilityClass());
- }
-
- /**
- * Checks an operation / method after that it has been declared on
- * capability definition.
- *
- * @param operation the (JMX) operation metadata.
- * @param definition the capability class definition.
- * @throws Exception when something goes wrong during introspection.
- */
- private void checkOperation(MBeanOperationInfo operation, CtClass definition) throws Exception
- {
- CtMethod method = definition.getDeclaredMethod(operation.getName());
- assertNotNull(method);
-
- checkExceptionTypes(
- method.getExceptionTypes(),
- new String[]{
- QManFault.class.getName(),
- EntityInstanceNotFoundFault.class.getName(),
- MethodInvocationFault.class.getName()});
-
- assertEquals(Result.class.getName(),method.getReturnType().getName());
-
- CtClass [] parameterTypes = method.getParameterTypes();
- MBeanParameterInfo [] parameterMetadata = operation.getSignature();
-
- assertEquals(parameterTypes.length, parameterMetadata.length);
- for (int i = 0; i < parameterMetadata.length; i++)
- {
- assertEquals(
- parameterTypes[i].getName(),
- Class.forName(parameterMetadata[i].getType()).getCanonicalName());
- }
- }
-
- /**
- * Checks the exception types associated with a method.
- *
- * @param exceptionTypes the exception types actually thrown.
- * @param expectedExceptionNames the expected exception types (as strings).
- */
- private void checkExceptionTypes(CtClass [] exceptionTypes, String [] expectedExceptionNames)
- {
- List<String> exceptionNames = new ArrayList<String>(exceptionTypes.length);
- for (CtClass exception : exceptionTypes)
- {
- exceptionNames.add(exception.getName());
- }
-
- for (String expectedExceptionName : expectedExceptionNames)
- {
- exceptionNames.remove(expectedExceptionName);
- }
-
- assertTrue(exceptionNames.isEmpty());
- }
-
- /**
- * Checks an attribute after that it has been declared on capability definition.
- *
- * @param attribute the (JMX) attribute metadata.
- * @param definition the capability class definition.
- * @throws Exception when something goes wrong during introspection.
- */
- private void checkAttribute(MBeanAttributeInfo attribute, CtClass definition) throws Exception
- {
- String name = _builder.getNameForAccessors(attribute.getName());
-
- String newPropertyDeclaration =
- new StringBuilder("new QName(Names.NAMESPACE_URI, \"")
- .append(attribute.getName())
- .append("\", Names.PREFIX),")
- .toString();
- assertTrue(_builder._properties.indexOf(newPropertyDeclaration) != -1);
-
- if (attribute.isReadable())
- {
- CtMethod getter = definition.getDeclaredMethod("get"+name);
- assertNotNull(getter);
-
- checkExceptionTypes(
- getter.getExceptionTypes(),
- new String[]{
- QManFault.class.getName(),
- NoSuchAttributeFault.class.getName(),
- EntityInstanceNotFoundFault.class.getName()});
-
- assertEquals(0,getter.getParameterTypes().length);
- assertEquals(attribute.getType(),getter.getReturnType().getName());
- }
-
- if (attribute.isWritable())
- {
- CtMethod setter = definition.getDeclaredMethod("set"+name);
- assertNotNull(setter);
-
- checkExceptionTypes(
- setter.getExceptionTypes(),
- new String[]{
- QManFault.class.getName(),
- NoSuchAttributeFault.class.getName(),
- EntityInstanceNotFoundFault.class.getName()});
-
- CtClass [] parameterTypes = setter.getParameterTypes();
-
- assertEquals(1,parameterTypes.length);
- assertEquals(attribute.getType(),parameterTypes[0].getName());
- assertEquals(void.class.getName(),setter.getReturnType().getName());
- }
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityTest.java
deleted file mode 100644
index a9a6491209..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/MBeanCapabilityTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm.capabilities;
-
-import java.lang.management.ManagementFactory;
-import java.net.URI;
-
-import javax.management.ObjectName;
-
-import junit.framework.TestCase;
-
-import org.apache.muse.ws.addressing.EndpointReference;
-import org.apache.muse.ws.resource.WsResource;
-import org.apache.muse.ws.resource.impl.SimpleWsResource;
-import org.apache.qpid.management.domain.handler.impl.QpidDomainObject;
-import org.apache.qpid.management.wsdm.common.EntityInstanceNotFoundFault;
-import org.apache.qpid.management.wsdm.common.NoSuchAttributeFault;
-import org.apache.qpid.management.wsdm.common.QManFault;
-
-/**
- * Test case for MBeanCapability supertype layer..
- *
- * @author Andrea Gazzarini
- */
-public class MBeanCapabilityTest extends TestCase
-{
- private final String _typeAttributeName = "Type";
- private final String _newTypeValue = "DomainObject";
-
- private ObjectName _objectName;
- private ObjectName _unknownObjectName;
-
- private MBeanCapability _capability;
-
- @Override
- protected void setUp() throws Exception
- {
- _objectName = new ObjectName("Test:Name=aName");
- _unknownObjectName = new ObjectName("Test:Type=unknown");
-
- _capability = new MBeanCapability(){
- @Override
- public WsResource getWsResource()
- {
- return new SimpleWsResource(){
- @Override
- public EndpointReference getEndpointReference()
- {
- return new EndpointReference(URI.create("http://qpid.apache.org/qman"));
- }
- };
- }
- };
- _capability.setResourceObjectName(_objectName);
- ManagementFactory.getPlatformMBeanServer().registerMBean(new QpidDomainObject(), _objectName);
- }
-
- /**
- * Tests the execution of the getAttribute() and setAttribute() method.
- *
- * <br>precondition : the mbean is registered and a _capability is associated with it.
- * <br>postcondition : the set value of the requested attribute is correctly returned.
- */
- public void testGetAndSetAttributeOK() throws Exception
- {
- Object name = _capability.getAttribute(_typeAttributeName);
- assertNull("Name has an initial value of null so how is possibile that is not null?",name);
-
- _capability.setAttribute(_typeAttributeName,_newTypeValue);
-
- name = _capability.getAttribute(_typeAttributeName);
- assertEquals("Now the name attribute must be set to \""+_newTypeValue+"\"",_newTypeValue,name);
- }
-
- /**
- * Tests the execution of the getAttribute() and setAttribte() methods when an unknown attribute is given..
- *
- * <br>precondition : the mbean is registered, a _capability is associated with it and the requested attribute doesn't exist.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testNoSuchAttributeFault() throws Exception
- {
- // I suppose that we shouldn't have an attribute with this name...
- String unknownAttribute = String.valueOf(System.currentTimeMillis());
-
- try
- {
- _capability.getAttribute(unknownAttribute);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(NoSuchAttributeFault expected)
- {
- }
-
- try
- {
- _capability.setAttribute(unknownAttribute,null);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(NoSuchAttributeFault expected)
- {
- }
- }
-
- /**
- * Tests the execution of the setAttribute,getAttribute and invoke methods when the target mbean
- * doesn't exists.
- *
- * <br>precondition : the object name associated with the capability is not pointing to an existent MBean.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testEntityInstanceNotFoundFault() throws Exception
- {
- _capability.setResourceObjectName(_unknownObjectName);
-
- try
- {
- _capability.getAttribute(_typeAttributeName);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(EntityInstanceNotFoundFault expected)
- {
- }
-
- try
- {
- _capability.setAttribute(_typeAttributeName,_newTypeValue);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(EntityInstanceNotFoundFault expected)
- {
- }
-
- try
- {
- _capability.invoke("operationName", null,null);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(EntityInstanceNotFoundFault expected)
- {
- }
- }
-
- /**
- * Tests the execution of the setAttribute,getAttribute and invoke methods when an unknown / unexpected
- * exception is thrown.
- *
- * <br>precondition : the mbean is registered and a capability is associated with it. Something
- * unexpected happens during method invocation.
- * <br>postcondition : an exception is thrown indicating the failure.
- */
- public void testQManFault() throws Exception
- {
- // Emulate a RuntimeException (which is the best example of uncaught exception... :) )
- _capability.setResourceObjectName(null);
-
- try
- {
- _capability.getAttribute(_typeAttributeName);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(QManFault expected)
- {
- }
-
- try
- {
- _capability.setAttribute(_typeAttributeName,_newTypeValue);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(QManFault expected)
- {
- }
-
- try
- {
- _capability.invoke("operationName", null,null);
- fail("An exception must be thrown here in order to indicate that the attribute is unknown.");
- } catch(QManFault expected)
- {
- }
- }
-
-
- /**
- * Shutdown procedure for this test case.
- */
- @Override
- protected void tearDown() throws Exception
- {
- ManagementFactory.getPlatformMBeanServer().unregisterMBean(_objectName);
- }
-}
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapabilityTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapabilityTest.java
deleted file mode 100644
index 648c7b2f60..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/QManAdapterCapabilityTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm.capabilities;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.apache.muse.ws.notification.NotificationProducer;
-import org.apache.qpid.management.Names;
-
-import junit.framework.TestCase;
-
-/**
- * Test case for QMan adapter capability.
- *
- * @author Andrea Gazzarini
- */
-public class QManAdapterCapabilityTest extends TestCase
-{
- /**
- * Tests the execution of the getTopicName() method.
- *
- * <br>precondition : an object type is given to the method (null is allowed).
- * <br>postcondition : according to getTopicName() specs, the name of the
- * topic associated with the given object type must be returned.
- */
- public void testGetTopicName()
- {
- final InvocationHandler invocationHandler = new InvocationHandler(){
-
- public Object invoke(Object proxy, Method method, Object[] args)
- {
- return null;
- }
- };
-
- QManAdapterCapability capability = new QManAdapterCapability(){
- @Override
- NotificationProducer getPublisherCapability()
- {
- return (NotificationProducer) Proxy.newProxyInstance(
- getClass().getClassLoader(),
- new Class[]{NotificationProducer.class},
- invocationHandler);
- }
- };
-
- capability.createLifeCycleTopics();
-
- assertEquals(
- Names.EVENTS_LIFECYLE_TOPIC_NAME,
- capability.getTopicName(Names.EVENT));
-
- assertEquals(
- Names.OBJECTS_LIFECYLE_TOPIC_NAME,
- capability.getTopicName(Names.CLASS));
-
- assertEquals(
- Names.UNKNOWN_OBJECT_TYPE_LIFECYLE_TOPIC_NAME,
- capability.getTopicName("This is an unknown object Type @#!--!!@#"));
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/RmdBuilderTest.java b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/RmdBuilderTest.java
deleted file mode 100644
index 77cda1c2c1..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/capabilities/RmdBuilderTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.management.wsdm.capabilities;
-
-import java.lang.management.ManagementFactory;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import org.apache.qpid.management.Names;
-import org.apache.qpid.management.domain.handler.impl.QpidDomainObject;
-import org.w3c.dom.Element;
-
-import junit.framework.TestCase;
-
-/**
- * Test case for Resource Metadata Descriptor Builder.
- *
- * @author Andrea Gazzarini
- */
-public class RmdBuilderTest extends TestCase
-{
- private MBeanInfo _metadata;
- private RmdBuilder _builder;
- private ObjectName _objectName;
-
- @Override
- protected void setUp() throws Exception
- {
- MBeanServer server = ManagementFactory.getPlatformMBeanServer();
- _objectName = new ObjectName("Test:Name=QpidDomainObject");
-
- server.registerMBean(new QpidDomainObject(), _objectName);
- _metadata = server.getMBeanInfo(_objectName);
-
- _builder = new RmdBuilder();
- _builder.begin(_objectName);
-
- assertEquals(_objectName,_builder._objectName);
- }
-
- /**
- * Tests the execution of the onOperation() method.
- */
- public void testOnOperation() throws Exception
- {
- MBeanAttributeInfo [] attributes = _metadata.getAttributes();
- for (MBeanAttributeInfo attribute : attributes)
- {
- _builder.onAttribute(attribute);
- }
-
- Element [] rmd = _builder.getResourceMetadataDescriptor();
-
- assertEquals(attributes.length,rmd.length);
-
- for (MBeanAttributeInfo attribute: _metadata.getAttributes())
- {
- Element propertyMetadataDescriptor = getPropertyMetadatDescriptor(attribute.getName(), rmd);
-
- String modifiability = propertyMetadataDescriptor.getAttribute(Names.MODIFIABILITY);
- String expectedValue =
- attribute.isWritable()
- ? Names.READ_WRITE
- : Names.READ_ONLY;
- assertEquals(expectedValue,modifiability);
- }
- }
-
- /**
- * Returns the property metadata descriptor associated with the given attribute name.
- *
- * @param name the attribute name.
- * @param rmd the resource metadata descriptor.
- * @return the property metadata descriptor associated with the given attribute name.
- * @throws RuntimeException if metadata for the given attribute is not found.
- */
- private Element getPropertyMetadatDescriptor(String name, Element [] rmd)
- {
- for (Element propertyMetadataDescriptor : rmd)
- {
- if ((Names.PREFIX+":"+name).equals(
- propertyMetadataDescriptor.getAttribute(Names.NAME_ATTRIBUTE)))
- {
- return propertyMetadataDescriptor;
- }
- }
- throw new RuntimeException("Property MetadataDescriptor not found for attribute "+name);
- }
-} \ No newline at end of file
diff --git a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/web.xml b/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/web.xml
deleted file mode 100644
index df273bd841..0000000000
--- a/qpid/java/management/client/src/test/java/org/apache/qpid/management/wsdm/web.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-
-<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <servlet>
- <display-name>Qpid emulator startip</display-name>
- <servlet-name>QEmu</servlet-name>
- <servlet-class>org.apache.qpid.management.wsdm.QEmuInitializer</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
-</web-app>