Beispiel #1
0
 def test_d_name(self):
     """ method: test get_type_name """
     # 'R', 0, '06:00:00' ,'17:00:00',
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '06:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     self.assertEqual('Door', sut.get_type_name())
Beispiel #2
0
 def test_r_name(self):
     """ method: test get_type_name """
     # Refrig-116,Refrig,116,21,N,0,00:00:00,23:59:59,ok|alarm
     sut = logger.Sensor('id-1', 'Refrig', 'somewhere', 19, 'N', 1,
                         '06:00:00', '23:59:59', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     self.assertEqual('Refrig', sut.get_type_name())
Beispiel #3
0
 def test_r_sensor_log_2(self):
     """ method: test of log error """
     sut = logger.Sensor('id-3', 'X', 'somewhere', 19, 'R', 1, '06:00:00',
                         '17:00:00', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     cnt = sut.log(2)
     self.assertEqual(1, cnt)
Beispiel #4
0
 def test_sql_err_file_retry_mock(self, mock_os, mock_path):  # ):
     """ test method: tests of sql logger write """
     from unittest.mock import patch
     with patch("pyodbc.connect") as mock_connect:
         # Set-up
         mock_connect.return_value.cursor.return_value.rowcount.return_value = 1
         # m_open = mock_open()
         mock_path.return_value = True
         # 2019-01-17 14:10:24,id-3,Sensor-19,somewhere,OK,OK: Sensor-19 at location: somewhere is no pwr
         # LogDate, [Key], [Type], [Location], Status, Msg
         file_content_mock = '\n'.join([
             '2018-01-01,Key1,Door,room,OK,OK: message data',
             '2018-01-01,Key2,Light,room,OK,OK: message data'
         ])
         # Act
         with patch("builtins.open",
                    new=mock_open(read_data=file_content_mock),
                    create=True) as m_open:
             m_open.return_value.__iter__.return_value = file_content_mock.splitlines(
             )
             self.sql_logger.sql_connection('mock connection string')
             sensor = logger.Sensor('key1', 'Door', 'somewhere', 12, 'R', 0,
                                    '06:00:00', '17:00:00',
                                    ['closed', 'open'], None,
                                    self.sql_logger, None)
             count = self.sql_logger.sql_err_file_retry()
             m_open.assert_called_once_with('door_light_sql_err.log', 'r')
             self.assertEqual(2, count)
Beispiel #5
0
 def test_r_valid_log_msg_2(self):
     """ method: test of log error """
     sut = logger.Sensor('id-3', 'X', 'somewhere', 19, 'R', 1, '06:00:00',
                         '17:00:00', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 09:59:22', sut.key, sut.location,
                          sut.gpio, 2)
     self.assertEqual(True, sut.valid_log_msg(log))
Beispiel #6
0
 def test_sensor_d_display(self):
     """ method: test of display """
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '06:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     display = sut.display()
     self.assertEqual(
         'Sensor - id: id-1, type: Door, loc: somewhere, gpio: 19', display)
Beispiel #7
0
 def test_r_log_2(self):
     """ method: test of log error """
     sut = logger.Sensor('id-3', 'X', 'somewhere', 19, 'N', 0, '06:00:00',
                         '17:00:00', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 09:59:22', sut.key, sut.location,
                          sut.gpio, 2).split(',')
     self.assertEqual('Warning', log[4])
     self.assertEqual('Sensor bad i/o: 2', log[5])
Beispiel #8
0
 def test_sensor_d_misc(self):
     """ method: test misc property values """
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '06:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     self.assertEqual('id-1', sut.key)
     self.assertEqual('Door', sut.type)
     self.assertEqual('somewhere', sut.location)
     self.assertEqual(19, sut.gpio)
Beispiel #9
0
 def test_l_log_2(self):
     """ method: test of log error """
     sut = logger.Sensor('id-2', 'Light', 'somewhere', 19, 'R', 1,
                         '06:00:00', '17:00:00', ['off', 'on'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 05:59:22', sut.key, sut.location,
                          sut.gpio, 2).split(',')
     self.assertEqual('id-2', log[1])
     self.assertEqual('Light', log[2])
     self.assertEqual('somewhere', log[3])
     self.assertEqual('Sensor bad i/o: 2', log[5])
Beispiel #10
0
 def test_d_log_2(self):
     """ method: test of log error """
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '06:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 05:59:22', sut.key, sut.location,
                          sut.gpio, 2).split(',')
     self.assertEqual('id-1', log[1])
     self.assertEqual('Door', log[2])
     self.assertEqual('somewhere', log[3])
     self.assertEqual('Warning', log[4])
     self.assertEqual('Sensor bad i/o: 2', log[5])
Beispiel #11
0
 def test_d_log_0(self):
     """ method: test of log """
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '06:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 06:59:22', sut.key, sut.location,
                          sut.gpio, 0).split(',')
     self.assertEqual('id-1', log[1])
     self.assertEqual('Door', log[2])
     self.assertEqual('somewhere', log[3])
     self.assertEqual('OK', log[4])
     self.assertEqual('OK: Door at location: somewhere is closed', log[5])
Beispiel #12
0
 def test_r_log_0(self):
     """ method: test of log """
     sut = logger.Sensor('id-3', 'Refrig', 'somewhere', 19, 'N', 0,
                         '06:00:00', '23:59:59', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 05:59:22', sut.key, sut.location,
                          sut.gpio, 0).split(',')
     self.assertEqual('id-3', log[1])
     self.assertEqual('Refrig', log[2])
     self.assertEqual('somewhere', log[3])
     self.assertEqual('OK', log[4])
     self.assertEqual('OK: Refrig at location: somewhere is ok', log[5])
Beispiel #13
0
 def test_d_range_warning(self):
     """ method: test get_type_settings """
     sut = logger.Sensor('id-1', 'Door', 'somewhere', 19, 'R', 0,
                         '08:00:00', '17:00:00', ['closed', 'open'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 07:49:22', sut.key, sut.location,
                          sut.gpio, 1).split(',')
     print(log[5])
     self.assertEqual('Warning', log[4])
     log = sut.sensor.log('2018-12-12 07:49:22', sut.key, sut.location,
                          sut.gpio, 0).split(',')
     print(log[5])
     self.assertEqual('OK', log[4])
Beispiel #14
0
 def test_l_log_0(self):
     """ method: test of log """
     sut = logger.Sensor('id-2', 'Light', 'somewhere', 19, 'R', 1,
                         '06:00:00', '17:00:00', ['off', 'on'], None,
                         logger.ConsoleLogger(), None)
     log = sut.sensor.log('2018-12-12 05:59:22', sut.key, sut.location,
                          sut.gpio, 0).split(',')
     self.assertEqual('id-2', log[1])
     self.assertEqual('Light', log[2])
     self.assertEqual('somewhere', log[3])
     self.assertEqual('Warning', log[4])
     self.assertEqual('Warning: Light at location: somewhere is off',
                      log[5])
Beispiel #15
0
 def test_write_log(self):
     """ test method: tests of file logger write """
     m_open = mock_open()
     # patch target = 'package.module.ClassName'
     with patch('builtins.open', m_open):
         sut = logger.FileLogger('')
         sensor = logger.Sensor('key1', 'Door', 'somewhere', 12, 'R', 0,
                                '06:00:00', '17:00:00', ['closed', 'open'],
                                None, sut, None)
         sut.write_log(sensor.log(1))
         m_open.assert_called_with(sut.log_name, 'a')
         handle = m_open()
         self.assertEqual(handle.write.call_count, 4)
Beispiel #16
0
 def test_write_log_new_day_set_log_name(self):
     """ test method: tests of file logger constructor """
     m_open = mock_open()
     # patch target = 'package.module.ClassName'
     with patch('builtins.open', m_open):
         sut = logger.FileLogger('')
         current_log_name = sut.log_name
         d = Date.today() - TimeDelta(days=1)
         sut.set_log_name(Date.today() - TimeDelta(days=1))
         self.assertNotEquals(current_log_name, sut.log_name)
         sensor = logger.Sensor('key1', 'Door', 'somewhere', 12, 'R', 0,
                                '06:00:00', '17:00:00', ['closed', 'open'],
                                None, sut, None)
         sut.write_log(sensor.log(1))
         m_open.assert_called_with(current_log_name, 'a')
Beispiel #17
0
 def test_write_log(self):
     """ test method: tests of sql logger write """
     input_file = Path(self.sql_logger.err_file_name)
     if input_file.exists():
         os.remove(self.sql_logger.err_file_name)
     from unittest.mock import patch
     with patch("pyodbc.connect") as mock_connect:
         # Set-up
         mock_connect.return_value.cursor.return_value.rowcount.return_value = 1
         # Act
         self.sql_logger.sql_connection('mock connection string')
         sensor = logger.Sensor('key1', 'Door', 'somewhere', 12, 'R', 0,
                                '06:00:00', '17:00:00', ['closed', 'open'],
                                None, self.sql_logger, None)
         count = sensor.log(1)
         self.assertEqual(1, count)
Beispiel #18
0
 def test_l_settings(self):
     """ method: test get_type_settings """
     sut = logger.Sensor('id-1', 'Light', 'somewhere', 19, 'R', 1,
                         '06:00:00', '17:00:00', ['off', 'on'], None,
                         logger.ConsoleLogger(), None)
     self.assertEqual(['off', 'on'], sut.get_type_settings())
Beispiel #19
0
 def test_r_valid_log_msg_bad(self):
     """ method: test of log error """
     sut = logger.Sensor('id-3', 'X', 'somewhere', 19, 'R', 1, '06:00:00',
                         '17:00:00', ['ok', 'alarm'], None,
                         logger.ConsoleLogger(), None)
     self.assertEqual(False, sut.valid_log_msg('2018-12-12,K,N,L,S'))
Beispiel #20
0
 def test_r_u_settings(self):
     """ method: test get_type_settings """
     sut = logger.Sensor('id-1', 'R', 'somewhere', 19, 'N', 1,
                         '06:00:00', '23:59:59', 'ok,alarm', None,
                         logger.ConsoleLogger(), None)
     self.assertEqual(['no pwr', 'power'], sut.get_type_settings())