Exemplo n.º 1
0
 def test_deactivate_non_responding_printer(self, mock_get_uri):
     printer = Octoprint("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15")
     self.assertFalse(printer.client_info.connected)
     printer.sniff()
     self.assertEqual(printer.client_info.connected, False)
     self.assertEqual(printer.client_info.version, {})
Exemplo n.º 2
0
 def test_deactivate_non_200_responding_printer(self, mock_get_uri):
     mock_get_uri.return_value.status_code = 404
     printer = Octoprint("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15")
     printer.sniff()
     self.assertEqual(printer.client_info.connected, False)
     self.assertEqual(printer.client_info.version, {})
     self.assertEqual(printer.client_info.access_level,
                      PrinterClientAccessLevel.UNKNOWN)
Exemplo n.º 3
0
 def test_access_protected_octoprint_forcelogin(self, mock_get_uri):
     mock_get_uri.return_value.status_code = 403
     printer = Octoprint("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15")
     printer.sniff()
     self.assertEqual(printer.client_info.connected, True)
     self.assertEqual(printer.client_info.access_level,
                      PrinterClientAccessLevel.PROTECTED)
     self.assertEqual(printer.client_info.version, {})
Exemplo n.º 4
0
 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("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15")
     printer.sniff()
     self.assertEqual(printer.client_info.connected, False)
     self.assertEqual(printer.client_info.version, {"random": "field"})
     self.assertEqual(printer.client_info.access_level,
                      PrinterClientAccessLevel.UNKNOWN)
Exemplo n.º 5
0
 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("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15")
     printer.sniff()
     self.assertEqual(printer.client_info.connected, False)
     self.assertEqual(printer.client_info.version, {})
     self.assertEqual(printer.client_info.access_level,
                      PrinterClientAccessLevel.UNKNOWN)
Exemplo n.º 6
0
 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("900c73b8-1f12-4027-941a-e4b29531e8e3",
                         ip="192.168.1.15",
                         protocol="https")
     printer.sniff()
     mock_get_uri.assert_called_with("https://192.168.1.15/api/version",
                                     timeout=2)
     self.assertEqual(printer.client_info.connected, True)
     self.assertEqual(printer.client_info.version, {"text": "OctoPrint"})
     self.assertEqual(printer.client_info.access_level,
                      PrinterClientAccessLevel.UNLOCKED)
Exemplo n.º 7
0
    def test_access_protected_not_octoprint(self, mock_get_uri):
        def mock_call(uri, **kwargs):
            if "settings" in uri:
                return Response(404)
            return Response(403)

        mock_get_uri.side_effect = mock_call

        printer = Octoprint("900c73b8-1f12-4027-941a-e4b29531e8e3",
                            ip="192.168.1.15")
        printer.sniff()
        self.assertEqual(printer.client_info.connected, False)
        self.assertEqual(printer.client_info.access_level,
                         PrinterClientAccessLevel.UNKNOWN)
        self.assertEqual(printer.client_info.version, {})