def test_deactivate_non_200_responding_printer(self, mock_get_uri): mock_get_uri.return_value.status_code = 404 printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, False) self.assertEqual(printer.client.version, {}) self.assertEqual(printer.client.read_only, False)
def test_403_not_octoprint(self, mock_get_uri): mock_get_uri.return_value.status_code = 403 printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, False) self.assertEqual(printer.client.read_only, False) self.assertEqual(printer.client.version, {})
def test_activate_responding_printer(self, mock_get_uri): mock_get_uri.return_value.status_code = 200 mock_get_uri.return_value.json.return_value = {"text": "OctoPrint"} printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, True) self.assertEqual(printer.client.version, {"text": "OctoPrint"}) self.assertEqual(printer.client.read_only, False)
def test_no_crash_on_different_response(self, mock_get_uri): mock_get_uri.return_value.status_code = 200 mock_get_uri.return_value.json.return_value = {"random": "field"} printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, False) self.assertEqual(printer.client.version, {"random": "field"}) self.assertEqual(printer.client.read_only, False)
def test_deactivate_no_data_responding_printer(self, mock_get_uri): mock_get_uri.return_value.status_code = 200 mock_get_uri.return_value.json.side_effect = json.decoder.JSONDecodeError( "msg", "aa", 123) printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, False) self.assertEqual(printer.client.version, {}) self.assertEqual(printer.client.read_only, False)
def test_access_protected_octoprint(self, mock_get_uri): class Response: def __init__(self, status_code, contents): self.status_code = status_code self.contents = contents def json(self): return {"text": "something"} def mock_call(ip, **kwargs): if "settings" in kwargs["endpoint"]: return Response(200, "") return Response(403, "") mock_get_uri.side_effect = mock_call printer = Octoprint("192.168.1.15") printer.sniff() self.assertEqual(printer.client.connected, True) self.assertEqual(printer.client.read_only, True) self.assertEqual(printer.client.version, {})
def test_deactivate_non_responding_printer(self, mock_get_uri): printer = Octoprint("192.168.1.15") self.assertFalse(printer.client.connected) printer.sniff() self.assertEqual(printer.client.connected, False) self.assertEqual(printer.client.version, {})