/** * Tests registration of the existing {@link MethodIdent}. */ @Test public void registerExistnigMethodIdent() { final long methodId = 20; long platformId = 1; String packageName = "package"; String className = "class"; String methodName = "method"; List<String> parameterTypes = new ArrayList<>(); parameterTypes.add("parameter"); String returnType = "returnType"; int modifiers = 2; when(methodIdentDao.findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), anyBoolean())).thenReturn(Collections.singletonList(methodId)); long registeredId = registrationService.registerMethodIdent(platformId, packageName, className, methodName, parameterTypes, returnType, modifiers); assertThat(registeredId, equalTo(methodId)); verify(platformIdentCache, times(1)).markDirty(platformId); ArgumentCaptor<MethodIdent> argument = ArgumentCaptor.forClass(MethodIdent.class); verify(methodIdentDao, times(1)).findIdForPlatformIdAndExample(eq(platformId), argument.capture(), eq(true)); verify(platformIdentCache, times(1)).markDirty(platformId); assertThat(argument.getValue().getPackageName(), is(equalTo(packageName))); assertThat(argument.getValue().getClassName(), is(equalTo(className))); assertThat(argument.getValue().getMethodName(), is(equalTo(methodName))); assertThat(argument.getValue().getParameters(), is(equalTo(parameterTypes))); assertThat(argument.getValue().getReturnType(), is(equalTo(returnType))); assertThat(argument.getValue().getModifiers(), is(equalTo(modifiers))); } }
List<Long> methodIdentIds = methodIdentDao.findIdForPlatformIdAndExample(platformId, methodIdent, true); if (1 == methodIdentIds.size()) { return methodIdentIds.get(0).longValue();
String returnType = "returnType"; int modifiers = 2; when(methodIdentDao.findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), anyBoolean())).thenReturn(Collections.<Long> emptyList()); Mockito.doAnswer(new Answer<Object>() { @Override ArgumentCaptor<MethodIdent> argument = ArgumentCaptor.forClass(MethodIdent.class); verify(methodIdentDao, times(1)).saveOrUpdate(argument.capture()); verify(methodIdentDao, times(1)).findIdForPlatformIdAndExample(eq(platformId), (MethodIdent) anyObject(), eq(true)); verify(platformIdentCache, times(1)).markDirty(platformId);