Package com.splunk.shuttl.archiver.archive

Source Code of com.splunk.shuttl.archiver.archive.RegistersArchiverMBeanTest

// Copyright (C) 2011 Splunk Inc.
//
// Splunk Inc. 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 com.splunk.shuttl.archiver.archive;

import static org.testng.Assert.*;

import java.io.File;

import javax.management.InstanceNotFoundException;

import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import com.splunk.shuttl.server.mbeans.ShuttlArchiver;
import com.splunk.shuttl.server.mbeans.ShuttlArchiverMBean;
import com.splunk.shuttl.server.mbeans.util.MBeanUtils;
import com.splunk.shuttl.server.mbeans.util.RegistersMBeans;
import com.splunk.shuttl.testutil.TUtilsConf;

@Test(groups = { "fast-test" })
public class RegistersArchiverMBeanTest {

  private RegistersMBeans registersMBeans;
  private ShuttlArchiverMBean mBean;
  private RegistersArchiverMBean registersArchiverMBean;

  @BeforeMethod
  public void setUp() {
    File confsDir = TUtilsConf.getNullConfsDir();
    mBean = ShuttlArchiver.createWithConfDirectory(confsDir);
    registersMBeans = RegistersMBeans.create();
    registersArchiverMBean = new RegistersArchiverMBean(registersMBeans, mBean);
  }

  @AfterMethod
  public void tearDown() {
    registersMBeans.unregisterMBean(registersArchiverMBean.getName());
  }

  public void getName_givenNothing_getsTheArchiverMBeanObjectName() {
    assertEquals(ShuttlArchiverMBean.OBJECT_NAME,
        registersArchiverMBean.getName());
  }

  public void register_givenMBean_registersMBean() throws Exception {
    registersArchiverMBean.register();
    ShuttlArchiverMBean mBeanInstance = MBeanUtils.getMBeanInstance(
        registersArchiverMBean.getName(), ShuttlArchiverMBean.class);
    assertNotNull(mBeanInstance);
  }

  @Test(expectedExceptions = { InstanceNotFoundException.class })
  public void unregister_givenRegisteredMBean_getsExceptionIfAttemptedToGetMBeanInstance()
      throws Exception {
    registersArchiverMBean.register();
    registersArchiverMBean.unregister();
    MBeanUtils.getMBeanInstance(registersArchiverMBean.getName(),
        ShuttlArchiverMBean.class);
  }

  public void unregister_beforeRegistering_doesNothing() {
    registersArchiverMBean.unregister();
  }

}
TOP

Related Classes of com.splunk.shuttl.archiver.archive.RegistersArchiverMBeanTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.