def test_no_stream_name(self, server_stream_plugin_mock_mock, broker_class_mock): """Tests that a ValueError is raised when creating a stream with no name specified in the config""" config = { "input": "some_stream", "handlers": [{ "name": "some-handler" }] } server = Server() with pytest.raises( cfg.AitConfigMissing, match="The parameter stream name is missing from config.yaml", ): server._get_stream_name(config)
def test_handler_creation_with_configs(self, server_init_mock, broker_mock): """ Tests handler is successfully created when it has configs """ server = Server() # config = {'name': 'ait.core.server.handlers.example_handler', 'input_type': 'int', 'output_type': 'int'} config = { 'name': 'ait.core.server.handler.PacketHandler', 'input_type': 'int', 'output_type': 'int', 'packet': 'CCSDS_HEADER' } handler = server._create_handler(config) assert type(handler) == ait.core.server.handler.PacketHandler assert handler.input_type == 'int' assert handler.output_type == 'int'
def test_handler_creation_with_configs(self, server_stream_plugin_mock_mock, broker_mock): """Tests handler is successfully created when it has configs""" server = Server() # config = {'name': 'ait.core.server.handlers.example_handler', 'input_type': 'int', 'output_type': 'int'} config = { "name": "ait.core.server.handlers.PacketHandler", "input_type": "int", "output_type": "int", "packet": "CCSDS_HEADER", } handler = server._create_handler(config) assert type(handler) == ait.core.server.handlers.PacketHandler assert handler.input_type == "int" assert handler.output_type == "int"
def test_no_inbound_stream_input(self, create_handler_mock, server_init_mock, broker_class_mock): """ Tests that a ValueError is raised when creating a stream with no input specified in the config """ server = Server() config = { 'name': 'some_stream', 'handlers': [{ 'name': 'some-handler' }] } with assert_raises_regexp( cfg.AitConfigMissing, 'The parameter {} is missing from config.yaml'.format( 'inbound stream {}\'s input'.format('some_stream'))): server._create_inbound_stream(config)
def test_no_inbound_stream_input(self, create_handler_mock, server_stream_plugin_mock_mock, broker_class_mock): """Tests that a ValueError is raised when creating a stream with no input specified in the config""" server = Server() config = { "name": "some_stream", "handlers": [{ "name": "some-handler" }] } with pytest.raises( cfg.AitConfigMissing, match="The parameter {} is missing from config.yaml".format( "inbound stream {}'s input".format("some_stream")), ): server._create_inbound_stream(config)
def test_duplicate_stream_name(self, server_stream_plugin_mock_mock, broker_class_mock): """Tests that a ValueError is raised when creating a stream with a name that already belongs to another stream or plugin""" server = Server() config = { "input": ["some_stream"], "name": "myname", "handlers": [{ "name": "some-handler" }], } # Testing existing name in plugins server.plugins = [FakeStream(name="myname")] with pytest.raises( ValueError, match=('Duplicate stream name "{}" encountered.' " Stream names must be unique.").format("myname"), ): server._get_stream_name(config) # Testing existing name in inbound_streams server.plugins = [] server.inbound_streams = [FakeStream(name="myname")] with pytest.raises( ValueError, match=('Duplicate stream name "{}" encountered.' " Stream names must be unique.").format("myname"), ): server._get_stream_name(config) # Testing existing name in outbound_streams server.inbound_streams = [] server.outbound_streams = [FakeStream(name="myname")] with pytest.raises( ValueError, match=('Duplicate stream name "{}" encountered.' " Stream names must be unique.").format("myname"), ): server._get_stream_name(config)
def test_duplicate_stream_name(self, server_init_mock, broker_class_mock): """ Tests that a ValueError is raised when creating a stream with a name that already belongs to another stream or plugin """ server = Server() config = { 'input': ['some_stream'], 'name': 'myname', 'handlers': [{ 'name': 'some-handler' }] } # Testing existing name in plugins server.plugins = [FakeStream(name='myname')] with assert_raises_regexp( ValueError, ('Duplicate stream name "{}" encountered.' ' Stream names must be unique.').format('myname')): server._get_stream_name(config) # Testing existing name in inbound_streams server.plugins = [] server.inbound_streams = [FakeStream(name='myname')] with assert_raises_regexp( ValueError, ('Duplicate stream name "{}" encountered.' ' Stream names must be unique.').format('myname')): server._get_stream_name(config) # Testing existing name in outbound_streams server.inbound_streams = [] server.outbound_streams = [FakeStream(name='myname')] with assert_raises_regexp( ValueError, ('Duplicate stream name "{}" encountered.' ' Stream names must be unique.').format('myname')): server._get_stream_name(config)