Example #1
0
class PusherTestCase(TestCase):
    def setUp(self):
        self.inst = Pusher(data_type='test', poll_seconds=10)
        self.inst.api = MagicMock()
        self.utcnow = datetime.utcnow()

    def test_send_sensor_data(self):
        self.inst.api.send_file.return_value = '/data_path'
        self.inst.send_sensor_data('/some_path', self.utcnow)

        # Did we send the file?
        self.inst.api.send_file.assert_called_once_with(
            'test', '/some_path', self.utcnow.replace(tzinfo=utc)
        )

        # Did we send the signal?
        self.inst.api.send_signal.assert_called_once_with(
            data_type='sensordata',
            data={
                'timestamp': self.utcnow.replace(tzinfo=utc).isoformat(),
                'data_type': self.inst.data_type,
                'data_path': '/data_path',
            }
        )

    def test_get_file_datetime(self):
        # IPFIX style
        self.inst.file_fmt = '%Y%m%d%H%M'
        self.inst.prefix_len = 12
        actual = self.inst._get_file_datetime('201403241411')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)

        # PNA style
        self.inst.file_fmt = 'pna-%Y%m%d%H%M'
        self.inst.prefix_len = 16
        actual = self.inst._get_file_datetime('pna-20140324141959-table0.log')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)
Example #2
0
class PusherTestCase(TestCase):
    def setUp(self):
        self.inst = Pusher(data_type='test', poll_seconds=10)
        self.inst.api = MagicMock()
        self.utcnow = datetime.utcnow()

    def test_send_sensor_data(self):
        self.inst.api.send_file.return_value = '/data_path'
        self.inst.send_sensor_data(path='/some_path', whence=self.utcnow)

        # Did we send the file?
        self.inst.api.send_file.assert_called_once_with(
            'test', '/some_path', self.utcnow.replace(tzinfo=utc)
        )

        # Did we send the signal?
        self.inst.api.send_signal.assert_called_once_with(
            data_type='sensordata',
            data={
                'timestamp': self.utcnow.replace(tzinfo=utc).isoformat(),
                'data_type': self.inst.data_type,
                'data_path': '/data_path',
            }
        )

    def test_get_file_datetime(self):
        # Netflow style
        self.inst.file_fmt = 'nfcapd.%Y%m%d%H%M'
        self.inst.prefix_len = 22
        actual = self.inst._get_file_datetime('nfcapd.201403241411')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)

        # PNA style
        self.inst.file_fmt = 'pna-%Y%m%d%H%M'
        self.inst.prefix_len = 16
        actual = self.inst._get_file_datetime('pna-20140324141959-table0.log')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)
Example #3
0
class PusherTestCase(TestCase):
    def setUp(self):
        self.inst = Pusher(data_type='test', poll_seconds=10)
        self.inst.api = MagicMock()
        self.utcnow = datetime.utcnow()

    def test_send_sensor_data(self):
        self.inst.api.send_file.return_value = '/data_path'
        self.inst.send_sensor_data('/some_path', self.utcnow)

        # Did we send the file?
        self.inst.api.send_file.assert_called_once_with(
            'test', '/some_path', self.utcnow.replace(tzinfo=utc))

        # Did we send the signal?
        self.inst.api.send_signal.assert_called_once_with(
            data_type='sensordata',
            data={
                'timestamp': self.utcnow.replace(tzinfo=utc).isoformat(),
                'data_type': self.inst.data_type,
                'data_path': '/data_path',
            })

    def test_get_file_datetime(self):
        # IPFIX style
        self.inst.file_fmt = '%Y%m%d%H%M'
        self.inst.prefix_len = 12
        actual = self.inst._get_file_datetime('201403241411')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)

        # PNA style
        self.inst.file_fmt = 'pna-%Y%m%d%H%M'
        self.inst.prefix_len = 16
        actual = self.inst._get_file_datetime('pna-20140324141959-table0.log')
        expected = datetime(2014, 3, 24, 14, 10, 0)
        self.assertEqual(actual, expected)

    def test_delete_old_archives(self):
        self.inst.output_dir = gettempdir()
        self.inst.file_fmt = 'pusher-test-%Y%m%d%H%M'
        self.inst.prefix_len = 24

        old_time = (self.utcnow - MAX_BACKLOG_DELTA).strftime(
            self.inst.file_fmt)
        file_path = join(self.inst.output_dir, old_time)
        fh = open(file_path, 'w')
        fh.write("make file pass empty check")
        fh.close()

        self.inst._send_archives(self.utcnow)
        self.assertFalse(exists(file_path))
Example #4
0
 def setUp(self):
     self.inst = Pusher(data_type='test', poll_seconds=10)
     self.inst.api = MagicMock()
     self.utcnow = datetime.utcnow()
Example #5
0
 def setUp(self):
     self.inst = Pusher(data_type='test', poll_seconds=10)
     self.inst.api = MagicMock()
     self.utcnow = datetime.utcnow()