@Test
  public void shouldRefuseDeleteCommands() {

    S3ObjectSummary mockS3ObjectSummary = mock(S3ObjectSummary.class);

    when(mockUploadConfiguration.getBucketName()).thenReturn("bucket");
    when(mockS3Scanner.listObjects("bucket")).thenReturn(asList(mockS3ObjectSummary));
    when(mockUploadConfiguration.isClearBucketBeforeUpload()).thenReturn(false);
    s3Processor.clearBucket(mockUploadConfiguration);

    verifyNoMoreInteractions(mockQueue);
  }
  @Test
  public void shouldAcceptDeleteCommands() {
    UploadConfiguration mockUploadConfiguration = mock(UploadConfiguration.class);
    S3ObjectSummary mockS3ObjectSummary = mock(S3ObjectSummary.class);

    when(mockUploadConfiguration.getBucketName()).thenReturn("bucket");
    when(mockS3Scanner.listObjects("bucket")).thenReturn(asList(mockS3ObjectSummary));
    when(mockUploadConfiguration.isClearBucketBeforeUpload()).thenReturn(true);

    s3Processor.clearBucket(mockUploadConfiguration);

    verify(mockQueue).add(new DeleteUnit(mockS3ObjectSummary));
  }