MediaTypeProvider { public Optional<MediaType> getRequestMediaType(final String actionName) { final Optional<MediaTypes> mediaTypesOptional = mediaTypesMappingCache.mediaTypesFor(actionName); if (mediaTypesOptional.isPresent()) { return mediaTypesOptional.get().getRequestMediaType(); } return empty(); } @Inject  MediaTypeProvider(final MediaTypesMappingCache mediaTypesMappingCache); Optional<MediaType> getRequestMediaType(final String actionName); Optional<MediaType> getResponseMediaType(final String actionName);  }
@Test public void shouldGetTheRequestMediaTypeForTheActionName() throws Exception { final String actionName = "example.add-recipe"; final MediaType requestMediaType = new MediaType("application/vnd.example.add-recipe+json"); final MediaTypes mediaTypes = mock(MediaTypes.class); when(mediaTypesMappingCache.mediaTypesFor(actionName)).thenReturn(of(mediaTypes)); when(mediaTypes.getRequestMediaType()).thenReturn(of(requestMediaType)); assertThat(mediaTypeProvider.getRequestMediaType(actionName), is(of(requestMediaType))); }
@Test public void shouldReturnEmptyIfNoMediaTypesFoundForTheActionName() throws Exception { final String actionName = "example.add-recipe"; when(mediaTypesMappingCache.mediaTypesFor(actionName)).thenReturn(empty()); assertThat(mediaTypeProvider.getRequestMediaType(actionName), is(empty())); }
@Test public void shouldReturnEmptyIfNoRequestMediaTypeFoundForTheActionName() throws Exception { final String actionName = "example.add-recipe"; final MediaTypes mediaTypes = mock(MediaTypes.class); when(mediaTypesMappingCache.mediaTypesFor(actionName)).thenReturn(of(mediaTypes)); when(mediaTypes.getRequestMediaType()).thenReturn(empty()); assertThat(mediaTypeProvider.getRequestMediaType(actionName), is(empty())); }