qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Qpid > Qpid JMX Management Console Testing Guide
Date Wed, 26 Aug 2009 19:13:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=qpid&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+Testing+Guide">Qpid JMX Management Console Testing Guide</a></h2>
    <h4>Page  <b>added</b> by             <a href="http://cwiki.apache.org/confluence/display/~robbie">Robbie Gemmell</a>
    </h4>
         <br/>
    <div class="notificationGreySide">
         <p><b>The guide can be found below in wiki form, or downloaded as a file: <a href="/confluence/download/attachments/2852011/Qpid_JMX_MC_Testing_Guide.doc?version=1">(DOC)</a> <a href="/confluence/download/attachments/2852011/Qpid_JMX_MC_Testing_Guide.pdf?version=1">(PDF)</a></b>
<br clear="all" />
<br clear="all" /></p>
<hr />
<p><br clear="all" />
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073047">Introduction </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073048">General Test Configuration &amp; Startup </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073049">Server configuration </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073050">Console configuration </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073051">SSL configuration </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073052">JMXMP configuration </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073053">Console Startup </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073054">Server Management Connections </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073055">ConfigurationManagement MBean </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073056">LoggingManagement MBean </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073057">ServerInformation MBean </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073058">UserManagement MBean </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073059">VirtualHostManager MBean </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073060">Queue Management </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073061">Notifications </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073062">Exchange Management </a><br/>
<a href="#QpidJMXManagementConsoleTestingGuide-Toc239073063">Connection Management </a></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-Introduction"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073047"></a>Introduction</h1>

<p><br clear="all" />
The Qpid JMX Management Console is a standalone Eclipse RCP application for managing and monitoring the Qpid Java server utilising its JMX management interfaces.<br/>
This guide details procedures and expected outcomes for performing functional testing of the console.
<br clear="all" />
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-GeneralTestConfiguration%26Startup"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073048"></a> General Test Configuration &amp; Startup</h1>

<p><br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleTestingGuide-Serverconfiguration"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073049"></a>Server configuration</h2>

<p><br clear="all" />
For the purposes of the console testing, the server should initially be configured as detailed below. To assist, example server configuration files are provided (these serve as example and may need updated when testing a different version of server).</p>

<p><b>VirtualHosts:</b> 'localhost', 'development', and 'test'<br/>
<b>minimumAlertRepeatGap = 30sec, maximumMessageCount = 89, &amp; maximumMessageAge = 10sec</b> in <b>'test'</b> VirtualHost<br/>
<b>Queues in 'test' VirtualHost, bound to 'amq.direct' Exchange:</b> ping, queue, ping_1<br/>
<b>Username &amp; Passwords:</b> admin:admin<br/>
<b>Management access rights:</b> admin=admin
<br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleTestingGuide-Consoleconfiguration"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073050"></a>Console configuration</h2>

<p><br clear="all" />
When the console is started for the first time on a machine, it creates the file <em>qpidmc_navigation.ini</em> in the .<em>qpidmc</em> subfolder of the current '<em>home'</em> directory. This file stores the Qpid server addresses and MBean Favourites which are added to the consoles connection tree, in order that they may be persisted between sessions.</p>

<p>When Queue attributes are selected in the Queues selection screen these are also saved in this folder, in the file <em>qpidmc_queue_attributes.ini.</em> Ideally, these files and the containing folder should be removed before testing begins to ensure this functionality still works fully.</p>

<p>Typical '<em>home'</em> directories are C:\Documents and Settings\&lt;userid&gt; for Windows XP,&nbsp; C:\Users\&lt;userid&gt; for Windows Vista + 7, and /home/&lt;userid&gt;/on Linux.
<br clear="all" /></p>

<h3><a name="QpidJMXManagementConsoleTestingGuide-SSLconfiguration"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073051"></a>SSL configuration</h3>

<p><br clear="all" />
Newer Qpid Java servers can protect their JMX connections with SSL, and this is enabled by default. When attempting to connect to a server with this enabled, the console must be able to verify the SSL certificate presented to it by the server or the connection will fail.</p>

<p>If the server makes use of an SSL certificate signed by a known Signing CA (Certification Authority) then the console needs no extra configuration, and will make use of Java's default system-wide CA TrustStore for certificate verification (you may however have to update the system-wide default CA TrustStore if your certified is signed by a less common CA that is not already present in it).<br/>
If however the server is equipped with a self-signed SSL certificate, then the management console must be provided with an appropriate SSL TrustStore containing the public key for the SSL certificate, so that it is able to validate it when presented by the server. The server ships with a script to create an example self-signed SSL certificate, and store the relevant entries in a KeyStore and matching TrustStore. This script can serve as a guide on how to use the Java Keytool security utility to manipulate your own stores, and more information can be found in the JSSE Reference Guide: <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores" rel="nofollow"><b>http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores</b></a></p>

<p>Supplying the necessary details to the console is performed by setting the <em>javax.net.ssl.trustStore</em> and <em>javax.net.ssl.trustStorePassword</em> environment variables when starting it. This can be done at the command line, but the preferred option is to set the configuration within the <em>qpidmc.ini</em> launcher configuration file for repeated usage. This file is equipped with a template to ease configuration, this should be uncommented and edited to suit your needs. It can be found in the root of the console releases for Windows, and Linux. For Mac OS X the file is located within the consoles <em>.app</em> application bundle, and to locate and edit it you must select <em>'Show Package Contents'</em> when accessing the context menu of the application, then browse to the <em>Contents/MacOS</em> sub folder to locate the file.
<br clear="all" /></p>

<h3><a name="QpidJMXManagementConsoleTestingGuide-JMXMPconfiguration"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073052"></a>JMXMP configuration</h3>

<p><br clear="all" />
Older releases of the Qpid Java server can make use of the Java Management Extensions Messaging Protocol (JMXMP) to provide protection for their JMX connections. This occurs when the server has its main configuration set with the management <em>'security-enabled'</em> property set to true. In order to connect to this configuration of server, the console needs an additional library that is not included within the Java SE platform and cannot be distributed with the console due to licensing restrictions.<a name="QpidJMXManagementConsoleTestingGuide-ManagementConsoleSecurityDownloadandIns"></a></p>

<p>You can download the JMX Remote API 1.0.1_04 Reference Implementation from the Sun website <a href="http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/download.jsp" rel="nofollow">here</a>. The included <em>jmxremote-1_0_1-bin/lib/jmxremote_optional.jar</em> file must be added to the <em>plugins/jmxremote.sasl_1.0.1</em> folder of the console release (again, in Mac OS X you will need to select <em>'Show package contents'</em> from the context menu whilst selecting the management console bundle in order to reveal the inner file tree). Following this the console will automatically load the JMX Remote Optional classes and negotiate the SASL authentication profile type when encountering a JMXMP enabled Qpid Java server.
<br clear="all" /></p>

<h2><a name="QpidJMXManagementConsoleTestingGuide-ConsoleStartup"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073053"></a>Console Startup</h2>

<p><br clear="all" />
The console can be started in the following way, depending on platform:</p>
<ul>
	<li><b>Windows:</b> by running the <em>qpidmc.exe</em> executable file.</li>
	<li><b>Linux:</b> by running the <em>qpidmc</em> executable.</li>
	<li><b>Mac OS X:</b> by launching the <em>Qpid Management Console.app</em> application bundle.</li>
</ul>


<p><br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-ServerManagementConnections"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073054"></a> Server Management Connections</h1>

<p><br clear="all" />  <span class="error">Unable to render embedded object: File (JustConnected.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOGIN-0</b></font> </td>
<td class='confluenceTd'> Start the console (described above) </td>
<td class='confluenceTd'> The GUI opens </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOGIN</b></font><font color="#4f81bd"><b>&#45;1</b></font> </td>
<td class='confluenceTd'> Click the <em>New Connection</em> icon </td>
<td class='confluenceTd'> The <em>New Connection</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> LOGIN-1.1 </td>
<td class='confluenceTd'> Enter hostname=&lt;hostname&gt;, port= 8999, Username=admin, Password=admin and then click Connect. </td>
<td class='confluenceTd'> The node &lt;hostname&gt;:8999 will be added in the Qpid Connections pane at the left-hand side of the console window, and expanded to show the <em>ConfigurationManagement, UserManagement, ServerInformation, and LoggingManagement</em> MBeans as well as a VirtualHosts folder containing child folders <em>development, localhost,</em> and <em>test</em>. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOGIN</b></font><font color="#4f81bd"><b>&#45;2</b></font> </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the Disconnect button in the toolbar </td>
<td class='confluenceTd'> The connection is closed and the &lt;hostname&gt;:8999 tree node collapses to a single entry. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOGIN</b></font>&#45;<font color="#4f81bd"><b>3</b></font> </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the "Reconnect" icon </td>
<td class='confluenceTd'> The <em>Reconnect</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> LOGIN-3.1 </td>
<td class='confluenceTd'> Enter  Username=admin, Password=admin and then click Connect. </td>
<td class='confluenceTd'> The server node will be expanded to show the <em>ConfigurationManagement, UserManagement, ServerInformation, and LoggingManagement</em> MBeans as well as a VirtualHosts folder containing child folders <em>development, localhost, and test</em>. </td>
</tr>
</tbody></table>
<p><br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-ConfigurationManagementMBean"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073055"></a>ConfigurationManagement MBean</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above.</p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONF-0</b></font> </td>
<td class='confluenceTd'> Select the <em>ConfigurationManagement</em> node for the server in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>ConfigurationManagement</em> MBean is opened in the MBean view, showing the <em>reloadSecurityConfiguration</em> operation. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONF-1</b></font> </td>
<td class='confluenceTd'> Modify the server configuration file, updating a VirtualHost <em>security</em> sub-section, adding a <em>firewall</em> configuration entry to deny AMQP access from a certain IP address. </td>
<td class='confluenceTd'> N/A </td>
</tr>
<tr>
<td class='confluenceTd'> CONF-1.1 </td>
<td class='confluenceTd'> Press the Execute button and confirm the prompt to carry out the <em>reloadSecurityConfiguration</em> operation </td>
<td class='confluenceTd'> The updated security behaviour is applied and an Operation Successful dialog is shown. </td>
</tr>
<tr>
<td class='confluenceTd'> CONF-1.2 </td>
<td class='confluenceTd'> Attempt an AMQP connection from the blocked IP address </td>
<td class='confluenceTd'> The connection fails. </td>
</tr>
</tbody></table>
<p><span class="error">Unable to render embedded object: File (ConfigurationManagement.png) not found.</span></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-LoggingManagementMBean"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073056"></a> LoggingManagement MBean</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above. <span class="error">Unable to render embedded object: File (LoggingManagement1.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-0</b></font> </td>
<td class='confluenceTd'> Select the <em>LoggingManagement</em> node for the server in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>LoggingManagement</em> MBean is opened in the MBean view, showing the <em>Runtime Options</em> tab. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-1</b></font> </td>
<td class='confluenceTd'> Double click the <em>org.apache.qpid</em> LoggerName </td>
<td class='confluenceTd'> The <em>Set Runtime Logger Level</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-1.1 </td>
<td class='confluenceTd'> Select a Level of ERROR from the combo box and click ok. </td>
<td class='confluenceTd'> The <em>org.apache.qpid</em> Logger and all those below it beginning with o<em>rg.apache.qpid</em> (except <em>org.apache.qpid.server.queue.AMQQueueMBean</em>) are now shown at ERROR Level in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-2</b></font> </td>
<td class='confluenceTd'> Press the <em>Edit</em> button in the <em>Runtime RootLogger</em> <em>Level</em> area. </td>
<td class='confluenceTd'> The <em>Set Runtime RootLogger Level</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-2.1 </td>
<td class='confluenceTd'> Select a Level of WARN from the combo box and click ok. </td>
<td class='confluenceTd'> The Level is updated to WARN, plus any Logger (except <em>qpid.message</em>) without a highlighted blue Logger as a prefix inherits from the RootLogger  and will also change to WARN Level in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-3</b></font> </td>
<td class='confluenceTd'> Select the <em>org.apache.qpid.server.Main</em> LoggerName and press the <em>Edit Selected Logger</em> button. </td>
<td class='confluenceTd'> The <em>Set Runtime Logger Level</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-3.1 </td>
<td class='confluenceTd'> Select a Level of WARN from the combo box and click ok. </td>
<td class='confluenceTd'> The <em>org.apache.qpid.server.Main</em> Logger is now shown at WARN Level in the table, all others remain unchanged. </td>
</tr>
</tbody></table>
<p><br clear="all" />  <span class="error">Unable to render embedded object: File (LoggingManagement2.png) not found.</span><br clear="all" /></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-4</b></font> </td>
<td class='confluenceTd'> Select the <em>ConfigurationFile Options</em> tab in the <em>LoggingManagement</em> MBean view. </td>
<td class='confluenceTd'> The <em>ConfigurationFile Options</em> tab opens to show the Loggers defined in the configuration file and their Level </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-5</b></font> </td>
<td class='confluenceTd'> Double click the <em>org.apache.qpid</em> LoggerName </td>
<td class='confluenceTd'> The <em>Set ConfigFile Logger Level</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-5.1 </td>
<td class='confluenceTd'> Select a Level of INFO from the combo box and click ok. </td>
<td class='confluenceTd'> The <em>org.apache.qpid</em> Logger is now shown at INFO Level in the table </td>
</tr>
</tbody></table>
<p>The following tests are not supported by the original version of the LoggingManagement MBean.</p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-6</b></font> </td>
<td class='confluenceTd'> Press the <em>Reload</em> <em>Config File</em> button and confirm the prompt to carry out the action. </td>
<td class='confluenceTd'> The configuration file should be reloaded (success is indicated by lack of error prompts, and a note in the status bar at lower left). </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-6.1 </td>
<td class='confluenceTd'> Select the <em>Runtime Options</em> tab in the <em>LoggingManagement</em> MBean view. </td>
<td class='confluenceTd'> The <em>Runtime Options</em> tab opens to show the effective Levels of all active Loggers. <br clear="all" />
The <em>org.apache.qpid</em> Logger and all its children are set to INFO Level, except <em>org.apache.qpid.server.Main</em> which has retained the previously set Runtime Level of WARN. <br clear="all" />
The <em>Runtime RootLogger Level</em> has returned to INFO, as has the level of all the children Loggers inheriting from it. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>LOG-7</b></font> </td>
<td class='confluenceTd'> Select the <em>org.apache.qpid.server.Main</em> LoggerName and press the <em>Edit Selected Logger</em> button. </td>
<td class='confluenceTd'> The <em>Set Runtime Logger Level</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> LOG-7.1 </td>
<td class='confluenceTd'> Select a Level of INHERITED from the combo box and click ok. </td>
<td class='confluenceTd'> The <em>org.apache.qpid.server.Main</em> Logger is now shown at INFO Level in the table like its parent <em>org.apache.qpid</em> as it once again inherits its Level instead of having its own defined. </td>
</tr>
</tbody></table>
<p><br clear="all" />
<br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-ServerInformationMBean"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073057"></a> ServerInformation MBean</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above.</p>

<p><span class="error">Unable to render embedded object: File (ServerInformation.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>INFO-0</b></font> </td>
<td class='confluenceTd'> Select the <em>ServerInformation</em> node for the server in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>ServerInformation</em> MBean is opened in the MBean view, showing the Attributes tab, displaying version information about the server </td>
</tr>
</tbody></table>
<p><br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-UserManagementMBean"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073058"></a> UserManagement MBean</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above.</p>

<p><span class="error">Unable to render embedded object: File (UserManagement_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-0</b></font> </td>
<td class='confluenceTd'> Select the <em>UserManagement</em> node in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>LoggingManagement</em> MBean is opened in the MBean view </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-1</b></font> </td>
<td class='confluenceTd'> Click the <em>Add New User</em> button </td>
<td class='confluenceTd'> The <em>Add New User</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> USER-1.1 </td>
<td class='confluenceTd'> Enter Username=guest1, Password=guest1 and select Read Only access rights, then click ok. </td>
<td class='confluenceTd'> <em>guest1</em> will be added to the password and management rights files with indicated password and rights, and be added to the table with <em>Read Only</em> access rights. <br clear="all" />
NOTE: Verify that the password file and access rights files configured in the server configuration were updated. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-2</b></font> </td>
<td class='confluenceTd'> Select guest1 in the Users table and click the Set Rights button, </td>
<td class='confluenceTd'> The <em>Set Rights</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> USER-2.1 </td>
<td class='confluenceTd'> Select Admin rights and press ok. </td>
<td class='confluenceTd'> <em>guest1</em> rights in the management rights files will be changed to admin, and it will be displayed in the table with <em>Admin</em> rights. <br clear="all" />
NOTE: Verify that the access rights file configured in the server configuration was updated. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-3</b></font> </td>
<td class='confluenceTd'> Select guest1 in the Users table and click the Set Password button, </td>
<td class='confluenceTd'> The <em>Set Password</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> USER-3.1 </td>
<td class='confluenceTd'> Enter Password=newpass and press ok. </td>
<td class='confluenceTd'> <em>guest1</em> will altered to have password <em>newpass</em> in the password file. There will be no visible change in the table. <br clear="all" />
NOTE: Verify that the password file configured in the server configuration was updated. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-4</b></font> </td>
<td class='confluenceTd'> Select guest1 in the Users table and click the Delete Users(S) button, then validate the operation when prompted for confirmation. </td>
<td class='confluenceTd'> <em>guest1</em> will be removed from the password file and rights file and disappear from the table. <br clear="all" />
NOTE: Verify that the password file and access rights files configured in the server configuration were updated. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-5</b></font> </td>
<td class='confluenceTd'> Repeat USER-1  &amp;1.1 </td>
<td class='confluenceTd'> As USER-1.1 </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-6</b></font> </td>
<td class='confluenceTd'> Repeat USER-1 &amp; 1.1 with Username=client1, Password=client1 and select No Access rights. </td>
<td class='confluenceTd'> As USER-1.1 but with the new credentials, and the rights file will not be modified. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-7</b></font> </td>
<td class='confluenceTd'> Alter the password file on disk to add user1:user1, and alter the access rights file on disk to add user1=readwrite. </td>
<td class='confluenceTd'> No change. The password and rights files are only read once at startup by the server, until instructed to reload them via JMX. </td>
</tr>
<tr>
<td class='confluenceTd'> USER-8.1 </td>
<td class='confluenceTd'> Press the <em>Reload User Data</em> button </td>
<td class='confluenceTd'> <em>user1</em> will be added to the server and shown in the table with <em>Read &amp; Write</em> access rights. <br clear="all" />
(Older servers only reload the rights file, and so no change in the table will be visible in this case) </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-8</b></font> </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the Disconnect button in the toolbar </td>
<td class='confluenceTd'> The connection is closed and the &lt;hostname&gt;:8999 tree node collapses to a single entry. </td>
</tr>
<tr>
<td class='confluenceTd'> USER-8.1 </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the "Reconnect" icon </td>
<td class='confluenceTd'> The <em>Reconnect</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> USER-8.2 </td>
<td class='confluenceTd'> Enter  Username=guest1, Password=guest1 and then click Connect. </td>
<td class='confluenceTd'> The server node will be expanded to show the <em>ServerInformation</em> MBean as well as a VirtualHosts folder containing child folders <em>development, localhost,</em> and <em>test</em>. <br clear="all" />
The <em>ConfigurationManagement, LoggingManagement</em>, and <em>UserManagement</em> MBeans will not be shown as only admin-level users have access to these. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>USER-9</b></font> </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the Disconnect button in the toolbar </td>
<td class='confluenceTd'> The connection is closed and the &lt;hostname&gt;:8999 tree node collapses to a single entry. </td>
</tr>
<tr>
<td class='confluenceTd'> USER-9.1 </td>
<td class='confluenceTd'> Select the &lt;hostname&gt;:8999 node in the Qpid Connections tree and then click the "Reconnect" icon </td>
<td class='confluenceTd'> The <em>Reconnect</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> USER-9.2 </td>
<td class='confluenceTd'> Enter  Username=client1, Password=client1 and click Connect. </td>
<td class='confluenceTd'> The connection attempt fails, as user <em>client1</em> has no management access rights. </td>
</tr>
</tbody></table>
<p><br clear="all" /></p>

<h1><a name="QpidJMXManagementConsoleTestingGuide-VirtualHostManagerMBean"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073059"></a> VirtualHostManager MBean</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above.</p>

<p><span class="error">Unable to render embedded object: File (VirtualHostManager_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-0</b></font> </td>
<td class='confluenceTd'> Select the <em>VirtualHostManager</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>VirtualHostManager</em> MBean is opened in the MBean view </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-1</b></font> </td>
<td class='confluenceTd'> Double-click ping_1 in the Queues table. </td>
<td class='confluenceTd'> The <em>ping_1</em> mbean is opened in the MBean view. </td>
</tr>
<tr>
<td class='confluenceTd'> VHOST-1.1 </td>
<td class='confluenceTd'> Press the back arrow button at the top right corner of the view. </td>
<td class='confluenceTd'> The VirtualHostManager MBean is opened in the MBean view </td>
</tr>
</tbody></table>
<p><br clear="all" />
The following tests are based on the use of user with <em>Admin</em> or <em>Read &amp; Write</em> management access rights. <em>Read Only</em> level management rights do not permit a user to perform actions that modify the server state, such as creating or deleting Queues and Exchanges. Attempting such operations will be met by an Access Denied security warning at the point of remote execution.</p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-2</b></font> </td>
<td class='confluenceTd'> Press the <em>Create</em> button in the Queues group </td>
<td class='confluenceTd'> The <em>Create Queue</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> VHOST-2.1 </td>
<td class='confluenceTd'> Enter Name=newQueue and then press OK. </td>
<td class='confluenceTd'> <em>newQueue</em> is created and shown in the Queues table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-3</b></font> </td>
<td class='confluenceTd'> Select newQueue in the Queues table and press the Delete button in the Queues group. </td>
<td class='confluenceTd'> The <em>Delete Queue(s)</em> dialog opens, listing <em>newQueue</em> to be deleted. </td>
</tr>
<tr>
<td class='confluenceTd'> VHOST-3.1 </td>
<td class='confluenceTd'> Press the OK button. </td>
<td class='confluenceTd'> <em>newQueue</em> is removed from the server and disappears from the Queues table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-4</b></font> </td>
<td class='confluenceTd'> Press the Create button in the Exchange group </td>
<td class='confluenceTd'> The <em>Create Exchange</em> dialog opens </td>
</tr>
<tr>
<td class='confluenceTd'> VHOST-4.1 </td>
<td class='confluenceTd'> Enter Name=newExchange and select type=directthen press OK. </td>
<td class='confluenceTd'> <em>newExchange</em> is created and shown in the Exchanges table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>VHOST-5</b></font> </td>
<td class='confluenceTd'> Select newExchange in the Exchange table and press the Delete button in the Exchanges group. </td>
<td class='confluenceTd'> The <em>Delete Exchange(s)</em> dialog opens, listing <em>newExchange</em> to be deleted. </td>
</tr>
<tr>
<td class='confluenceTd'> VHOST-5.1 </td>
<td class='confluenceTd'> Press the OK button. </td>
<td class='confluenceTd'> <em>newExchange</em> is removed from the server and disappears from the Exchanges table_.&#95; </td>
</tr>
</tbody></table>

<h1><a name="QpidJMXManagementConsoleTestingGuide-QueueManagement"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073060"></a> Queue Management</h1>

<p><br clear="all" />
Pre-Requisite: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above. Delete the console <em>qpidmc_queue_attributes.ini</em> settings file as directed in the initial Console Configuration sub-section.</p>

<p><span class="error">Unable to render embedded object: File (QueueSelection_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-0</b></font> </td>
<td class='confluenceTd'> Select the <em>Queues</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>Queue</em> selection screen is opened in the MBean view, listing Queues ping,ping_1, and queue in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-1</b></font> </td>
<td class='confluenceTd'> Press the SelectAttributes button. </td>
<td class='confluenceTd'> The <em>Select Attributes</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-1.1 </td>
<td class='confluenceTd'> Select additional attributes <em>ConsumerCount, Durable, MessageCount, QueueDepth</em> and then press OK. </td>
<td class='confluenceTd'> The table updates to show additional columns for the new Attributes. All queues have  additional attribute values of <em>0, false, 0, and 0bytes.</em> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-2</b></font> </td>
<td class='confluenceTd'> Run the <em>ping_sender.sh</em> utility script, but do not press a key to exit the script when the sending is complete. </td>
<td class='confluenceTd'> 100 messages of size 512bytes are sent to the <em>ping_1</em> queue. After a refresh interval elapses, the table updates to show <em>ping_1</em> having <em>100</em> messages and a queue depth of <em>50.000 KB</em>, as well as a new queue named TempQueue&lt;etc&gt;. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-2.1 </td>
<td class='confluenceTd'> Press a key in the script shell to make it exit. </td>
<td class='confluenceTd'> After another refresh interval elapses, the table will update to show the TempQueue has been deleted. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-3</b></font> </td>
<td class='confluenceTd'> Select queue ping_1 in the table and click the <em>Add Queue(s) to favourites</em> button, then click the + icon at the Queues node to expand the Queues node. </td>
<td class='confluenceTd'> <em>ping_1</em> has been added as a child node of Queues. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-3.1 </td>
<td class='confluenceTd'> Select the new ping_1 node in the Qpid Connections tree. </td>
<td class='confluenceTd'> The ping_1 queue MBean opens in the MBean View, showing the <em>Attributes</em> tab. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-3.2 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the ping_1 MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens, with the details of the first 50 messages on ping_1 visible in the table. </td>
</tr>
</tbody></table>
<p><br clear="all" />  <span class="error">Unable to render embedded object: File (QueueOperations_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-4</b></font> </td>
<td class='confluenceTd'> Select the message with AMQ ID 4 in the table. </td>
<td class='confluenceTd'> The message will be highlighted, and its Header details and Redelivered status shown in the lower sections. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-4.1 </td>
<td class='confluenceTd'> Press the <em>View Message Content</em> button (or double-click the entry in the table) </td>
<td class='confluenceTd'> The result window opens, showing the AMQ Message ID, Content (repeated <em>&#45;message payload</em> statements), Encoding, and MimeType. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-4.2 </td>
<td class='confluenceTd'> Close the result dialog. </td>
<td class='confluenceTd'> The result window closes. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-5</b></font> </td>
<td class='confluenceTd'> Press the <em>Next 50 &gt;</em> button to advance the viewed message positions. </td>
<td class='confluenceTd'> The range will change to 51 - 100 and the table will update to show messages in positions 51-100 (which at this time possess AMQ IDs 51-100) </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-5.1 </td>
<td class='confluenceTd'> Press the <em>Next 50 &gt;</em> button to advance the viewed message positions. </td>
<td class='confluenceTd'> The range will change to 101 - 150 and the table will update to show messages in positions 101 - 150, which do not exist at this time (only 100 messages were placed on the queue) and so the table is now empty. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-6</b></font> </td>
<td class='confluenceTd'> Enter 11 in the left <em>Queue Pos</em> box, and 20 in the right <em>Queue Pos</em> box, then press the <em>Set</em> button </td>
<td class='confluenceTd'> The table will update to show messages in positions 11-20 (which at this time possess AMQ IDs 11-20). The <em>&lt; Prev 50</em> and <em>Next 50 &gt;</em> buttons have updated to have 10 as their step size. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-7</b></font> </td>
<td class='confluenceTd'> Select the <em>Notifications</em> tab in the ping_1 MBean view. </td>
<td class='confluenceTd'> The <em>Notifications</em> tab opens. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-7.1 </td>
<td class='confluenceTd'> Press the <em>Subscribe</em> button </td>
<td class='confluenceTd'> The <em>Subscribe</em> button becomes disabled, and the <em>Unsubscribe</em> button becomes enabled. <br clear="all" />
After at most 30seconds, Notifications should start being received asserting that <em>ping_1</em> has exceeded its <em>MaximumMessageCount</em> (89 allowed, 100 present) and contains messages over the <em>MaximumMessageAge</em> (10sec allowed, arbitrary actual age over 10sec depending on time taken to execute previous tests) </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-7.2 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the ping_1 MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens, with the details of message positions 11-20 on ping_1 in the table. </td>
</tr>
</tbody></table>
<p><br clear="all" />
The following tests are based on the use of user with <em>Admin</em> or <em>Read &amp; Write</em> management access rights. <em>Read Only</em> level management rights do not permit a user to perform actions that modify the server state, such as moving, deleting, or copying messages and clearing the queue. Attempting such operations will be met by an Access Denied security warning at the point of remote execution. <b>NOTE:</b> <b>Copying and deleting messages is only supported on newer servers. If testing older servers, substitute the Copy test (QUEUE-9) with another Move and then skip the Delete test (QUEUE-10).</b></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-8</b></font> </td>
<td class='confluenceTd'> Select the messages with AMQ IDs 11,13-14,19-20 and press the <em>Move Message(s)</em> button_.&#95; </td>
<td class='confluenceTd'> The <em>Move Messages</em> dialog opens, requesting destination queue and confirmation of moving messages with AMQ ID 11,13-14,19-20. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-8.1 </td>
<td class='confluenceTd'> Press OK (using the <em>ping</em> destination already selected). </td>
<td class='confluenceTd'> The messages with AMQ IDs 11,13-14,19-20 are moved and disappear from the table, which now shows messages AMQ ID 12,15-18, and 21-25. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-9</b></font> </td>
<td class='confluenceTd'> Select the messages with AMQ IDs 12,15-18 and press the <em>Copy Message(s)</em> button_.&#95; </td>
<td class='confluenceTd'> The <em>Copy Messages</em> dialog opens, requesting destination queue and confirmation of moving messages with AMQ IDs 12,15-18. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-9.1 </td>
<td class='confluenceTd'> Select the <em>queue</em> as the destination queue Press OK. </td>
<td class='confluenceTd'> The messages are copied, as indicated in the status bar at the bottom left of the application, and they continue to be present on the <em>ping_1</em> queue. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-10</b></font> </td>
<td class='confluenceTd'> The messages with AMQ IDs 12,15-18 are still selected. Press the <em>Delete Message(s)</em> button and confirm the prompt_.&#95; </td>
<td class='confluenceTd'> The messages with AMQ IDs 12,15-18 are deleted and disappear from the table, which now shows messages with AMQ ID 21-30 in positions 11-20. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-11</b></font> </td>
<td class='confluenceTd'> Press the <em>Clear Queue</em> button and confirm the prompt. </td>
<td class='confluenceTd'> The queue is cleared of the 90 remaining (and unacquired) messages and the table becomes empty. <br clear="all" />
Note: The number of deleted unacquired messages is reported in the status bar only for newer brokers </td>
</tr>
</tbody></table>
<p><br clear="all" />
The following test sequence can be undertaken with a user of any level of management access rights, but depend on completing the previous tests that required <em>Admin</em> or <em>Read &amp; Write</em> management access rights.</p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-12</b></font> </td>
<td class='confluenceTd'> Select the <em>Queues</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>Queue</em> selection screen is opened in the MBean view, listing Queues <em>ping, ping_1</em>, and <em>queue</em> in the table with the attributes <em>ConsumerCount, Durable, MessageCount,_and &#95;QueueDepth.</em> <br clear="all" />
These have values for <em>ping,</em> <em>ping_1,</em> and <em>queue</em>: <br clear="all" />
0, false, 5, 2.500 KB <br clear="all" />
0, false, 0,  0 bytes <br clear="all" />
0, false, 5, 2.500 KB </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-12.1 </td>
<td class='confluenceTd'> Double-click the entry in the table for the <em>ping</em> queue </td>
<td class='confluenceTd'> The <em>ping</em> queue MBean opens in the MBean View, showing the Attributes tab. <br clear="all" />
The MessageCount should be 5, the QueueDepth 2560(bytes), MaximumMessageAge 10000 (ms), and MaximumMessageCount 89. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-12.2 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the <em>ping</em> MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens, the table shows the 5 messages on the queue that we moved across in QUEUE-8, AMQ IDs 11,13-14,19-20 </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-12.3 </td>
<td class='confluenceTd'> Press the back arrow button at the top right corner of the view. </td>
<td class='confluenceTd'> The <em>Queue</em> selection screen is opened in the MBean view. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-13</b></font> </td>
<td class='confluenceTd'> Double-click the entry in the table for the <em>queue</em> queue </td>
<td class='confluenceTd'> The <em>queue</em> queue MBean opens in the MBean View, showing the Attributes tab. <br clear="all" />
The MessageCount should be 5, the QueueDepth 2560(bytes), MaximumMessageAge 10000 (ms), and MaximumMessageCount 89. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-13.1 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the <em>queue</em> MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens, the table shows the 5 messages on the queue that we copied across in QUEUE-9, AMQ IDs 12,15-18. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>QUEUE-14</b></font> </td>
<td class='confluenceTd'> Select the Notifications tab in the <em>queue</em> MBean view. </td>
<td class='confluenceTd'> The Notifications tab opens. </td>
</tr>
<tr>
<td class='confluenceTd'> QUEUE-14.1 </td>
<td class='confluenceTd'> Press the Subscribe button </td>
<td class='confluenceTd'> The Subscribe button becomes disabled, and the Unsubscribe button becomes enabled. <br clear="all" />
After at most 30seconds, Notifications should start being received asserting that <em>queue</em> contains messages older than the MaximumMessageAge (10sec allowed, arbitrary actual age over 10sec depending on time taken to execute previous tests) </td>
</tr>
</tbody></table>

<h1><a name="QpidJMXManagementConsoleTestingGuide-Notifications"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073061"></a> Notifications</h1>

<p><br clear="all" />
Pre-Requisites: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above. Complete the Queue Management testing.</p>

<p>The following test sequence can be undertaken with a user of any level of management access rights, but depend on completing the previous Queue Management tests that at certain points required <em>Admin</em> or <em>Read &amp; Write</em> management access rights. </p>

<p><span class="error">Unable to render embedded object: File (VHNotifications_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>NOTIF-0</b></font> </td>
<td class='confluenceTd'> Select the <em>Notifications</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The VirtualHost <em>Notifications</em> screen is opened. <br clear="all" />
Notifications received for ping_1 are present indicating it holds messages over the MaximumMessageAge of 10sec, and is over  MaximumMessageCount (initially at 100, then possibly at 95 if an alert interval fell between the completion of tests QUEUE-8 and QUEUE-9, then possibly at 90 if an alert interval fell between the completion of tests QUEUE-9 and QUEUE-10, all versus an allowed 89 messages). <br clear="all" />
There will also be Notifications received at the end for <em>queue,</em> indicating it has messages over the MaximumMessageAge of 10 seconds. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>NOTIF</b></font><font color="#4f81bd"><b>&#45;1</b></font> </td>
<td class='confluenceTd'> Select a group (any, but not all) of the Notifications and press the <em>Clear</em> button. </td>
<td class='confluenceTd'> The selected Notifications are removed from the table and no further Notifications are selected in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>NOTIF-2</b></font> </td>
<td class='confluenceTd'> Ensuring no notifications are selected in the table, press the <em>Clear</em> button, then validate the confirmation to proceed with clearing all Notifications from MBeans in the VirtualHost </td>
<td class='confluenceTd'> All remaining Notifications from MBeans in the VirtualHost are removed from the table. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>NOTIF</b></font><font color="#4f81bd"><b>&#45;3</b></font> </td>
<td class='confluenceTd'> Wait at most 30 seconds </td>
<td class='confluenceTd'> Additional Notifications should be recieved for <em>queue,</em> indicating it has messages over the MaximumMessageAge of 10 seconds. </td>
</tr>
</tbody></table>

<h1><a name="QpidJMXManagementConsoleTestingGuide-ExchangeManagement"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073062"></a> Exchange Management</h1>

<p><br clear="all" />
Pre-Requisites: Connect to a server as described in test LOGIN &#45;0 or LOGIN &#45;3 above.</p>

<p><span class="error">Unable to render embedded object: File (ExchangeOperations1_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH-0</b></font> </td>
<td class='confluenceTd'> Select the <em>Exchanges</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>Exchanges</em> selection screen is opened in the MBean view, listing Exchanges <em>&lt;&lt;default&gt;&gt;, amq.direct, amq.fanout, amq.match,</em> and <em>amq.topic</em> in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-0.1 </td>
<td class='confluenceTd'> Select exchanges <em>amq.direct</em> and <em>amq.match</em> ping_1 in the table and click the <em>Add Exchanges(s) to favourites</em> button, then click the + icon at the Exchanges node to expand the Exchanges node. </td>
<td class='confluenceTd'> <em>amq.direct</em> and <em>amq.match</em> have been added as a child nodes of Exchanges. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH</b></font><font color="#4f81bd"><b>&#45;1</b></font> </td>
<td class='confluenceTd'> Select the new <em>amq.direct</em> node in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>amq.direct</em> exchange MBean opens in the MBean View, showing the <em>Attributes</em> tab. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-1.1 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the <em>amq.direct</em> MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH-2</b></font> </td>
<td class='confluenceTd'> Select the <em>ping</em> entry in the Binding Key table. </td>
<td class='confluenceTd'> The <em>Queue Names</em> table updates and shows the <em>ping</em> queue is associated with the selected binding. </td>
</tr>
</tbody></table>
<p>The following tests are based on the use of user with <em>Admin</em> or <em>Read &amp; Write</em> management access rights. <em>Read Only</em> level management rights do not permit a user to perform actions that modify the server state, such as creating bindings. Attempting such operations will be met by an Access Denied security warning at the point of remote execution.</p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH-3</b></font> </td>
<td class='confluenceTd'> Press the <em>Create</em> button at the right hand side of the Bindings group. </td>
<td class='confluenceTd'> The <em>Create New Binding</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-3.1 </td>
<td class='confluenceTd'> enter Binding=<em>newKey</em> and press OK. </td>
<td class='confluenceTd'> The new binding is created and <em>newKey</em> appears in the Binding Key table. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-3.2 </td>
<td class='confluenceTd'> Select the new <em>newKey</em> entry in the Binding Key table. </td>
<td class='confluenceTd'> The <em>Queue Names</em> table updates and shows the <em>ping</em> queue is associated with the <em>newKey</em> binding. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-3.3 </td>
<td class='confluenceTd'> Press the <em>Create</em> button at the right hand side of the Bindings group. When the dialog loads, enter Binding=<em>newKey</em> and select queue ping_1 then press OK. </td>
<td class='confluenceTd'> The new binding is created, and the selection in the table is cleared. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-3.4 </td>
<td class='confluenceTd'> Select the <em>newKey</em> entry in the Binding Key table. </td>
<td class='confluenceTd'> The <em>Queue Names</em> table updates and shows the <em>ping</em> and <em>ping_1</em> queues are now both associated with the <em>newKey</em> binding. </td>
</tr>
</tbody></table>
<p><br clear="all" />  <span class="error">Unable to render embedded object: File (ExchangeOperations2_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH-4</b></font> </td>
<td class='confluenceTd'> Select the <em>amq.match</em> node in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>amq.match</em> exchange MBean opens in the MBean View, showing the <em>Attributes</em> tab. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-4.1 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the <em>amq.match</em> MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens. The <em>Binding Number and QueueName</em> table is empty. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-4.2 </td>
<td class='confluenceTd'> Select the amq.match node in the Qpid Connections tree. </td>
<td class='confluenceTd'> The amq.match exchange MBean opens in the MBean View, showing the Attributes tab. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-4.3 </td>
<td class='confluenceTd'> Select the Operations tab in the amq.match MBean view. </td>
<td class='confluenceTd'> The Operations tab opens. The Binding Number and QueueName table is empty. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>EXCH &#45;5</b></font> </td>
<td class='confluenceTd'> Press the <em>Create</em> button at the right hand side of the Bindings group. </td>
<td class='confluenceTd'> The <em>Create New Binding</em> dialog opens. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-5.1 </td>
<td class='confluenceTd'> Select a value of 'all' for the x-match key. Then enter a new key called key1, with a value of value1, and a new key called key2 with a value of value2.  Press the <em>Add additional field</em> button, and a new empty row should be added at the bottom, giving 4 empty rows. Press OK. </td>
<td class='confluenceTd'> The binding is created and an entry added to the table with <em>Binding Number</em> 1 and <em>Queue Name</em> ping. </td>
</tr>
<tr>
<td class='confluenceTd'> EXCH-5.2 </td>
<td class='confluenceTd'> Select the binding entry in the table. </td>
<td class='confluenceTd'> The Header Bindings table should update to list the keys and values entered in the dialog: <br clear="all" />
<em>key1=value1</em> <br clear="all" />
<em>key2=value2</em> <br clear="all" />
<em>x-match=any</em> </td>
</tr>
</tbody></table>

<h1><a name="QpidJMXManagementConsoleTestingGuide-ConnectionManagement"></a><a name="QpidJMXManagementConsoleTestingGuide-Toc239073063"></a> Connection Management</h1>

<p><br clear="all" />
Pre-Requisites: Connect to a server as described in test LOGIN-0 or LOGIN &#45;3 above. <span class="error">Unable to render embedded object: File (ConnectionOperations_Testing.png) not found.</span></p>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <b>Test ID</b> </td>
<td class='confluenceTd'> <b>Test Steps</b> </td>
<td class='confluenceTd'> <b>Expected Result</b> </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONN-0</b></font> </td>
<td class='confluenceTd'> Select the <em>Connections</em> node for the <em>test</em> VirtualHost in the Qpid Connections tree. </td>
<td class='confluenceTd'> The <em>Connections</em> selection screen is opened in the MBean view, with no entries in the table. </td>
</tr>
<tr>
<td class='confluenceTd'> CONN-0.1 </td>
<td class='confluenceTd'> Run the <em>ping_sender.sh</em> utility script, but do not press a key to exit the script when the sending is complete. </td>
<td class='confluenceTd'> After a refresh interval, two connections from the IP address of the machine <em>ping_sender.sh</em> was run will appear in the table </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONN-1</b></font> </td>
<td class='confluenceTd'> Double-click the first connection entry in the table. </td>
<td class='confluenceTd'> The connection MBean opens in the MBean View, showing the <em>Attributes</em> tab. </td>
</tr>
<tr>
<td class='confluenceTd'> CONN-1.1 </td>
<td class='confluenceTd'> Select the <em>Operations</em> tab in the connection MBean view. </td>
<td class='confluenceTd'> The <em>Operations</em> tab opens, listing channel 1 in the table, which is Transactional, has 0 unacked messages, and no (null) default queue. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONN</b></font><font color="#4f81bd"><b>&#45;2</b></font> </td>
<td class='confluenceTd'> Select the channel entry in the table. </td>
<td class='confluenceTd'> The <em>Commit</em> and <em>Rollback Transactions</em> buttons activate as the selected channel is transactional. </td>
</tr>
<tr>
<td class='confluenceTd'> <font color="#4f81bd"><b>CONN</b></font><font color="#4f81bd"><b>&#45;3</b></font> </td>
<td class='confluenceTd'> Press the <em>Close Connection</em> button and confirm the action. </td>
<td class='confluenceTd'> The connection is closed, the main view is cleared and a dialog opens to inform the user that the open MBean was unregistered from the server. </td>
</tr>
</tbody></table>
    </div>
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action" class="grey">Change Notification Preferences</a>
       </div>
       <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+Testing+Guide">View Online</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+Testing+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message