コード例 #1
0
 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)
コード例 #2
0
    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'
コード例 #3
0
    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"
コード例 #4
0
ファイル: test_server.py プロジェクト: tylerobrien2/AIT-Core
    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)
コード例 #5
0
    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)
コード例 #6
0
    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)
コード例 #7
0
ファイル: test_server.py プロジェクト: tylerobrien2/AIT-Core
    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)