Background

The Qpid Management Console is user graphical interface for managing and monitoring the Qpid remotely.

This specification is primarily concerned with detailing the functional specifications for Management Console. The tests cover all the functionalities supported by the console.

Test Platforms

The management console currently supports Windows, Linux, Solaris and Mac OS X.

Introduction

This Management Console functional test specifications are categorized into following categories:

  1. Administration
  2. Virtual Host Management
  3. Connections Management
  4. Queue Management
  5. Exchange Management

Installation and Testing

To install the management console, it can be [] or []

There are three config files that should be used in this test which are attached to this page along with the sendAndWaitClient script.

General Test and Setup Information

When the Qpid Management Console is started for the first time on a machine, it creates a configuration file (qpidManagementConsole.ini) in user home directory (C:\Documents and Settings\<userid> for windows). This ini file stores the Qpid server address, which are added to the console.

Following setup is needed for Qpid Management Console test
1. Start the Qpid Broker with following configuration.
a. Virtual Host "Development" and "test"
b. Virtual Host "test" having following Queues - ping, queue, ping_1
c. Virtual Host "test" having following Exchanges - amq.direct (type=direct), amq.topic(type=topic), amq.headers(type=headers) and amq.fanout(type=fanout)

2. Qpid has following user configuration
a. Username=admin, Password=admin (Admin permissions)

User permissions are set in the jmxremote.access file.

Administration

This section details the test cases for administration of management console users. The setup described in the set up information section is required for these tests.

Test ID

Test steps

Expected result

AD-0

Start the Qpid Management Console with script qpidmc.sh

The GUI starts up with "Qpid Connections" on left hand side.

AD-1

Click the "New Connection" icon.

New Connection details pop up opens

AD-1.1

Enter the host=<hostname>, port= 8999
Username=admin, Password=admin and click Connect.

The Qpid Connections node "<hostname>:8999" will be added.

AD-2

Expand all the child node of "<hostname>:8999"

Following child nodes should be listed.
org.apache.qpid -> UserManagements->UserManagement

AD-3

Select the UserManagement

Following admin operations are listed as tabs on "Qpid Management" page-
View Users 
Set Rights
Reload Data
Set Password
Delete user
Create User

View Users tab will be selected and following users will be listed, which can be browsed using first/next/previous/last buttons

AD-4

Select the tab "Create User" and enter the user details-
Username=user
Password=password
Read and Write access.
Click Execute.

Operation successful dialog pops up.

AD-4.1

Select the tab "Create User" and enter the user details-
Username=guest
Password=password
Read access.
Click Execute.

Operation successful dialog pops up.

AD-4.2

Select the tab "Create User" and enter the user details-
Username=newuser
Password=password
Read access.
Click Execute.

Operation successful dialog pops up.

AD-4.3

Select the "Reload Data" tab and execute.

Operation successful dialog pops up.

AD-4.4

Select the "View Users" tab and check if the following users are listed - user, guest, newuser.

Users are listed with same permissions as assigned while creating users.

AD-5

Select "Delete User" tab and enter username=newuser. Click execute

Operation successful dialog pops up.

AD-5.1

Select the "Reload Data" tab and execute.

Operation successful dialog pops up.

AD-5.2

Select the "View Users" tab and check if the user "newuser" is listed

User "newuser" is not listed.

AD-6

Select the "Set Rights" tab, enter the username=user and select the "Read" access. Click Execute

Operation successful dialog pops up.

AD-6.1

Select the "Set Password" tab, enter the username=user and password=newpassword.
Click execute.

Operation successful dialog pops up.

AD-6.2

Start another session of Management Console using qpidmc.sh and connect to <hostname>:8999 using username=user and password=newpassword

User logs in.

AD-6.3

Select the VirtualHosts->test->VirtualHostManager. Now enter details on the "Create New Queue" tab and click execute.

"Access Denied" message popsup.

AD-6.4

Select the UserManagements->UserManagement

"Access Denied" error pops up.

AD-6.5

Disconnect this new session of Management Console.

NA

 

Virtual Host Management

This section details the test cases for managing and monitoring a Virtual Host. The setup described in the setup information section is required for these tests.

Test Id

Test Steps

Expected Result

VH-0

Start the Qpid Management Console with script qpidmc.sh

The GUI starts up with "Qpid Connections" on left hand side.

VH-1

Click the "New Connection" icon.

New Connection details pop up opens

VH-1.1

Enter the host="<hostname>", port= 8999
Username=user, Password=password and click Connect.

The Qpid Connections node "<hostname>:8999" will be added.

VH-2

Expand all the child node of "<hostname>:8999"

Following child nodes should be listed.
org.apache.qpid -> VirtualHosts -> test and development
test->VirtualHostManager, Connections, Exchanges and Queues
development-> VirtualHostManager, Connections, Exchanges and Queues

VH-2

Click on test->VirtualHostManager

Qpid Management view on right hand side displays following operations as tabs-
Create New Queue
Create New Exchange
Delete Queue
Unregister Exchange

VH-4

On the "Create New Queue" tab enter Queue Name=newQueue and click Execute

A confirmation dialog pops up.

VH-4.1

Click yes on the confirmation box

A pop up displays that the operation is successful.

VH-4.2

Click on the test->Queues

Qpid Management page displays the "Queue" tab and following queues will be listed- ping, queue and newQueue

VH-5

Click on test->VirtualHostManager and then select the "Create New Exchange" tab

The "Qpid Management" page displays following the data fields – Name, Type and Durable.

VH-5.1

Enter the Exchange Name=newExchange, select the Exchange Type as "direct" and click Execute.

A confirmation dialog pops up.

VH-5.2

Click yes on the confirmation box

A pop up displays that the operation is successful.

VH-5.3

Click on the test->Exchanges

Qpid Management page displays the "Exchange" tab and following exchange will be listed- amq.direct, amq.fanout, amq.match, amq.topic and newExchange

VH-6

Click on test->VirtualHostManager and then select the "Delete Queue" tab

The "Qpid Management" page displayed following Queues in the list- queue, ping, newQueue

VH-6.1

Select the newQueue from the list and click Execute

A confirmation dialog pops up.

VH-6.2

Click yes on the confirmation box

A pop up displays that the operation is successful.

VH-6.3

Click on the test->Queues

Qpid Management page displays the "Queue" tab and following queues will be listed- ping and  queue. The newQueue should not be in the list.

VH-7

Click on test->VirtualHostManager and then select the "Unregister Exchange" tab

The "Qpid Management" page displayed following Exchange in the list- amq.direct, amq.fanout, amq.topic, amq.headers and newExchange

VH-7.1

Select the "newExchange" from the list and click Execute

A confirmation dialog pops up.

VH-7.2

Click yes on the confirmation box

A pop up displays that the operation is successful.

VH-7.3

Click on the test->Exchanges

Qpid Management page displays the "Exchange" tab and following exchange will be listed- amq.direct, amq.fanout, amq.match and amq.topic. The newExchange should not be in the list.

VH-8

Select the Qpid server node <hostname>:8999 and click the "Disconnect" icon from the tool bar.

The Qpid connection is disconnected and the server nodes disappear.

Connections Management

This section details the test cases for managing and monitoring a Qpid connection.  The setup described in Setup information section is required for these tests.
 
Precondition: A Qpid server (e.g. <hostname>:8999) is added to the Management Console as described in the "Virtual Host Management" section.
 

Test Id

Test Steps

Expected Result

CM-0

Select the Qpid Server node "<hostname>:8999" on the Qpid Connections page and click the icon for reconnect from the tool bar.

The GUI starts up with "Qpid Connections" on left hand side.

CM-1

Start a consumer application and select the test->Connections node.

On the right hand page the connection will appear in the list.

CM-2

Select the connection and "Add to Navigation"

The connection node is added to the left hand side page.

CM-3

Select the connection node.

The Qpid Management page displays following connection attributes-
Authorized Id, Client Id, Last IO Time, Maximum Number of Channels, Remote Address and Version

Also following tabs are displayed-
Rollback Transactions
Commit Transactions
Close Connection
Channels

CM-4

Select Channels tab

Qpid Management page displays channel details.

CM-5

Select Close Connection tab

A confirmation dialog pops up.

CM-5.1

Click yes on the confirmation box

A pop up displays that the operation is successful and the connection node from left hand side disappears.

CM-6

Select the Qpid server node <hostname>:8999 and click the "Disconnect" icon from the tool bar.

The Qpid connection is disconnected and the server nodes disappear.

Queue Management

This section details the test cases for managing and monitoring a Qpid Queue.  The setup described in Setup information section is required for these tests.

Precondition: A Qpid server (e.g. <hostname>:8999) is added to the Management Console as described in the "Virtual Host Management" section.
 

Test Id

Test Steps

Expected Result

QM-0

Select the Qpid Server node "<hostname>:8999" on the Qpid Connections page and click the icon for reconnect from the tool bar.

The GUI starts up with "Qpid Connections" on left hand side.

QM-1

Select test->Queues and add Queue ping_1 to the navigation

Queue ping_1 gets added under test-Queues

QM-2

Select ping_1 node on left hand side

Following Queue properties are displayed in a table on "Qpid Management" page-
Active Consumer Count
Auto Delete
Consumer Count
Durable
Maximum Message Age
Maximum Message Count
Maximum Message Size
Maximum Queue Depth
Message Count
Name
Owner
Queue Depth
Received Message Count

Following operations will be displayed as tabs-
Clear Queue
Delete Message From Top
View Messages
View Message Content
Move Messages

QM-3

Run a client application to send 100 messages of size 512bytes each to queue "ping_1" and refresh the attributes tab on management console

Following attributes value will be updated.
Message Count=100
Queue Depth=50  (in kb)
Received Message Count=100

QM-4

Select the "Maximum Message Count" attribute and click "Edit Attribute"

Attribute window pops up with Attribute Name, Description and value.

QM-4.1

Update the value to 100

The attribute value gets updated.

QM-5

Select the Notifications tab and select the notification type and subscribe.

Subscribe button gets disabled.

QM-6

Run the same client application again and sent 100 messages of size 512 bytes to the "ping_1" " and refresh the attributes tab on management console

Following attributes value will be updated.
Message Count=200
Queue Depth=100  (in kb)
Received Message Count=200

QM-6.1

Select the Notifications tab.

One MESSAGE_COUNT_ALERT will be listed.

QM-6.2

Clear the notifications. Click the Clear button

The notifications list will be empty.

QM-6.3

Select the notifications type and Unsubscribe.

Subscribe button will be enabled and Unsubscribe button will be disabled.

QM-7

Select the "Delete Message From Top" tab. Click Execute and confirm.

Operation successful dialog will popup.

QM-8

Select Attributes tab.

Following attributes value will be updated.
Message Count=199
Queue Depth=99  (in kb)

QM-9

Select the "Clear Queue" tab. Click Execute and confirm.

Operation successful dialog will popup.

QM-10

Select Attributes tab.

Following attributes value will be updated.
Message Count=0
Queue Depth=0  (in kb)

QM-11

Run the same client application again and sent 100 messages of size 512 bytes to the "ping_1" " and refresh the attributes tab on management console.

Following attributes value will be updated.
Message Count=100
Queue Depth=50  (in kb)
Received Message Count=300

QM-12

Select the "View Messages" tab and enter this data-
from Index=1
to index=100 and Execute

The results window pops up with message header attributes details of 100 messages on the Queue.

QM-13

Close the results window and select "View Message Content" tab. Enter the message id =250 and Execute.

The results window pops up with following fields-
Message Id
Content
Encoding
Mime Type

QM-14

Select "Move Messages" tab.

The Qpid Management page shows these fields-
From Message Id
To Message Id
Queue  (with list of all other queues)

QM-14.1

Enter the following data-
From Message Id = 200
To Message Id = 150 and Select Queue="queue". Now Execute and confirm.

Operation successful dialog will popup.

QM-14.2

Select test-Queues and add queue to the navigation and select "queue"

The queue attributes will be displayed with these values-
Queue depth=25
Message Count=50
Received Message Count=50

 

 

 

 

Exchange Management

This section details the test cases for managing and monitoring a Qpid Exchanges.  The setup described in Setup information section is required for these tests.

Precondition: A Qpid server (e.g. <hostname>:8999) is added to the Management Console as described in the "Virtual Host Management" section.

Test Id

Test Steps

Expected Result

EM-0

Select the Qpid Server node "<hostname>:8999" on the Qpid Connections page and click the icon for reconnect from the tool bar.

The GUI starts up with "Qpid Connections" on left hand side.

EM-1

Select test->Exchanges and add these exchanges to the Navigation page-
 amq.direct
 amq.fanout
 amq.topic
 amq.match

Those exchanges get listed under the node test->Exchanges

EM-2

Select "amq.direct" node

The exchange attributes get displayed on "Qpid Management" page and  following tabs-
Create New Binding
Bindings

EM-3

Select the "Create New Bindings" tab

The available queues (ping, queue) will be listed.

EM-3.1

Select the Queue "ping" and enter a binding "newBinding". Click "Execute" and confirm the operation.

Operation successful dialog will popup.

EM-3.2

Select the "Bindings" tab

Queue "ping" with binding "newBinding" will be listed on "Queue Management" page.

EM-4

Select the node "amq.match", which is headers exchange

Result same as in step EM-2

EM-4.1

Select the "Create New Binding" tab

The available queues (ping, queue) will be listed and there will be text fields to enter binding as key=value pair

EM-4.2

Select a Queue "ping" and enter these bindings-
Name=key1  value=value1
Name=key2  value=value2

Now click "Execute" and confirm the operation.

Operation successful dialog will popup.

EM-4.3

Select the "Bindings" tab

Queue "ping" with bindings "key1=value1" and "key2=value2" will be listed on "Queue Management" page.

 

 

 

 

Trouble Shooting

Q. Why the text fields are not visible on my machine but are visible on other machine?
A. Please check if the windows theme being used in Control Panel->Display is not the default one.
 
Q. How can I get the exception stack trace for sending to development team for debugging?
A. In start-up scripts qpidmc.sh or qpidmc.bat, update the parameter value:

     -Declipse.consoleLog=true

  • No labels