Exemplo n.º 1
0
    def test_should_set_configuration(self):
        configuration = 'configuration'
        receiver = Receiver()

        receiver.set_configuration(configuration)

        self.assertEquals(configuration, receiver.configuration)
Exemplo n.º 2
0
    def test_should_raise_exception_when_target_directory_does_not_exist(self, mock_exists):
        mock_exists.return_value = False
        receiver = Receiver()
        configuration = {'hostname': 'hostname',
                         'targets_directory': '/etc/yadtshell/targets/'}
        receiver.set_configuration(configuration)

        self.assertRaises(
            ReceiverException, receiver.get_target_directory, 'spargel')
Exemplo n.º 3
0
    def test_should_initialize_broadcaster_when_connecting_broadcaster(self, mock_wamb):
        configuration = {'broadcaster_host': 'broadcaster-host',
                         'broadcaster_port': 1234}
        receiver = Receiver()
        receiver.set_configuration(configuration)

        receiver._connect_broadcaster()

        self.assertEquals(
            call('broadcaster-host', 1234, 'yadtreceiver'), mock_wamb.call_args)
Exemplo n.º 4
0
 def test_write_metrics_to_file_is_noop_with_no_metrics_directory(self,
                                                                  path_, open_):
     configuration = {'metrics_directory': None,
                      'metrics_file': None,
                      }
     yrc = Receiver()
     yrc.set_configuration(configuration)
     yrc.write_metrics_to_file()
     self.assertFalse(open_.called)
     self.assertFalse(path_.called)
Exemplo n.º 5
0
    def test_should_join_target_name_with_targets_directory(self, mock_exists):
        mock_exists.return_value = True
        receiver = Receiver()
        configuration = {'hostname': 'hostname',
                         'targets_directory': '/etc/yadtshell/targets/'}
        receiver.set_configuration(configuration)

        actual_target_directory = receiver.get_target_directory('spargel')

        self.assertEquals(
            '/etc/yadtshell/targets/spargel', actual_target_directory)
Exemplo n.º 6
0
    def test_should_add_session_handler_to_broadcaster_when_connecting_broadcaster(self, mock_wamb):
        receiver = Receiver()
        configuration = {'broadcaster_host': 'broadcasterhost',
                         'broadcaster_port': 1234}
        receiver.set_configuration(configuration)
        mock_broadcaster_client = Mock()
        mock_wamb.return_value = mock_broadcaster_client

        receiver._connect_broadcaster()

        self.assertEquals(
            call(receiver.onConnect), mock_broadcaster_client.addOnSessionOpenHandler.call_args)
Exemplo n.º 7
0
    def test_should_exit_when_no_target_configured(self, mock_exit, mock_log):
        receiver = Receiver()
        configuration = ConfigurationDict(allowed_targets=set(),
                                          broadcaster_host='broadcaster_host',
                                          broadcaster_port=1234)
        receiver.set_configuration(configuration)
        mock_broadcaster_client = Mock()
        receiver.broadcaster = mock_broadcaster_client

        receiver.onConnect()

        self.assertEquals(call(1), mock_exit.call_args)
Exemplo n.º 8
0
    def test_should_subscribe_to_target_from_configuration_when_connected(self):
        receiver = Receiver()
        mock_broadcaster_client = Mock()
        receiver.broadcaster = mock_broadcaster_client
        configuration = ConfigurationDict(allowed_targets=set(['devabc123']),
                                          broadcaster_host='broadcaster_host',
                                          broadcaster_port=1234)
        receiver.set_configuration(configuration)

        receiver.onConnect()

        self.assertEquals(call(receiver.onEvent, 'devabc123'),
                          mock_broadcaster_client.client.subscribe.call_args)
Exemplo n.º 9
0
    def test_write_metrics_to_file(self, path_, open_):
        # initialize a receiver with given configuration
        configuration = {'metrics_directory': '/tmp/metrics',
                         'metrics_file': '/tmp/metrics/yrc.metrics'
                         }

        yrc = Receiver()
        yrc.set_configuration(configuration)
        open_.return_value = MagicMock(spec=file)
        path_.return_value = True
        yrc.write_metrics_to_file()
        open_.assert_called_once_with('/tmp/metrics/yrc.metrics', 'w')
        file_handle = open_.return_value.__enter__.return_value
        file_handle.write.assert_called_once_with('foo=42\n')
Exemplo n.º 10
0
    def test_should_call_start_logging_when_initializing_twisted_logging(self, mock_log, mock_log_file_class):
        receiver = Receiver()
        receiver.set_configuration({'log_filename': 'log/file.log',
                                    'targets': set(['devabc123']),
                                    'broadcaster_host': 'broadcaster_host',
                                    'broadcaster_port': 1234})
        mock_log_file = Mock(LogFile)
        mock_log_file_class.fromFullPath.return_value = mock_log_file

        receiver.initialize_twisted_logging()

        self.assertEqual(
            call('log/file.log', rotateLength=20000000, maxRotatedFiles=10),
            mock_log_file_class.fromFullPath.call_args)
        self.assertEquals(call(mock_log_file), mock_log.startLogging.call_args)
Exemplo n.º 11
0
    def test_should_subscribe_to_targets_from_configuration_in_alphabetical_order_when_connected(self):
        receiver = Receiver()
        mock_broadcaster_client = Mock()
        receiver.broadcaster = mock_broadcaster_client
        configuration = ConfigurationDict(allowed_targets=set(['dev01', 'dev02', 'dev03']),
                                          broadcaster_host='broadcaster_host',
                                          broadcaster_port=1234)
        receiver.set_configuration(configuration)

        receiver.onConnect()

        self.assertEquals(
            [call(receiver.onEvent, 'dev01'),
             call(receiver.onEvent, 'dev02'),
             call(receiver.onEvent, 'dev03')],
            mock_broadcaster_client.client.subscribe.call_args_list)