Ejemplo n.º 1
0
 def test_iphone_battery_with_a_phone(self):
     """test find_iphone func."""
     m_text = mock.Mock()
     m_device = mock.Mock()
     m_battery_level = 0.5
     expected_percentage = int(float(m_battery_level) * 100)
     m_tts_expected_arg = '{}percent battery left in m_name'.format(
         expected_percentage)
     m_device_name = 'm_name'
     m_device.status.return_value = {
         'deviceDisplayName': 'iPhone',
         'batteryLevel': m_battery_level,
         'name': m_device_name,
     }
     from melissa.actions.find_iphone import iphone_battery
     with mock.patch('melissa.actions.find_iphone.PyiCloudService') \
             as m_pc_service, \
             mock.patch('melissa.actions.find_iphone.tts') as m_tts:
         m_pc_service.return_value.devices = [m_device]
         # run the func
         iphone_battery(m_text)
         # testing.
         m_pc_service.assert_called_once_with(M_USERNAME, M_PASSWORD)
         m_tts.assert_called_once_with(m_tts_expected_arg)
         assert m_device.status.call_count == 2
         m_device.status.assert_called_with()
Ejemplo n.º 2
0
    def test_iphone_battery_with_a_phone(self):
        """test find_iphone func."""
        m_text = mock.Mock()
        m_device = mock.Mock()
        m_battery_level = 0.5
        expected_percentage = int(float(m_battery_level) * 100)
        m_tts_expected_arg = "{}percent battery left in m_name".format(expected_percentage)
        m_device_name = "m_name"
        m_device.status.return_value = {
            "deviceDisplayName": "iPhone",
            "batteryLevel": m_battery_level,
            "name": m_device_name,
        }
        from melissa.actions.find_iphone import iphone_battery

        with mock.patch("melissa.actions.find_iphone.PyiCloudService") as m_pc_service, mock.patch(
            "melissa.actions.find_iphone.tts"
        ) as m_tts:
            m_pc_service.return_value.devices = [m_device]
            # run the func
            iphone_battery(m_text)
            # testing.
            m_pc_service.assert_called_once_with(M_USERNAME, M_PASSWORD)
            m_tts.assert_called_once_with(m_tts_expected_arg)
            assert m_device.status.call_count == 2
            m_device.status.assert_called_with()
Ejemplo n.º 3
0
 def test_iphone_battery_raise_failed_login(self):
     """test find iphone but raise failed login error."""
     m_text = mock.Mock()
     from melissa.actions.find_iphone import iphone_battery
     with mock.patch('melissa.actions.find_iphone.PyiCloudService') \
             as m_pc_service, \
             mock.patch('melissa.actions.find_iphone.tts') as m_tts:
         m_pc_service.side_effect = PyiCloudFailedLoginException()
         # run
         iphone_battery(m_text)
         # testing
         m_pc_service.assert_called_once_with(M_USERNAME, M_PASSWORD)
         m_tts.assert_called_once_with('Invalid Username & Password')
Ejemplo n.º 4
0
    def test_iphone_battery_raise_failed_login(self):
        """test find iphone but raise failed login error."""
        m_text = mock.Mock()
        from melissa.actions.find_iphone import iphone_battery

        with mock.patch("melissa.actions.find_iphone.PyiCloudService") as m_pc_service, mock.patch(
            "melissa.actions.find_iphone.tts"
        ) as m_tts:
            m_pc_service.side_effect = PyiCloudFailedLoginException()
            # run
            iphone_battery(m_text)
            # testing
            m_pc_service.assert_called_once_with(M_USERNAME, M_PASSWORD)
            m_tts.assert_called_once_with("Invalid Username & Password")