예제 #1
0
 def test_should_call_method(self):
     srv = server.ElpyRPCServer()
     srv.backend = mock.MagicMock()
     srv.backend.rpc_does_exist.return_value = "It works"
     self.assertEqual(srv.handle("does_exist", (1, 2, 3)),
                      "It works")
     srv.backend.rpc_does_exist.assert_called_with(1, 2, 3)
예제 #2
0
 def test_should_initialize_and_call_refactor_object_without_args(
         self, Refactor):
     filename = self.project_file("foo.py", "import foo")
     srv = server.ElpyRPCServer()
     srv.rpc_refactor(self.project_root, filename, 'foo', None)
     Refactor.assert_called_with(self.project_root, filename)
     Refactor.return_value.get_changes.assert_called_with('foo')
예제 #3
0
    def test_should_initialize_and_call_refactor_object(self, Refactor):
        filename = self.project_file("foo.py", "import foo")
        srv = server.ElpyRPCServer()
        srv.project_root = self.project_root

        srv.rpc_get_refactor_options(filename, 5)

        Refactor.assert_called_with(self.project_root, filename)
        Refactor.return_value.get_refactor_options.assert_called_with(5, None)
예제 #4
0
 def test_should_call_pydoc_completions(self, get_pydoc_completions):
     srv = server.ElpyRPCServer()
     srv.rpc_get_pydoc_completions()
     get_pydoc_completions.assert_called_with(None)
     srv.rpc_get_pydoc_completions("foo")
     get_pydoc_completions.assert_called_with("foo")
예제 #5
0
 def setUp(self):
     self.srv = server.ElpyRPCServer()
예제 #6
0
 def test_should_return_available_backends(self):
     srv = server.ElpyRPCServer()
     self.JediBackend.return_value = None
     self.assertEqual(sorted(srv.rpc_get_available_backends()),
                      sorted(["native", "rope"]))
예제 #7
0
 def test_should_get_new_backend(self):
     srv = server.ElpyRPCServer()
     srv.rpc_set_backend("jedi")
     self.assertEqual(srv.rpc_get_backend(),
                      "jedi")
예제 #8
0
 def test_should_fail_if_backend_is_inactive(self):
     self.JediBackend.return_value = None
     srv = server.ElpyRPCServer()
     self.assertRaises(ValueError,
                       srv.rpc_set_backend, "jedi")
예제 #9
0
 def test_should_fail_on_inexisting_backend(self):
     srv = server.ElpyRPCServer()
     self.assertRaises(ValueError,
                       srv.rpc_set_backend, "doesnotexist")
예제 #10
0
 def test_should_return_arguments(self):
     srv = server.ElpyRPCServer()
     self.assertEqual(srv.rpc_echo("hello", "world"),
                      ("hello", "world"))
예제 #11
0
 def test_should_fail_for_missing_method(self):
     srv = server.ElpyRPCServer()
     srv.backend = object()
     self.assertRaises(server.Fault,
                       srv.handle, "does_not_exist", ())
예제 #12
0
 def test_should_select_native_if_nothing_else_is_available(self):
     self.RopeBackend.return_value = None
     self.JediBackend.return_value = None
     srv = server.ElpyRPCServer()
     self.assertEqual(srv.rpc_get_backend(), "native")
예제 #13
0
 def test_should_select_jedi_if_rope_is_not_available(self):
     self.RopeBackend.return_value = None
     srv = server.ElpyRPCServer()
     self.assertEqual(srv.rpc_get_backend(), "jedi")
예제 #14
0
 def test_should_select_rope_if_available(self):
     srv = server.ElpyRPCServer()
     self.assertEqual(srv.rpc_get_backend(), "rope")
예제 #15
0
 def test_should_return_traceback(self):
     srv = server.ElpyRPCServer()
     srv.last_traceback = "foo"
     self.assertEqual(srv.rpc_get_traceback(),
                      "foo")
예제 #16
0
 def test_should_fail_if_rope_is_not_available(self, import_):
     import_.side_effect = ImportError
     filename = self.project_file("foo.py", "")
     srv = server.ElpyRPCServer()
     self.assertRaises(ImportError, srv.rpc_refactor, filename, 'foo', ())
예제 #17
0
 def test_should_return_current_version(self):
     srv = server.ElpyRPCServer()
     self.assertEqual(srv.rpc_version(),
                      elpy.__version__)