1
1
package edu .unc .lib .boxc .deposit .validate ;
2
2
3
- import static edu .unc .lib .boxc .common .test .TestHelpers .setField ;
4
- import static org .junit .jupiter .api .Assertions .fail ;
5
- import static org .mockito .Matchers .any ;
6
- import static org .mockito .Matchers .anyBoolean ;
7
- import static org .mockito .Matchers .anyInt ;
8
- import static org .mockito .Matchers .anyString ;
9
- import static org .mockito .Matchers .eq ;
10
- import static org .mockito .Mockito .doReturn ;
11
- import static org .mockito .Mockito .mock ;
12
- import static org .mockito .Mockito .never ;
13
- import static org .mockito .Mockito .times ;
14
- import static org .mockito .Mockito .verify ;
15
- import static org .mockito .Mockito .when ;
16
-
17
- import java .io .File ;
18
- import java .io .InputStream ;
19
- import java .nio .file .Path ;
20
- import java .util .UUID ;
21
- import java .util .concurrent .ExecutorService ;
22
-
23
- import org .apache .commons .io .FileUtils ;
24
- import org .apache .jena .rdf .model .Bag ;
25
- import org .apache .jena .rdf .model .Model ;
26
- import org .apache .jena .rdf .model .Resource ;
27
- import org .apache .jena .vocabulary .RDF ;
28
- import org .junit .jupiter .api .AfterAll ;
29
- import org .junit .jupiter .api .BeforeEach ;
30
- import org .junit .jupiter .api .Test ;
31
- import org .mockito .Mock ;
32
- import org .mockito .invocation .InvocationOnMock ;
33
- import org .mockito .stubbing .Answer ;
34
-
35
3
import com .google .common .util .concurrent .MoreExecutors ;
36
-
37
4
import edu .unc .lib .boxc .common .util .URIUtil ;
38
5
import edu .unc .lib .boxc .deposit .api .RedisWorkerConstants .DepositState ;
39
6
import edu .unc .lib .boxc .deposit .fcrepo4 .AbstractDepositJobTest ;
40
7
import edu .unc .lib .boxc .deposit .impl .model .DepositModelHelpers ;
41
- import edu .unc .lib .boxc .deposit .validate .VirusScanJob ;
42
8
import edu .unc .lib .boxc .deposit .work .JobFailedException ;
43
9
import edu .unc .lib .boxc .deposit .work .JobInterruptedException ;
44
10
import edu .unc .lib .boxc .model .api .exceptions .RepositoryException ;
51
17
import fi .solita .clamav .ClamAVClient ;
52
18
import fi .solita .clamav .ScanResult ;
53
19
import fi .solita .clamav .ScanResult .Status ;
20
+ import org .apache .commons .io .FileUtils ;
21
+ import org .apache .jena .rdf .model .Bag ;
22
+ import org .apache .jena .rdf .model .Model ;
23
+ import org .apache .jena .rdf .model .Resource ;
24
+ import org .apache .jena .vocabulary .RDF ;
25
+ import org .junit .jupiter .api .AfterAll ;
26
+ import org .junit .jupiter .api .BeforeEach ;
27
+ import org .junit .jupiter .api .Test ;
28
+ import org .mockito .Mock ;
29
+ import org .mockito .invocation .InvocationOnMock ;
30
+ import org .mockito .stubbing .Answer ;
31
+
32
+ import java .io .File ;
33
+ import java .io .InputStream ;
34
+ import java .nio .file .Path ;
35
+ import java .util .UUID ;
36
+ import java .util .concurrent .ExecutorService ;
37
+
38
+ import static edu .unc .lib .boxc .common .test .TestHelpers .setField ;
39
+ import static org .junit .jupiter .api .Assertions .fail ;
40
+ import static org .mockito .Matchers .any ;
41
+ import static org .mockito .Matchers .anyBoolean ;
42
+ import static org .mockito .Matchers .anyInt ;
43
+ import static org .mockito .Matchers .anyString ;
44
+ import static org .mockito .Matchers .eq ;
45
+ import static org .mockito .Mockito .doReturn ;
46
+ import static org .mockito .Mockito .mock ;
47
+ import static org .mockito .Mockito .never ;
48
+ import static org .mockito .Mockito .times ;
49
+ import static org .mockito .Mockito .verify ;
50
+ import static org .mockito .Mockito .when ;
54
51
55
52
/**
56
53
*
@@ -92,6 +89,7 @@ public PID answer(InvocationOnMock invocation) throws Throwable {
92
89
});
93
90
94
91
when (clamClient .scanWithResult (any (Path .class ))).thenReturn (scanResult );
92
+ when (clamClient .scanWithResult (any (InputStream .class ))).thenReturn (scanResult );
95
93
96
94
File examplesFile = new File ("src/test/resources/examples" );
97
95
FileUtils .copyDirectory (examplesFile , depositDir );
@@ -104,6 +102,7 @@ private void initializeJob() {
104
102
job .setJobUUID (jobUUID );
105
103
job .setDepositUUID (depositUUID );
106
104
job .setDepositDirectory (depositDir );
105
+ job .setMaxStreamSize (300l );
107
106
setField (job , "pidMinter" , pidMinter );
108
107
job .setClamClient (clamClient );
109
108
job .setPremisLoggerFactory (premisLoggerFactory );
@@ -142,7 +141,8 @@ public void passScanTest() throws Exception {
142
141
143
142
job .run ();
144
143
145
- verify (clamClient , times (3 )).scanWithResult (any (Path .class ));
144
+ verify (clamClient , times (1 )).scanWithResult (any (InputStream .class ));
145
+ verify (clamClient , times (2 )).scanWithResult (any (Path .class ));
146
146
147
147
verify (jobStatusFactory ).setTotalCompletion (eq (jobUUID ), eq (3 ));
148
148
verify (jobStatusFactory , times (3 )).incrCompletion (eq (jobUUID ), eq (1 ));
@@ -189,9 +189,8 @@ public void failOneScanTest() throws Exception {
189
189
when (result2 .getStatus ()).thenReturn (Status .FOUND );
190
190
File pdfFile = new File (depositDir , "pdf.pdf" );
191
191
File textFile = new File (depositDir , "text.txt" );
192
- when (clamClient .scanWithResult (any (Path .class )))
193
- .thenReturn (scanResult )
194
- .thenReturn (result2 );
192
+ when (clamClient .scanWithResult (any (InputStream .class ))).thenReturn (scanResult );
193
+ when (clamClient .scanWithResult (any (Path .class ))).thenReturn (result2 );
195
194
196
195
Model model = job .getWritableModel ();
197
196
Bag depBag = model .createBag (depositPid .getRepositoryPath ());
0 commit comments