@Test public void wrongParameterType() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = new Object[] { 1L }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); } }
@Test public void notCorrectMethod() { when(ssc.getTargetMethodName()).thenReturn("somethingelse"); Object[] parameters = new Object[] { server }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); }
@Test public void tooMuchParameters() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = new Object[] { server, server }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); }
@Test public void emptyParameters() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = new Object[] {}; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); }
@Test public void nullParameters() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = null; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); }
@Test public void nullFirstParameter() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = new String[] { null }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verifyNoMoreInteractions(ssc); verifyZeroInteractions(object, listener); }
@Test public void happyPathRemove() { when(ssc.getTargetMethodName()).thenReturn("removeMBeanServer"); Object[] parameters = new Object[] { server }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verify(listener).mbeanServerRemoved(server); verifyNoMoreInteractions(ssc, listener); verifyZeroInteractions(object); }
@Test public void happyPathAdd() { when(ssc.getTargetMethodName()).thenReturn("addMBeanServer"); Object[] parameters = new Object[] { server }; Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc); assertThat(result, is(nullValue())); verify(ssc).getTargetMethodName(); verify(listener).mbeanServerAdded(server); verifyNoMoreInteractions(ssc, listener); verifyZeroInteractions(object); }