Class: Rex::Proto::DCERPC::UUID::UnitTest

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
lib/rex/proto/dcerpc/uuid.rb.ut.rb

Constant Summary collapse

Klass =
Rex::Proto::DCERPC::UUID

Instance Method Summary collapse

Instance Method Details

#test_is_uuidObject



13
14
15
16
17
18
19
20
# File 'lib/rex/proto/dcerpc/uuid.rb.ut.rb', line 13

def test_is_uuid
	assert(Klass.is?('afa8bd80-7d8a-11c9-bef4-08002b102989'), 'valid')
	assert(!Klass.is?('afa8bd80-7d8a-11c9-bef4-08002b10298'), 'too short')
	assert(!Klass.is?('afa8bd80-7d8a-11c9-bef4-08002b10298Z'), 'invalid character')
	assert(!Klass.is?('afa8bd80-7d8a-11c9-bef4a08002b10298a'), 'missing dash')
	assert(!Klass.is?('afa8bd80-7d8a-11c9-bef-a08002b10298a'), 'dash in wrong place')
	assert_raise(Rex::ArgumentError, 'pack - too short') { Klass.is?(nil) }
end

#test_lookupObject



22
23
24
25
26
27
# File 'lib/rex/proto/dcerpc/uuid.rb.ut.rb', line 22

def test_lookup
	assert_equal(Klass.uuid_by_name('MGMT'), 'afa8bd80-7d8a-11c9-bef4-08002b102989', 'uuid_by_name')
	assert_equal(Klass.vers_by_name('MGMT'), '2.0', 'vers_by_name')
	assert(!Klass.uuid_by_name('NO_SUCH_UUID'), 'uuid_by_name - invalid')
	assert(!Klass.vers_by_name('NO_SUCH_UUID'), 'vers_by_name - invalid')
end

#test_packingObject



29
30
31
32
33
34
35
# File 'lib/rex/proto/dcerpc/uuid.rb.ut.rb', line 29

def test_packing
	uuid = '367abb81-9844-35f1-ad32-98f038001003'
	assert_equal(Klass.uuid_pack(uuid), "\201\273z6D\230\3615\2552\230\3608\000\020\003", 'pack')
	assert_equal(Klass.uuid_unpack("\201\273z6D\230\3615\2552\230\3608\000\020\003"), uuid, 'unpack')
	assert_raise(Rex::ArgumentError, 'pack - too short') { Klass.uuid_pack('foo') }
	assert_raise(Rex::ArgumentError, 'unpack - too short') { Klass.uuid_unpack('foo') }
end

#test_versObject



42
43
44
45
# File 'lib/rex/proto/dcerpc/uuid.rb.ut.rb', line 42

def test_vers
	assert_equal(Klass.vers_to_nums('2.0'), [2, 0], 'vers_to_nums')
	assert_equal(Klass.vers_to_nums('2'), [2, 0], 'vers_to_nums (short)')
end

#test_xferObject



37
38
39
40
# File 'lib/rex/proto/dcerpc/uuid.rb.ut.rb', line 37

def test_xfer
	assert_equal(Klass.xfer_syntax_uuid(), "\004]\210\212\353\034\311\021\237\350\010\000+\020H`", 'xfer_syntax_uuid')
	assert_equal(Klass.xfer_syntax_vers(), '2.0', 'xfer_syntax_vers')
end