Skip to content

Commit 5138fd7

Browse files
committed
test: fix OperationREADTest OperationWRITETest (commit b61b2e3)
1 parent b61b2e3 commit 5138fd7

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

core/src/test/java/org/dcache/nfs/v4/OperationREADTest.java

+21
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.net.UnknownHostException;
55
import org.dcache.nfs.ChimeraNFSException;
66
import org.dcache.nfs.v4.xdr.COMPOUND4args;
7+
import org.dcache.nfs.v4.xdr.nfs4_prot;
78
import org.dcache.nfs.v4.xdr.nfs_fh4;
89
import org.dcache.nfs.vfs.Inode;
910
import org.junit.Test;
@@ -48,6 +49,15 @@ public void testLeaseUpdateForV40Client() throws UnknownHostException, ChimeraNF
4849

4950
stateid4 stateid = mock(stateid4.class);
5051
NFSv4StateHandler stateHandler = mock(NFSv4StateHandler.class);
52+
NFS4Client client = mock(NFS4Client.class);
53+
NFSv41Session session = mock(NFSv41Session.class);
54+
FileTracker fileTracker = mock(FileTracker.class);
55+
56+
when(stateHandler.getFileTracker()).thenReturn(fileTracker);
57+
when(fileTracker.getShareAccess(any(), any(), any())).thenReturn(nfs4_prot.OPEN4_SHARE_ACCESS_READ);
58+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
59+
when(session.getClient()).thenReturn(client);
60+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
5161

5262
when(vfs.getattr(any())).thenReturn(fileStat);
5363
when(vfs.read(any(), any(), anyLong(), anyInt()))
@@ -65,6 +75,7 @@ public void testLeaseUpdateForV40Client() throws UnknownHostException, ChimeraNF
6575
.withCall(generateRpcCall())
6676
.build();
6777

78+
context.setSession(session);
6879
execute(context, readArgs);
6980
verify(stateHandler, times(1)).updateClientLeaseTime(stateid);
7081
}
@@ -74,6 +85,15 @@ public void testNoLeaseUpdateForV41Client() throws UnknownHostException, Chimera
7485

7586
stateid4 stateid = mock(stateid4.class);
7687
NFSv4StateHandler stateHandler = mock(NFSv4StateHandler.class);
88+
NFS4Client client = mock(NFS4Client.class);
89+
NFSv41Session session = mock(NFSv41Session.class);
90+
FileTracker fileTracker = mock(FileTracker.class);
91+
92+
when(stateHandler.getFileTracker()).thenReturn(fileTracker);
93+
when(fileTracker.getShareAccess(any(), any(), any())).thenReturn(nfs4_prot.OPEN4_SHARE_ACCESS_READ);
94+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
95+
when(session.getClient()).thenReturn(client);
96+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
7797

7898
when(vfs.getattr(any())).thenReturn(fileStat);
7999
when(vfs.read(any(), any(), anyLong(), anyInt()))
@@ -91,6 +111,7 @@ public void testNoLeaseUpdateForV41Client() throws UnknownHostException, Chimera
91111
.withCall(generateRpcCall())
92112
.build();
93113

114+
context.setSession(session);
94115
execute(context, readArgs);
95116
verify(stateHandler, never()).updateClientLeaseTime(stateid);
96117
}

core/src/test/java/org/dcache/nfs/v4/OperationWRITETest.java

+32
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.net.UnknownHostException;
55
import org.dcache.nfs.ChimeraNFSException;
66
import org.dcache.nfs.v4.xdr.COMPOUND4args;
7+
import org.dcache.nfs.v4.xdr.nfs4_prot;
78
import org.dcache.nfs.v4.xdr.nfs_fh4;
89
import org.dcache.nfs.vfs.Inode;
910
import org.junit.Test;
@@ -51,6 +52,15 @@ public void testLeaseUpdateForV40Client() throws UnknownHostException, ChimeraNF
5152

5253
stateid4 stateid = mock(stateid4.class);
5354
NFSv4StateHandler stateHandler = mock(NFSv4StateHandler.class);
55+
NFS4Client client = mock(NFS4Client.class);
56+
NFSv41Session session = mock(NFSv41Session.class);
57+
FileTracker fileTracker = mock(FileTracker.class);
58+
59+
when(stateHandler.getFileTracker()).thenReturn(fileTracker);
60+
when(fileTracker.getShareAccess(any(), any(), any())).thenReturn(nfs4_prot.OPEN4_SHARE_ACCESS_WRITE);
61+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
62+
when(session.getClient()).thenReturn(client);
63+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
5464

5565
when(vfs.getattr(any())).thenReturn(fileStat);
5666
when(vfs.write(any(), any(), anyLong(), any()))
@@ -68,6 +78,7 @@ public void testLeaseUpdateForV40Client() throws UnknownHostException, ChimeraNF
6878
.withCall(generateRpcCall())
6979
.build();
7080

81+
context.setSession(session);
7182
execute(context, writeArgs);
7283
verify(stateHandler, times(1)).updateClientLeaseTime(stateid);
7384
}
@@ -77,6 +88,15 @@ public void testNoLeaseUpdateForV41Client() throws UnknownHostException, Chimera
7788

7889
stateid4 stateid = mock(stateid4.class);
7990
NFSv4StateHandler stateHandler = mock(NFSv4StateHandler.class);
91+
NFS4Client client = mock(NFS4Client.class);
92+
NFSv41Session session = mock(NFSv41Session.class);
93+
FileTracker fileTracker = mock(FileTracker.class);
94+
95+
when(stateHandler.getFileTracker()).thenReturn(fileTracker);
96+
when(fileTracker.getShareAccess(any(), any(), any())).thenReturn(nfs4_prot.OPEN4_SHARE_ACCESS_WRITE);
97+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
98+
when(session.getClient()).thenReturn(client);
99+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
80100

81101
when(vfs.getattr(any())).thenReturn(fileStat);
82102
when(vfs.write(any(), any(), anyLong(), any()))
@@ -94,6 +114,7 @@ public void testNoLeaseUpdateForV41Client() throws UnknownHostException, Chimera
94114
.withCall(generateRpcCall())
95115
.build();
96116

117+
context.setSession(session);
97118
execute(context, writeArgs);
98119
verify(stateHandler, never()).updateClientLeaseTime(stateid);
99120
}
@@ -103,6 +124,16 @@ public void testReturnWriteVerifier() throws UnknownHostException, ChimeraNFSExc
103124

104125
stateid4 stateid = mock(stateid4.class);
105126
NFSv4StateHandler stateHandler = mock(NFSv4StateHandler.class);
127+
NFS4Client client = mock(NFS4Client.class);
128+
NFSv41Session session = mock(NFSv41Session.class);
129+
FileTracker fileTracker = mock(FileTracker.class);
130+
131+
when(stateHandler.getFileTracker()).thenReturn(fileTracker);
132+
when(fileTracker.getShareAccess(any(), any(), any())).thenReturn(nfs4_prot.OPEN4_SHARE_ACCESS_WRITE);
133+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
134+
when(session.getClient()).thenReturn(client);
135+
when(stateHandler.getClientIdByStateId(any())).thenReturn(client);
136+
106137
verifier4 verifier = mock(verifier4.class);
107138

108139
when(vfs.getattr(any())).thenReturn(fileStat);
@@ -121,6 +152,7 @@ public void testReturnWriteVerifier() throws UnknownHostException, ChimeraNFSExc
121152
.withRebootVerifier(verifier)
122153
.withCall(generateRpcCall())
123154
.build();
155+
context.setSession(session);
124156

125157
COMPOUND4res res = execute(context, writeArgs);
126158
assertSame(verifier, res.resarray.get(1).opwrite.resok4.writeverf);

0 commit comments

Comments
 (0)