@Test public void createFromNativeHeaderMap() { MultiValueMap<String, String> inputNativeHeaders = new LinkedMultiValueMap<>(); inputNativeHeaders.add("foo", "bar"); inputNativeHeaders.add("bar", "baz"); NativeMessageHeaderAccessor headerAccessor = new NativeMessageHeaderAccessor(inputNativeHeaders); Map<String, Object> actual = headerAccessor.toMap(); assertEquals(actual.toString(), 1, actual.size()); assertNotNull(actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); assertEquals(inputNativeHeaders, actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); assertNotSame(inputNativeHeaders, actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); }
@Test public void createFromMessage() { MultiValueMap<String, String> inputNativeHeaders = new LinkedMultiValueMap<>(); inputNativeHeaders.add("foo", "bar"); inputNativeHeaders.add("bar", "baz"); Map<String, Object> inputHeaders = new HashMap<>(); inputHeaders.put("a", "b"); inputHeaders.put(NativeMessageHeaderAccessor.NATIVE_HEADERS, inputNativeHeaders); GenericMessage<String> message = new GenericMessage<>("p", inputHeaders); NativeMessageHeaderAccessor headerAccessor = new NativeMessageHeaderAccessor(message); Map<String, Object> actual = headerAccessor.toMap(); assertEquals(2, actual.size()); assertEquals("b", actual.get("a")); assertNotNull(actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); assertEquals(inputNativeHeaders, actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); assertNotSame(inputNativeHeaders, actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS)); }
@Test public void createFromMessageNull() { NativeMessageHeaderAccessor headerAccessor = new NativeMessageHeaderAccessor((Message<?>) null); Map<String, Object> actual = headerAccessor.toMap(); assertEquals(0, actual.size()); Map<String, List<String>> actualNativeHeaders = headerAccessor.toNativeHeaderMap(); assertEquals(Collections.emptyMap(), actualNativeHeaders); }
@Test public void createFromMessageAndModify() { MultiValueMap<String, String> inputNativeHeaders = new LinkedMultiValueMap<>(); inputNativeHeaders.add("foo", "bar"); inputNativeHeaders.add("bar", "baz"); Map<String, Object> nativeHeaders = new HashMap<>(); nativeHeaders.put("a", "b"); nativeHeaders.put(NativeMessageHeaderAccessor.NATIVE_HEADERS, inputNativeHeaders); GenericMessage<String> message = new GenericMessage<>("p", nativeHeaders); NativeMessageHeaderAccessor headerAccessor = new NativeMessageHeaderAccessor(message); headerAccessor.setHeader("a", "B"); headerAccessor.setNativeHeader("foo", "BAR"); Map<String, Object> actual = headerAccessor.toMap(); assertEquals(2, actual.size()); assertEquals("B", actual.get("a")); @SuppressWarnings("unchecked") Map<String, List<String>> actualNativeHeaders = (Map<String, List<String>>) actual.get(NativeMessageHeaderAccessor.NATIVE_HEADERS); assertNotNull(actualNativeHeaders); assertEquals(Arrays.asList("BAR"), actualNativeHeaders.get("foo")); assertEquals(Arrays.asList("baz"), actualNativeHeaders.get("bar")); }