Ejemplo n.º 1
0
 def test_buzz_callsSleep(self, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     # call tag under test
     _control_lock.main(commands.BUZZ)
     # test assertions
     self.sleep_mock.assert_called_once_with(settings.BUZZ_DURATION)
Ejemplo n.º 2
0
 def test_setup_setup(self, mock__lock):
     assert mock__lock is _control_lock._lock
     _control_lock.main(commands.LOCK)
     calls = [
         mock.call(pins.SERVO_PIN, GPIO.OUT),
         mock.call(pins.LOCK_STATUS_LED_PIN, GPIO.OUT),
         mock.call(pins.BUZZER_PIN, GPIO.OUT)
     ]
     self.setup_mock.assert_has_calls(calls, any_order=True)
Ejemplo n.º 3
0
 def test_unlock_output(self, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     # call tag under test
     _control_lock.main(commands.UNLOCK)
     # test assertions
     self.output_mock.assert_called_once_with(pins.LOCK_STATUS_LED_PIN,
                                              GPIO.LOW)
Ejemplo n.º 4
0
 def test_delayLock_callsLock(self, mock__lock, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock__lock is _control_lock._lock
     # call tag under test
     _control_lock.main(commands.DELAY_LOCK)
     # test assertions
     mock__lock.assert_called_once_with(mock__setup.return_value)
Ejemplo n.º 5
0
 def test_buzzAndUnlock_callsUnlock(self, mock__unlock, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock__unlock is _control_lock._unlock
     # call tag under test
     _control_lock.main(commands.BUZZ_AND_UNLOCK)
     # test assertions
     mock__unlock.assert_called_once_with(mock__setup.return_value)
Ejemplo n.º 6
0
 def test_unlock_setsLockedState(self, mock__setStateValue, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock__setStateValue is _control_lock._setStateValue
     # call tag under test
     _control_lock.main(commands.UNLOCK)
     # test assertions
     mock__setStateValue.assert_called_once_with(settings.LOCKED_STATE_KEY,
                                                 False)
Ejemplo n.º 7
0
 def test_unlock_start_stop(self, mock_MockServo, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock_MockServo is MockServo
     # call tag under test
     _control_lock.main(commands.UNLOCK)
     # test assertions
     mock_MockServo.return_value.start.assert_called_once_with(
         settings.SERVO_UNLOCKED_POSITION)
     mock_MockServo.return_value.stop.assert_called_once_with()
Ejemplo n.º 8
0
 def test_buzzAndUnlock_callsSleepInOrder(self, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     # call tag under test
     _control_lock.main(commands.BUZZ_AND_UNLOCK)
     # test assertions
     calls = [
         mock.call(settings.BUZZ_DURATION),
         mock.call(settings.SERVO_ROTATION_DURATION),
     ]
     self.sleep_mock.assert_has_calls(calls)
Ejemplo n.º 9
0
 def test_buzzAndUnlock_setsOutputHighThenLow(self, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     # call tag under test
     _control_lock.main(commands.BUZZ_AND_UNLOCK)
     # test assertions
     calls = [
         mock.call(pins.BUZZER_PIN, GPIO.HIGH),
         mock.call(pins.BUZZER_PIN, GPIO.LOW)
     ]
     self.output_mock.assert_has_calls(calls)
Ejemplo n.º 10
0
 def test_delayLock_callsUnlockThenLock(self, mock_MockServo, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock_MockServo is MockServo
     # call tag under test
     _control_lock.main(commands.DELAY_LOCK)
     # test assertions
     calls = [
         mock.call(settings.SERVO_UNLOCKED_POSITION),  # first lock
         mock.call(settings.SERVO_LOCKED_POSITION),  # then unlock
     ]
     mock_MockServo.return_value.start.assert_has_calls(calls)
Ejemplo n.º 11
0
 def test_toggleLock_locksOnKeyError(self, mock__getStateValue,
                                     mock__unlock, mock__lock, mock__setup):
     # setup
     mock__setup.return_value = MockServo()
     # test mocks
     assert mock__setup is _control_lock._setup
     assert mock__lock is _control_lock._lock
     assert mock__unlock is _control_lock._unlock
     assert mock__getStateValue is _control_lock._getStateValue
     # call tag under test
     _control_lock.main(commands.TOGGLE)
     # test assertions
     mock__lock.assert_called_once_with(mock__setup.return_value)
     assert not mock__unlock.called
Ejemplo n.º 12
0
    def test_delayLock_blinksLED(self, mock__lock, mock__unlock, mock__setup):
        # setup
        mock__setup.return_value = MockServo()
        # test mocks
        assert mock__setup is _control_lock._setup
        assert mock__unlock is _control_lock._unlock
        assert mock__lock is _control_lock._lock
        # call tag under test
        _control_lock.main(commands.DELAY_LOCK)
        # test assertions
        calls = []
        for i in range(settings.DELAYED_LOCK_DELAY):
            # blink LED
            calls.append(mock.call(pins.LOCK_STATUS_LED_PIN, GPIO.LOW))  # off
            calls.append(mock.call(pins.LOCK_STATUS_LED_PIN, GPIO.HIGH))  # on

        self.output_mock.assert_has_calls(calls)
Ejemplo n.º 13
0
def _loop():
	while True:
		time.sleep(0.2)
		if GPIO.input(pins.TOGGLE_LOCK_PIN) == False:
			_control_lock.main(commands.LOCK)
		if GPIO.input(pins.DELAY_LOCK_PIN) == False:
			_control_lock.main(commands.UNLOCK)
			time.sleep(15)
			_control_lock.main(commands.LOCK)
Ejemplo n.º 14
0
 def test_setup_PMW(self, mock__lock):
     assert mock__lock is _control_lock._lock
     _control_lock.main(commands.LOCK)
     self.PWM_mock.assert_called_once_with(pins.SERVO_PIN, 50)
Ejemplo n.º 15
0
 def test_setup_setmode(self, mock__lock):
     assert mock__lock is _control_lock._lock
     _control_lock.main(commands.LOCK)
     self.setmode_mock.assert_called_once_with(GPIO.BOARD)
Ejemplo n.º 16
0
 def test_setup_setwarnings(self, mock__lock):
     assert mock__lock is _control_lock._lock
     assert self.setwarnings_mock is GPIO.setwarnings
     _control_lock.main(commands.LOCK)
     self.setwarnings_mock.assert_called_once_with(False)
Ejemplo n.º 17
0
 def test_invalid_command_fails(self):
     with self.assertRaises(NotImplementedError):
         _control_lock.main("BOGUS")
import _control_lock
import commands

_control_lock.main(commands.BUZZ_AND_UNLOCK)
Ejemplo n.º 19
0
import _control_lock
import commands

_control_lock.main(commands.LOCK)
Ejemplo n.º 20
0
 def test_setup_output(self, mock__lock):
     assert mock__lock is _control_lock._lock
     _control_lock.main(commands.LOCK)
     self.output_mock.assert_called_once_with(pins.BUZZER_PIN, GPIO.LOW)
Ejemplo n.º 21
0
import _control_lock
import commands

_control_lock.main(commands.DELAY_LOCK)
Ejemplo n.º 22
0
import _control_lock
import commands

_control_lock.main(commands.TOGGLE)
Ejemplo n.º 23
0
import _control_lock
import commands

_control_lock.main(commands.BUZZ)