def test_karmen_sniff_update_downloading_finished( self, mock_props, mock_post, mock_get ): def mock_call(uri, **kwargs): if uri.startswith("/karmen-pill-info/"): return Response( 200, { "networking": { "mode": "client", "ssid": "Alexa", "has_passphrase": False, "country": "CZ", }, "system": { "karmen_version": "0.2.0", "karmen_version_hash": "cdcd7749e47dbaeea6482bd2b745eba4ac6c32ec 0.2.0", "hostname": "kpz-1016", "timezone": "Europe/Prague", "device_key": "206b22a3126644eb8dd73c8e276961c6", "update_status": "downloading", }, }, ) def mock_call_post(uri, data, **kwargs): if uri == "/update-system": if data == '{"action": "download-status"}': return SimpleResponse(200, "DONE") def get_props(prop): if prop == "versions": return [ {"pattern": r"""0\.2\.[01]""", "new_version_name": "0.2.3"}, ] mock_get.side_effect = mock_call mock_post.side_effect = mock_call_post mock_props.side_effect = get_props printer = Octoprint( "900c73b8-1f12-4027-941a-e4b29531e8e3", "d501f4f0-48d5-468e-a137-1f3803cd836c", UUID_ORG, ip="192.168.1.15", ) printer.karmen_sniff() self.assertEqual( printer.client_info.pill_info, { "karmen_version": "0.2.0", "version_number": "0.2.0", "update_available": "0.2.3", "update_status": "downloaded", }, )
def test_karmen_snif_no_pill(self, mock_get): def mock_call(uri, **kwargs): if uri.startswith("/karmen-pill-info/"): return Response(404, None) mock_get.side_effect = mock_call printer = Octoprint( "900c73b8-1f12-4027-941a-e4b29531e8e3", "d501f4f0-48d5-468e-a137-1f3803cd836c", UUID_ORG, ip="192.168.1.15", ) printer.karmen_sniff() self.assertEqual(printer.client_info.pill_info, None)