@Override
    protected void post(final Path file, final MessageDigest digest, final StorageObject response) throws BackgroundException {
        this.verify(file, digest, Checksum.parse(response.getMd5sum()));
    }
@Test(expected = ChecksumException.class)
    public void testPostChecksumFailure() throws Exception {
        final StorageObject o = new StorageObject("f");
        o.setMd5sum("d41d8cd98f00b204e9800998ecf8427f");
        try {
            new SwiftSmallObjectUploadFeature(session, new SwiftWriteFeature(
                session, new SwiftRegionService(session))).post(
                new Path("/f", EnumSet.of(Path.Type.file)), MessageDigest.getInstance("MD5"), o
            );
        }
        catch(ChecksumException e) {
            assertEquals("Upload f failed", e.getMessage());
            assertEquals("Mismatch between MD5 hash d41d8cd98f00b204e9800998ecf8427e of uploaded data and ETag d41d8cd98f00b204e9800998ecf8427f returned by the server.", e.getDetail());
            throw e;
        }
    }