def test_scan_devices_parse_error(self, aioclient_mock): """Setup a upc platform and scan device with parse error.""" aioclient_mock.get("http://{}/common_page/login.html".format( self.host), cookies={'sessionToken': '654321'}) aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'}) scanner = run_coroutine_threadsafe( platform.async_get_scanner( self.hass, { DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host, CONF_PASSWORD: '******' } }), self.hass.loop).result() assert aioclient_mock.mock_calls[1][2]['Password'] == '123456' assert aioclient_mock.mock_calls[1][2]['fun'] == 15 assert aioclient_mock.mock_calls[1][2]['token'] == '654321' aioclient_mock.clear_requests() aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), text="Blablebla blabalble", cookies={'sessionToken': '1235678'}) mac_list = run_coroutine_threadsafe(scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 assert aioclient_mock.mock_calls[0][2]['fun'] == 123 assert scanner.token is None assert mac_list == []
def test_scan_devices_without_session_wrong_re(self, aioclient_mock): """Set up a upc platform and scan device with no token and wrong.""" aioclient_mock.get("http://{}/common_page/login.html".format( self.host), cookies={'sessionToken': '654321'}) aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'}) scanner = run_coroutine_threadsafe( platform.async_get_scanner( self.hass, {DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host }}), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 aioclient_mock.clear_requests() aioclient_mock.get("http://{}/common_page/login.html".format( self.host), cookies={'sessionToken': '654321'}) aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), status=400, cookies={'sessionToken': '1235678'}) scanner.token = None mac_list = run_coroutine_threadsafe(scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 2 assert aioclient_mock.mock_calls[1][2] == 'token=654321&fun=123' assert mac_list == []
def test_scan_devices(self, aioclient_mock): """Set up a upc platform and scan device.""" aioclient_mock.get("http://{}/common_page/login.html".format( self.host), cookies={'sessionToken': '654321'}) aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'}) scanner = run_coroutine_threadsafe( platform.async_get_scanner( self.hass, {DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host }}), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 aioclient_mock.clear_requests() aioclient_mock.post("http://{}/xml/getter.xml".format(self.host), text=load_fixture('upc_connect.xml'), cookies={'sessionToken': '1235678'}) mac_list = run_coroutine_threadsafe(scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 assert aioclient_mock.mock_calls[0][2] == 'token=654321&fun=123' assert mac_list == [ '30:D3:2D:0:69:21', '5C:AA:FD:25:32:02', '70:EE:50:27:A1:38' ]
def test_scan_devices_parse_error(self, aioclient_mock): """Set up a upc platform and scan device with parse error.""" aioclient_mock.get( "http://{}/common_page/login.html".format(self.host), cookies={'sessionToken': '654321'} ) aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'} ) scanner = run_coroutine_threadsafe(platform.async_get_scanner( self.hass, {DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host }} ), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 aioclient_mock.clear_requests() aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), text="Blablebla blabalble", cookies={'sessionToken': '1235678'} ) mac_list = run_coroutine_threadsafe( scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 assert aioclient_mock.mock_calls[0][2] == 'token=654321&fun=123' assert scanner.token is None assert mac_list == []
def test_scan_devices(self, aioclient_mock): """Set up a upc platform and scan device.""" aioclient_mock.get( "http://{}/common_page/login.html".format(self.host), cookies={'sessionToken': '654321'} ) aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'} ) scanner = run_coroutine_threadsafe(platform.async_get_scanner( self.hass, {DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host }} ), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 aioclient_mock.clear_requests() aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), text=load_fixture('upc_connect.xml'), cookies={'sessionToken': '1235678'} ) mac_list = run_coroutine_threadsafe( scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 1 assert aioclient_mock.mock_calls[0][2] == 'token=654321&fun=123' assert mac_list == ['30:D3:2D:0:69:21', '5C:AA:FD:25:32:02', '70:EE:50:27:A1:38']
def test_scan_devices_without_session_wrong_re(self, aioclient_mock): """Setup a upc platform and scan device with no token and wrong.""" aioclient_mock.get( "http://{}/common_page/login.html".format(self.host), cookies={'sessionToken': '654321'} ) aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), content=b'successful', cookies={'sessionToken': '654321'} ) scanner = run_coroutine_threadsafe(platform.async_get_scanner( self.hass, {DOMAIN: { CONF_PLATFORM: 'upc_connect', CONF_HOST: self.host, CONF_PASSWORD: '******' }} ), self.hass.loop).result() assert aioclient_mock.mock_calls[1][2]['Password'] == '123456' assert aioclient_mock.mock_calls[1][2]['fun'] == 15 assert aioclient_mock.mock_calls[1][2]['token'] == '654321' aioclient_mock.clear_requests() aioclient_mock.get( "http://{}/common_page/login.html".format(self.host), cookies={'sessionToken': '654321'} ) aioclient_mock.post( "http://{}/xml/getter.xml".format(self.host), status=400, cookies={'sessionToken': '1235678'} ) scanner.token = None mac_list = run_coroutine_threadsafe( scanner.async_scan_devices(), self.hass.loop).result() assert len(aioclient_mock.mock_calls) == 2 assert aioclient_mock.mock_calls[1][2]['fun'] == 15 assert mac_list == []