Ejemplo n.º 1
0
    def test_sensor_reading_job_handles_io_error(self, sensormodule,
                                                 sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensormodule.sms_notification.send_notification.side_effect = IOError()

        sensormodule.sensor_reading_job()
Ejemplo n.º 2
0
    def test_sensor_reading_job_handles_io_error(
            self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensormodule.sms_notification.send_notification.side_effect = IOError()

        sensormodule.sensor_reading_job()
Ejemplo n.º 3
0
    def test_sensor_reading_job_no_notifications_within_four_hours(
            self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensormodule.sensor_reading_job()
        sensormodule.sensor_reading_job()

        sensor_persistence = NotificationPersistenceService()

        assert len(sensor_persistence.all()) == 1
Ejemplo n.º 4
0
    def test_sensor_reading_job_no_notifications_within_four_hours(
            self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensormodule.sensor_reading_job()
        sensormodule.sensor_reading_job()

        sensor_persistence = NotificationPersistenceService()

        assert len(sensor_persistence.all()) == 1
Ejemplo n.º 5
0
    def test_sensor_reading_job_digital_normal(self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'digital normal'
        assert sensor.value is False

        assert not sensormodule.sms_notification.send_notification.called
Ejemplo n.º 6
0
    def test_sensor_reading_job_analog_normal(self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockAnalogNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'analog normal'
        assert sensor.value == 1
        assert sensor.unit == 'normal analog unit'

        assert not sensormodule.sms_notification.send_notification.called
Ejemplo n.º 7
0
    def test_sensor_reading_job_digital_normal(self, sensormodule,
                                               sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'digital normal'
        assert sensor.value is False

        assert not sensormodule.sms_notification.send_notification.called
Ejemplo n.º 8
0
    def test_sensor_reading_job_analog_normal(self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockAnalogNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'analog normal'
        assert sensor.value == 1
        assert sensor.unit == 'normal analog unit'

        assert not sensormodule.sms_notification.send_notification.called
Ejemplo n.º 9
0
    def test_sensor_reading_job_analog_above_normal(self, sensormodule,
                                                    sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockAnalogAboveNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'analog above normal'
        assert sensor.value == 2
        assert sensor.unit == 'above normal analog unit'

        sensormodule.sms_notification.send_notification.assert_called_with(
            'analog above normal notification')
Ejemplo n.º 10
0
    def test_sensor_reading_job_analog_above_normal(self, sensormodule,
                                                    sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockAnalogAboveNormalSensor]

        sensormodule.sensor_reading_job()

        sensor_persistence = SensorReadingPersistenceService()
        sensor = sensor_persistence.all()[0]

        assert sensor.name == 'analog above normal'
        assert sensor.value == 2
        assert sensor.unit == 'above normal analog unit'

        sensormodule.sms_notification.send_notification.assert_called_with(
                'analog above normal notification')
Ejemplo n.º 11
0
    def test_sensor_reading_job_notifications_after_four_hours(
            self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensor_persistence = NotificationPersistenceService()

        sensormodule.sensor_reading_job()

        notification = sensor_persistence.get_newest_notification(
            'digital abnormal')
        notification.timestamp = datetime(1970, 1, 1)
        sensor_persistence.update(notification)

        sensormodule.sensor_reading_job()

        assert len(sensor_persistence.all()) == 2
Ejemplo n.º 12
0
    def test_sensor_reading_job_notifications_after_four_hours(
            self, sensormodule, sqlalchemy):
        tests.fixtures.mock_sensors = [mocks.MockDigitalAbnormalSensor]

        sensor_persistence = NotificationPersistenceService()

        sensormodule.sensor_reading_job()

        notification = sensor_persistence.get_newest_notification(
            'digital abnormal')
        notification.timestamp = datetime(1970, 1, 1)
        sensor_persistence.update(notification)

        sensormodule.sensor_reading_job()

        assert len(sensor_persistence.all()) == 2