120 lines
5.0 KiB
Python
120 lines
5.0 KiB
Python
import unittest
|
|
|
|
from mock import patch, Mock
|
|
|
|
import secondodb.api.secondoapi as api
|
|
import secondodb.api.support.secondoinputhandler as handler
|
|
from secondodb.api.support.secondolistexpr import ListExp
|
|
|
|
|
|
class TestInputHandler(unittest.TestCase):
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
def test_build_list_expr_from_binary_bad_signature(self, mocked_read_string):
|
|
|
|
mocked_read_string.return_value = 'bad_string'
|
|
mocked_socket = Mock()
|
|
|
|
with self.assertRaises(api.InterfaceError):
|
|
handler.build_list_expr_from_binary(mocked_socket)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_short")
|
|
def test_build_list_expr_from_binary_bad_version(self, mocked_read_short, mocked_read_string):
|
|
|
|
mocked_read_string.return_value = 'bnl'
|
|
mocked_read_short.return_value = 9
|
|
mocked_socket = Mock()
|
|
|
|
with self.assertRaises(api.InterfaceError):
|
|
handler.build_list_expr_from_binary(mocked_socket)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_int")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_int(self, mocked_read_byte, mocked_read_int):
|
|
|
|
mocked_read_byte.return_value = [1]
|
|
mocked_read_int.return_value = 25
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_real")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_real(self, mocked_read_byte, mocked_read_real):
|
|
|
|
mocked_read_byte.return_value = [2]
|
|
mocked_read_real.return_value = 2.1244
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_int")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_longstring(self, mocked_read_byte, mocked_read_int, mocked_read_string):
|
|
|
|
mocked_read_byte.return_value = [4]
|
|
mocked_read_int.return_value = 10
|
|
mocked_read_string.return_value = 'abcdeefghi'
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_int")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_longsymbol(self, mocked_read_byte, mocked_read_int, mocked_read_string):
|
|
|
|
mocked_read_byte.return_value = [5]
|
|
mocked_read_int.return_value = 10
|
|
mocked_read_string.return_value = 'abcdeefghi'
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_int")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_longtext(self, mocked_read_byte, mocked_read_int, mocked_read_string):
|
|
|
|
mocked_read_byte.return_value = [6]
|
|
mocked_read_int.return_value = 10
|
|
mocked_read_string.return_value = 'abcdeefghi'
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_short")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_int(self, mocked_read_byte, mocked_read_short):
|
|
|
|
mocked_read_byte.return_value = [12]
|
|
mocked_read_short.return_value = 25
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_short")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_string(self, mocked_read_byte, mocked_read_short, mocked_read_string):
|
|
|
|
mocked_read_byte.return_value = [14]
|
|
mocked_read_short.return_value = 10
|
|
mocked_read_string.return_value = 'abcdeefghi'
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp)
|
|
|
|
@patch("secondodb.api.support.secondoinputhandler.read_string")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_short")
|
|
@patch("secondodb.api.support.secondoinputhandler.read_byte")
|
|
def test_read_binary_record_symbol(self, mocked_read_byte, mocked_read_short, mocked_read_string):
|
|
|
|
mocked_read_byte.return_value = [16]
|
|
mocked_read_short.return_value = 10
|
|
mocked_read_string.return_value = 'abcdeefghi'
|
|
mocked_socket = Mock()
|
|
|
|
self.assertIsInstance(handler.read_binary_record(mocked_socket), ListExp) |