@Test
public void shouldUpdateIfETagMatch() {
final TestObject testObject = new TestObject("someId", "someValue");
testee.create(testObject);
final String etagFromCreated = testee.findOne("someId").get().eTag;
final TestObject testObjectToUpdate = new TestObject("someId", "someUpdatedValue", etagFromCreated);
final UpdateIfMatchResult updateIfMatchResult = testee.updateIfMatch(testObjectToUpdate, etagFromCreated);
final TestObject updatedTestObject = testee.findOne("someId").get();
assertThat(updateIfMatchResult, is(UpdateIfMatchResult.OK));
assertThat(updatedTestObject.eTag, notNullValue());
assertThat(updatedTestObject.eTag, is(not(etagFromCreated)));
assertThat(updatedTestObject.id, is("someId"));
assertThat(updatedTestObject.value, is("someUpdatedValue"));
}