@Test
public void retrieveBySku() throws Exception {

  // Arrange
  URI expectedUri = URI.create("http://localhost:8080/mbm/items/0575088893");
  // Test-specific JerseyClient behaviour
  when(client.resource(expectedUri)).thenReturn(webResource);
  when(webResource.get(String.class))
    .thenReturn(
      FixtureAsserts.fixture("/fixtures/hal/item/expected-customer-retrieve-item.json"));
  // Act
  Optional<ItemDto> optionalItem = PublicMerchantClient
    .newInstance(locale)
    .item()
    .retrieveBySku("0575088893");
  // Assert
  assertTrue(optionalItem.isPresent());
  ItemDto actualItem = optionalItem.get();
  assertEquals("0575088893",actualItem.getSKU());
  assertEquals("The Quantum Thief",actualItem.getOptionalProperties().get("title"));
}