def setUp(self): self.propulsion_key = SettingsKeys.PROPULSION self.udp_key = SettingsKeys.UDP # key, data self.propulsion_serial_port = (SettingsSerialEntity.PORT, "/dev/ttyUSB0") self.propulsion_serial_baudrate = (SettingsSerialEntity.BAUDRATE, 115200) self.propulsion_serial_channel = (SettingsSerialEntity.CHANNEL, "propulsion") self.udp_server_ip = (SettingsUDPEntity.IP, "127.0.0.1") self.udp_server_port = (SettingsUDPEntity.PORT, 5000) self.udp_server_channel = (SettingsUDPEntity.CHANNEL, "UDPServer") #compare self.propulsion_dict = {} add_to_dict(self.propulsion_dict, *self.propulsion_serial_port) add_to_dict(self.propulsion_dict, *self.propulsion_serial_baudrate) add_to_dict(self.propulsion_dict, *self.propulsion_serial_channel) self.udp_dict = {} add_to_dict(self.udp_dict, *self.udp_server_ip) add_to_dict(self.udp_dict, *self.udp_server_port) add_to_dict(self.udp_dict, *self.udp_server_channel) #serial and udp entities self.propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) self.udp_entity = SettingsUDPEntity(key=self.udp_key)
def setUp(self): self.propulsion_settings = SettingsSerialEntity( SettingsKeys.PROPULSION) self.manipulator_settings = SettingsSerialEntity( SettingsKeys.MANIPULATOR) self.udp_settings = SettingsUDPEntity(SettingsKeys.UDP) self.settings_list = [ self.propulsion_settings, self.manipulator_settings, self.udp_settings ] self.mock_settings_manager = SettingsManagerMock( "test_settings.json", self.settings_list) self.mock_settings_manager.save() self.mock_settings_manager.load() self.json_str_test = self.mock_settings_manager.json_string self.json_dict_test = json.loads(self.json_str_test) self.loader_params = { SettingsKeys.PROPULSION: SettingsSerialEntity, SettingsKeys.MANIPULATOR: SettingsSerialEntity, SettingsKeys.UDP: SettingsUDPEntity, SettingsKeys.CONTAINERS: SettingsSerialEntity } self.loader = SettingsLoader("test_settings.json", self.loader_params) self.loader._file_exists = MagicMock(return_value=True) self.loader._open_file_get_json_dict = MagicMock( return_value=self.json_dict_test)
class TestSettingsManager(unittest.TestCase): def setUp(self): self.propulsion_key = SettingsKeys.PROPULSION self.udp_key = SettingsKeys.UDP # key, data self.propulsion_serial_port = (SettingsSerialEntity.PORT, "/dev/ttyUSB0") self.propulsion_serial_baudrate = (SettingsSerialEntity.BAUDRATE, 115200) self.propulsion_serial_channel = (SettingsSerialEntity.CHANNEL, "propulsion") self.udp_server_ip = (SettingsUDPEntity.IP, "127.0.0.1") self.udp_server_port = (SettingsUDPEntity.PORT, 5000) self.udp_server_channel = (SettingsUDPEntity.CHANNEL, "UDPServer") #compare self.propulsion_dict = {} add_to_dict(self.propulsion_dict, *self.propulsion_serial_port) add_to_dict(self.propulsion_dict, *self.propulsion_serial_baudrate) add_to_dict(self.propulsion_dict, *self.propulsion_serial_channel) self.udp_dict = {} add_to_dict(self.udp_dict, *self.udp_server_ip) add_to_dict(self.udp_dict, *self.udp_server_port) add_to_dict(self.udp_dict, *self.udp_server_channel) #serial and udp entities self.propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) self.udp_entity = SettingsUDPEntity(key=self.udp_key) def test_load_default_settings(self): manager = SettingsManagerMock("settings.json") manager.add_entity(self.propulsion_entity) manager.load() data = self.propulsion_entity.get_settings_entity_dict() self.assertDictEqual(self.propulsion_entity.default_settings, data[SettingsKeys.PROPULSION]) def test_save_default_settings(self): manager = SettingsManagerMock("settings.json") manager.add_entity(self.propulsion_entity) manager.add_entity(self.udp_entity) manager.save() self.assertTrue(manager.json_string) def test_settings_manager(self): manager = SettingsManager("test_settings.json") manager.add_entity(self.propulsion_entity) manager.add_entity(self.udp_entity) manager.save() manager.load() self.assertTrue((self.udp_entity.get_settings_entity_dict() and self.propulsion_entity.get_settings_entity_dict())) def test_getting_propulsion_from_entities_list(self): entities = [self.udp_entity, self.propulsion_entity] entity = get_settings_entity_from_list(entities, SettingsKeys.PROPULSION) self.assertEqual(self.propulsion_entity, entity)
def test_create_manipulator_entity_and_check_correctness(self): manipulator_entity = SettingsSerialEntity(key=self.manipulator_key) manipulator_entity.add_entry(*self.manipulator_serial_port) manipulator_entity.add_entry(*self.manipulator_serial_baudrate) manipulator_entity.add_entry(*self.manipulator_serial_channel) self.assertDictEqual(self.manipulator_dict, manipulator_entity.settings)
def __init__(self): super(Main, self).__init__() self.propulsion_settings = SettingsSerialEntity( SettingsKeys.PROPULSION) self.manipulator_settings = SettingsSerialEntity( SettingsKeys.MANIPULATOR) self.containers_settings = SettingsSerialEntity( SettingsKeys.CONTAINERS) self.udp_settings = SettingsUDPEntity(SettingsKeys.UDP) self.tcp_updater_settings = SettingsUpdaterTCPServer( SettingsKeys.TCP_UPDATER_SERVER) self.updater_settings = SettingsUpdaterEntity(SettingsKeys.UPDATER) self.settings_entities = [ self.propulsion_settings, self.manipulator_settings, self.udp_settings, self.tcp_updater_settings, self.updater_settings, self.containers_settings ] self.settings_manager = SettingsManager("settings.json") self.settings_manager.add_entity(self.settings_entities) self.settings_manager.load() device_wholesaler = DeviceWholesale(self, [ self.propulsion_settings, self.manipulator_settings, self.containers_settings ]) self.devices = device_wholesaler.sell_all() self.controller = DispatchController(self.devices) self.server = UDPReceiver.UDPReceiver( controller=self.controller, udp_sett_entity=self.udp_settings).register(self) self.tcp_updater = UpdaterTCPServer( self.tcp_updater_settings).register(self) self._register_udp_server_as_observer_to_devices()
def _create_settings(self): containers_settings = SettingsSerialEntity(key=SettingsKeys.CONTAINERS) containers_settings.add_entries(self.data.containers_dict) return containers_settings
def test_compare_settings_serial_entity_to_serial_settings_entity_from_setup( self): propulsion = SettingsSerialEntity(SettingsKeys.PROPULSION) self.assertFalse(propulsion == self.propulsion_settings)
def create_containers_settings_entity(self): containers = SettingsSerialEntity(key=self.containers_key) containers.add_entries(self.containers_dict) return containers
def test_get_serial_non_existing_entry_expect_return_default(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) propulsion_entity.add_entry(*self.propulsion_serial_port) self.assertTrue( propulsion_entity.get_entry(SettingsSerialEntity.CHANNEL))
def test_get_serial_non_existing_port(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) self.assertFalse(propulsion_entity.get_entry( SettingsSerialEntity.PORT))
def test_create_propulsion_entries_and_check_correctness(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) propulsion_entity.add_entries(self.propulsion_dict) self.assertDictEqual(self.propulsion_dict, propulsion_entity.settings)
def test_get_serial_existing_entry(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) propulsion_entity.add_entry(*self.propulsion_serial_port) self.assertEqual( self.propulsion_dict[SettingsSerialEntity.PORT], propulsion_entity.get_entry(SettingsSerialEntity.PORT))
def _create_propulsion_settings_entity(self): propulsion = SettingsSerialEntity(key=self.propulsion_key) propulsion.add_entries(self.propulsion_dict) return propulsion
def test_create_propulsion_entity_and_check_correctness(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) propulsion_entity.add_entry(*self.propulsion_serial_port) propulsion_entity.add_entry(*self.propulsion_serial_baudrate) propulsion_entity.add_entry(*self.propulsion_serial_channel) self.assertDictEqual(self.propulsion_dict, propulsion_entity.settings)
def test_getting_dict_if_no_value_entered_expect_default(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) self.assertTrue(propulsion_entity.get_settings())
def test_getting_dict_if_all_elements_entered(self): propulsion_entity = SettingsSerialEntity(key=self.propulsion_key) propulsion_entity.add_entries(self.propulsion_dict) self.assertDictEqual(self.propulsion_dict, propulsion_entity.get_settings())
def _create_manipulator_settings_entity(self): manipulator = SettingsSerialEntity(key=self.manipulator_key) manipulator.add_entries(self.manipulator_dict) return manipulator