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