use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.
the class LogEverythingObservableTest method shouldFillInObservableBasicInfo.
@Test
public void shouldFillInObservableBasicInfo() throws Throwable {
loggableObservable.get(observableRule.stringType()).subscribe(subscriber);
final ObservableInfo observableInfo = loggableObservable.getInfo();
final FrodoProceedingJoinPoint frodoProceedingJoinPoint = observableRule.joinPoint();
assertThat(observableInfo.getClassSimpleName()).isEqualTo(frodoProceedingJoinPoint.getClassSimpleName());
assertThat(observableInfo.getJoinPoint()).isEqualTo(frodoProceedingJoinPoint);
assertThat(observableInfo.getMethodName()).isEqualTo(frodoProceedingJoinPoint.getMethodName());
}
use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.
the class ObservableRule method apply.
@Override
public Statement apply(Statement statement, Description description) {
final TestJoinPoint testJoinPoint = new TestJoinPoint.Builder(declaringType).withReturnType(Observable.class).withReturnValue(OBSERVABLE_STREAM_VALUE).build();
final TestProceedingJoinPoint testProceedingJoinPoint = new TestProceedingJoinPoint(testJoinPoint);
frodoProceedingJoinPoint = new FrodoProceedingJoinPoint(testProceedingJoinPoint);
observableInfo = new ObservableInfo(frodoProceedingJoinPoint);
return statement;
}
use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.
the class LogObservable method methodAnnotatedWithRxLogObservable.
@Pointcut(METHOD)
public static boolean methodAnnotatedWithRxLogObservable(ProceedingJoinPoint joinPoint) {
final FrodoProceedingJoinPoint frodoJoinPoint = new FrodoProceedingJoinPoint(joinPoint);
final Annotation annotation = frodoJoinPoint.getAnnotation(RxLogObservable.class);
return ((MethodSignature) joinPoint.getSignature()).getReturnType() == Observable.class && ((RxLogObservable) annotation).value() != RxLogObservable.Scope.NOTHING;
}
use of com.fernandocejas.frodo.joinpoint.FrodoProceedingJoinPoint in project frodo by android10.
the class LogObservable method weaveAroundJoinPoint.
@Around("methodAnnotatedWithRxLogObservable(joinPoint)")
public Object weaveAroundJoinPoint(ProceedingJoinPoint joinPoint) throws Throwable {
final FrodoProceedingJoinPoint proceedingJoinPoint = new FrodoProceedingJoinPoint(joinPoint);
final MessageManager messageManager = new MessageManager();
final LoggableObservableFactory observableFactory = new LoggableObservableFactory(proceedingJoinPoint, messageManager, new ObservableInfo(proceedingJoinPoint));
return new FrodoObservable(proceedingJoinPoint, messageManager, observableFactory).getObservable();
}
Aggregations