@Test public void messagesFanOutCorrectly() { MessageInterceptor.Typed interceptor = mock(MessageInterceptor.Typed.class); AliasMessage alias = AliasMessage.builder("foo").userId("bar").build(); interceptor.intercept(alias); verify(interceptor).alias(alias); GroupMessage group = GroupMessage.builder("foo").userId("bar").build(); interceptor.intercept(group); verify(interceptor).group(group); IdentifyMessage identify = IdentifyMessage.builder().userId("bar").build(); interceptor.intercept(identify); verify(interceptor).identify(identify); ScreenMessage screen = ScreenMessage.builder("foo").userId("bar").build(); interceptor.intercept(screen); verify(interceptor).screen(screen); PageMessage page = PageMessage.builder("foo").userId("bar").build(); interceptor.intercept(page); verify(interceptor).page(page); TrackMessage track = TrackMessage.builder("foo").userId("bar").build(); interceptor.intercept(track); verify(interceptor).track(track); }
@Test public void messagesFanOutCorrectly() { MessageTransformer.Typed transformer = mock(MessageTransformer.Typed.class); AliasMessage.Builder alias = AliasMessage.builder("foo").userId("bar"); transformer.transform(alias); verify(transformer).alias(alias); GroupMessage.Builder group = GroupMessage.builder("foo").userId("bar"); transformer.transform(group); verify(transformer).group(group); IdentifyMessage.Builder identify = IdentifyMessage.builder().userId("bar"); transformer.transform(identify); verify(transformer).identify(identify); ScreenMessage.Builder screen = ScreenMessage.builder("foo").userId("bar"); transformer.transform(screen); verify(transformer).screen(screen); PageMessage.Builder page = PageMessage.builder("foo").userId("bar"); transformer.transform(page); verify(transformer).page(page); TrackMessage.Builder track = TrackMessage.builder("foo").userId("bar"); transformer.transform(track); verify(transformer).track(track); }