blob: ea08f4db3424d45c11aa0f28153f60c88f51eee0 [file] [log] [blame]
% Test mount layer
####################
####################
+ Packet Creation Tests
= Create subpackets
Path()
File_Object()
= Create Mount Calls
NULL_Call()
MOUNT_Call()
UNMOUNT_Call()
= Create Successful Mount Replies
MOUNT_Reply(status=0)
= Create Failed Mount Replies
MOUNT_Reply(status=1)
+ RPC Layer bindings tests
= Layer Bindings for Mount Calls
from scapy.contrib.oncrpc import *
pkt = RPC()/RPC_Call()/NULL_Call()
assert (pkt.mtype, pkt.program, pkt.pversion, pkt.procedure) == (0, 100005, 3, 0)
pkt = RPC()/RPC_Call()/MOUNT_Call()
assert (pkt.mtype, pkt.program, pkt.pversion, pkt.procedure) == (0, 100005, 3, 1)
pkt = RPC()/RPC_Call()/UNMOUNT_Call()
assert (pkt.mtype, pkt.program, pkt.pversion, pkt.procedure) == (0, 100005, 3, 3)
= Layer Bindings for Mount Replies
from scapy.contrib.oncrpc import *
pkt = RPC()/RPC_Reply()/NULL_Reply()
assert pkt.mtype == 1
pkt = RPC()/RPC_Reply()/MOUNT_Reply()
assert pkt.mtype == 1
pkt = RPC()/RPC_Reply()/UNMOUNT_Reply()
assert pkt.mtype == 1
+ Test Built Packets vs Raw Strings
= Mount calls vs Raw strings
pkt = MOUNT_Call(
path=Path(
length=4,
path='path'
)
)
assert bytes(pkt) == b'\x00\x00\x00\x04path'
pkt = UNMOUNT_Call(
path=Path(
length=4,
path='path'
)
)
assert bytes(pkt) == b'\x00\x00\x00\x04path'
= Mount replies vs Raw Strings
pkt = MOUNT_Reply(
status=0,
filehandle=File_Object(
length=4,
fh='file'
),
flavors=3,
flavor=[
0,0,0
]
)
assert bytes(pkt) == b'\x00\x00\x00\x00\x00\x00\x00\x04file\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'