11import  { RmRecordDecoder }  from  '../../rm' ; 
2- import  { RpcMessage }  from  '../messages' ; 
2+ import  { RpcAcceptedReplyMessage ,   RpcAcceptStat ,   RpcCallMessage ,   RpcMessage }  from  '../messages' ; 
33import  { RpcMessageDecoder }  from  '../RpcMessageDecoder' ; 
44
55const  rmDecoder  =  new  RmRecordDecoder ( ) ; 
@@ -20,9 +20,29 @@ const nfs3LookupCallHex =
2020  '80000090eb8a42cb0000000000000002000186a30000000300000003000000010000003c00490e680000001d455042594d494e573039333554312e6d696e736b2e6570616d2e636f6d000000000001f40000000a000000020000000a000001f400000000000000000000001c9725bb51046621880c000000a68c020078286c3e00000000000000000000000568656c6c6f000000' ; 
2121const  nfs3AccessCallHex  = 
2222  '80000088ea8a42cb0000000000000002000186a30000000300000004000000010000003c00490e680000001d455042594d494e573039333554312e6d696e736b2e6570616d2e636f6d000000000001f40000000a000000020000000a000001f400000000000000000000001c9725bb51046621880c000000a68c020078286c3e00000000000000000000001f' ; 
23+ const  nfs3RaddirplusReplyHex  = 
24+   '800001b4ed8a42cb0000000100000000000000000000000000000000000000000000000100000002000001ed00000002000001f400000000000000000000020000000000000008000000003c000a009700000000000000410000000000028ca651ed1cc20000000051ed1cb00000000051ed1cb0000000000000000000000f59000000010000000000028ca6000000012e000000000000000000000c0000000100000002000001ed00000002000001f400000000000000000000020000000000000008000000003c000a009700000000000000410000000000028ca651ed1cc20000000051ed1cb00000000051ed1cb000000000000000010000001c9725bb51046621880c000000a68c020078286c3e0000000000000000000000010000000000012665000000022e2e000000000000000002000000000100000002000001ff00000005000003ea000000000000000000000200000000000000080000000096000400df0000000000000041000000000001266551ec763d0000000051e69ed20000000051e69ed200000000000000010000001c9725bb51046621880c000000652601008072c43300000000000000000000000000000001' ; 
2325
24- test ( 'RPC Call' ,  ( )  =>  { 
25-   const  msg  =  decode ( nfs3LookupCallHex ) ! ; 
26+ test ( 'RPC Call LOOKUP ' ,  ( )  =>  { 
27+   const  msg  =  decode ( nfs3LookupCallHex )   as   RpcCallMessage ; 
2628  expect ( msg . xid ) . toBe ( 0xeb8a42cb ) ; 
27-   // console.log(msg); 
29+   expect ( msg . rpcvers ) . toBe ( 2 ) ; 
30+   expect ( msg . prog ) . toBe ( 100003 ) ; 
31+   expect ( msg . vers ) . toBe ( 3 ) ; 
32+   expect ( msg . proc ) . toBe ( 3 ) ; 
33+ } ) ; 
34+ 
35+ test ( 'RPC Call ACCESS' ,  ( )  =>  { 
36+   const  msg  =  decode ( nfs3AccessCallHex )  as  RpcCallMessage ; 
37+   expect ( msg . xid ) . toBe ( 0xea8a42cb ) ; 
38+   expect ( msg . rpcvers ) . toBe ( 2 ) ; 
39+   expect ( msg . prog ) . toBe ( 100003 ) ; 
40+   expect ( msg . vers ) . toBe ( 3 ) ; 
41+   expect ( msg . proc ) . toBe ( 4 ) ; 
42+ } ) ; 
43+ 
44+ test ( 'RPC Reply READDIRPLUS' ,  ( )  =>  { 
45+   const  msg  =  decode ( nfs3RaddirplusReplyHex )  as  RpcAcceptedReplyMessage ; 
46+   expect ( msg . xid ) . toBe ( 3985261259 ) ; 
47+   expect ( msg . stat ) . toBe ( RpcAcceptStat . SUCCESS ) ; 
2848} ) ; 
0 commit comments