package org.jolokia.detector; /* * Copyright 2009-2013 Roland Huss * * Licensed 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. */ import java.util.Arrays; import java.util.HashSet; import javax.management.*; import org.testng.annotations.Test; import static org.easymock.EasyMock.*; import static org.testng.Assert.*; /** * @author roland * @since 29.11.10 */ public class WebSphereDetectorTest extends BaseDetectorTest { @Test public void detect() throws MalformedObjectNameException, InstanceNotFoundException, ReflectionException, AttributeNotFoundException, MBeanException { ServerDetector detector = new WebsphereDetector(); ObjectName serverMbean = new ObjectName(SERVER_MBEAN); MBeanServer mockServer = createMock(MBeanServer.class); expect(mockServer.queryNames(new ObjectName("*:j2eeType=J2EEServer,type=Server,*"),null)). andStubReturn(new HashSet<ObjectName>(Arrays.asList(serverMbean))); expect(mockServer.isRegistered(serverMbean)).andStubReturn(true); expect(mockServer.getAttribute(serverMbean,"platformName")).andReturn("IBM WebSphere Application Server"); expect(mockServer.getAttribute(serverMbean,"serverVersion")).andReturn(SERVER_VERSION_V6); replay(mockServer); ServerHandle info = detector.detect(getMBeanServerManager(mockServer)); assertEquals(info.getVendor(),"IBM"); assertEquals(info.getProduct(),"websphere"); assertNotNull(info.getExtraInfo(null)); assertEquals(info.getExtraInfo(null).get("buildDate"),"8/14/10"); } private static String SERVER_MBEAN = "WebSphere:cell=bhutNode02Cell,j2eeType=J2EEServer," + "mbeanIdentifier=cells/bhutNode02Cell/nodes/bhutNode02/servers/server1/server.xml#Server_1245012281417," + "name=server1,node=bhutNode02,platform=proxy,process=server1,processType=UnManagedProcess," + "spec=1.0,type=Server,version=6.1.0.33"; private static String SERVER_VERSION_V6 = "--------------------------------------------------------------------------------\n" + "IBM WebSphere Application Server Product Installation Status Report\n" + "--------------------------------------------------------------------------------\n" + "\n" + "Report at date and time November 29, 2010 11:46:41 AM CET\n" + "\n" + "Installation\n" + "--------------------------------------------------------------------------------\n" + "Product Directory /opt/websphere/was61\n" + "Version Directory /opt/websphere/was61/properties/version\n" + "DTD Directory /opt/websphere/was61/properties/version/dtd\n" + "Log Directory /opt/websphere/was61/logs\n" + "Backup Directory /opt/websphere/was61/properties/version/nif/backup\n" + "TMP Directory /tmp\n" + "\n" + "Product List\n" + "--------------------------------------------------------------------------------\n" + "ND installed\n" + "\n" + "Installed Product\n" + "--------------------------------------------------------------------------------\n" + "Name IBM WebSphere Application Server - ND\n" + "Version 6.1.0.33\n" + "ID ND\n" + "Build Level cf331032.09\n" + "Build Date 8/14/10\n" + "\n" + "--------------------------------------------------------------------------------\n" + "End Installation Status Report\n" + "--------------------------------------------------------------------------------"; }