def test_error_io_bounds(self):
     d = netlogon.Decoder()
     s = 'foo'
     d.start(s)
     d._set_offset(4)
     assert_raises(netlogon.Error, d._read_byte)
     assert_raises(netlogon.Error, d._read_bytes, 4)
 def test_error_io_byte(self):
     d = netlogon.Decoder()
     s = 'foo'
     d.start(s)
     for i in range(3):
         d._read_byte()
     assert_raises(netlogon.Error, d._read_byte)
 def test_io_byte(self):
     d = netlogon.Decoder()
     s = 'foo'
     d.start(s)
     assert d._read_byte() == 'f'
     assert d._read_byte() == 'o'
     assert d._read_byte() == 'o'
 def test_io_byte(self):
     d = netlogon.Decoder()
     s = b'foo'
     d.start(s)
     assert d._read_byte() == ord('f')
     assert d._read_byte() == ord('o')
     assert d._read_byte() == ord('o')
 def test_error_io_type(self):
     d = netlogon.Decoder()
     assert_raises(netlogon.Error, d.start, 1)
     assert_raises(netlogon.Error, d.start, 1L)
     assert_raises(netlogon.Error, d.start, ())
     assert_raises(netlogon.Error, d.start, [])
     assert_raises(netlogon.Error, d.start, {})
     assert_raises(netlogon.Error, d.start, u'test')
 def test_real_packet(self, conf):
     buf = conf.read_file('protocol/netlogon.bin')
     dec = netlogon.Decoder()
     dec.start(buf)
     res = dec.parse()
     assert res.forest == 'freeadi.org'
     assert res.domain == 'freeadi.org'
     assert res.client_site == 'Default-First-Site'
     assert res.server_site == 'Test-Site'
 def test_error_io_type(self):
     d = netlogon.Decoder()
     assert_raises(netlogon.Error, d.start, 1)
     assert_raises(netlogon.Error, d.start, 1)
     assert_raises(netlogon.Error, d.start, ())
     assert_raises(netlogon.Error, d.start, [])
     assert_raises(netlogon.Error, d.start, {})
     if six.PY3:
         assert_raises(netlogon.Error, d.start, b'test')
     else:
         assert_raises(netlogon.Error, d.start, u'test')
 def test_real_packet(self):
     fname = os.path.join(self.basedir(),
                          'lib/activedirectory/protocol/test',
                          'netlogon.bin')
     fin = file(fname)
     buf = fin.read()
     fin.close()
     dec = netlogon.Decoder()
     dec.start(buf)
     res = dec.parse()
     assert res.forest == 'freeadi.org'
     assert res.domain == 'freeadi.org'
     assert res.client_site == 'Default-First-Site'
     assert res.server_site == 'Test-Site'
def decode_rfc1035(buffer, offset):
    d = netlogon.Decoder()
    d.start(buffer)
    d._set_offset(offset)
    return d._decode_rfc1035(), d._offset()
def decode_uint32(buffer, offset):
    d = netlogon.Decoder()
    d.start(buffer)
    d._set_offset(offset)
    return d._decode_uint32(), d._offset()
 def test_error_short_input(self):
     buf = 'x' * 24
     dec = netlogon.Decoder()
     dec.start(buf)
     assert_raises(netlogon.Error, dec.parse)
 def test_error_negative_offset(self):
     d = netlogon.Decoder()
     s = 'foo'
     d.start(s)
     assert_raises(netlogon.Error, d._set_offset, -1)
 def test_error_io_bytes(self):
     d = netlogon.Decoder()
     s = 'foo'
     d.start(s)
     assert_raises(netlogon.Error, d._read_bytes, 4)
 def test_io_bytes(self):
     d = netlogon.Decoder()
     s = b'foo'
     d.start(s)
     assert d._read_bytes(3) == b'foo'