18
18
19
19
import static org .hamcrest .CoreMatchers .is ;
20
20
import static org .junit .Assert .assertThat ;
21
+ import static org .junit .Assert .assertTrue ;
21
22
22
23
import java .io .File ;
23
24
import java .io .IOException ;
25
+ import java .lang .reflect .Field ;
24
26
import java .util .ArrayList ;
25
- import java .util .List ;
27
+ import java .util .Map ;
26
28
27
29
import org .junit .Rule ;
28
30
import org .junit .Test ;
29
31
import org .junit .rules .TemporaryFolder ;
30
32
31
33
import org .springframework .integration .file .filters .FileListFilter ;
34
+ import org .springframework .integration .test .util .TestUtils ;
32
35
33
36
/**
34
37
* @author Iwein Fuld
38
+ * @author Gary Russell
35
39
*/
36
40
public class NioFileLockerTests {
37
41
@@ -46,25 +50,31 @@ public void create() throws IOException {
46
50
}
47
51
};
48
52
49
- @ Test
50
- public void fileListedByFirstFilter () throws IOException {
51
- NioFileLocker filter = new NioFileLocker ();
52
- File testFile = new File (workdir , "test0" );
53
- testFile .createNewFile ();
54
- assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
55
- filter .lock (testFile );
56
- assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
57
- }
53
+ @ Test
54
+ public void fileListedByFirstFilter () throws Exception {
55
+ NioFileLocker filter = new NioFileLocker ();
56
+ File testFile = new File (workdir , "test0" );
57
+ testFile .createNewFile ();
58
+ assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
59
+ filter .lock (testFile );
60
+ assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
61
+ filter .unlock (testFile );
62
+ Field channelCache = FileChannelCache .class .getDeclaredField ("channelCache" );
63
+ channelCache .setAccessible (true );
64
+ assertTrue (((Map <?, ?>) channelCache .get (null )).isEmpty ());
65
+ assertTrue (TestUtils .getPropertyValue (filter , "lockCache" , Map .class ).isEmpty ());
66
+ }
58
67
59
- @ Test
60
- public void fileNotListedWhenLockedByOtherFilter () throws IOException {
61
- NioFileLocker filter1 = new NioFileLocker ();
62
- FileListFilter <File > filter2 = new NioFileLocker ();
63
- File testFile = new File (workdir , "test1" );
64
- testFile .createNewFile ();
65
- assertThat (filter1 .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
66
- filter1 .lock (testFile );
67
- assertThat (filter2 .filterFiles (workdir .listFiles ()), is ((List <File >) new ArrayList <File >()));
68
- }
68
+ @ Test
69
+ public void fileNotListedWhenLockedByOtherFilter () throws IOException {
70
+ NioFileLocker filter1 = new NioFileLocker ();
71
+ FileListFilter <File > filter2 = new NioFileLocker ();
72
+ File testFile = new File (workdir , "test1" );
73
+ testFile .createNewFile ();
74
+ assertThat (filter1 .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
75
+ filter1 .lock (testFile );
76
+ assertThat (filter2 .filterFiles (workdir .listFiles ()), is (new ArrayList <File >()));
77
+ filter1 .unlock (testFile );
78
+ }
69
79
70
80
}
0 commit comments