def test_application_doesnt_validate_document_due_to_env_var(self, check_integrity: MagicMock, monkeypatch: pytest.MonkeyPatch) -> None: monkeypatch.setenv("BOKEH_VALIDATE_DOC", "false") a = baa.Application() d = Document() d.add_root(figure()) a.initialize_document(d) assert not check_integrity.called
def test_application_validates_document_by_default( self, check_integrity) -> None: a = baa.Application() d = Document() d.add_root(figure()) a.initialize_document(d) assert check_integrity.called
def test_bokeh_to_http_request(self): app = baa.Application() doc = app.create_document() session_context = MockSessionContext(doc) doc._session_context = session_context ret = bokeh_to_http_request_handler(doc) self.assertIsInstance(ret, HttpRequest)
def test_failed_handler(self, caplog) -> None: a = baa.Application() handler = CodeHandler(filename="junk", source="bad(") a.add(handler) d = Document() with caplog.at_level(logging.ERROR): assert len(caplog.records) == 0 a.initialize_document(d) assert len(caplog.records) == 1
def test_one_handler(self) -> None: a = baa.Application() def add_roots(doc): doc.add_root(AnotherModelInTestApplication()) doc.add_root(SomeModelInTestApplication()) handler = FunctionHandler(add_roots) a.add(handler) doc = a.create_document() assert len(doc.roots) == 2
def test_add_workspaces_to_document(self, _, __, ___, ____): app = baa.Application() doc = app.create_document() session_context = MockSessionContext(doc) doc._session_context = session_context ret = add_workspaces_to_document_handler(doc) self.assertIn('_get_user_workspace', ret[0].__repr__()) self.assertIn('app_workspace', ret[1].__repr__())
def test_two_handlers_in_init(self) -> None: def add_roots(doc): doc.add_root(AnotherModelInTestApplication()) doc.add_root(SomeModelInTestApplication()) def add_one_root(doc): doc.add_root(AnotherModelInTestApplication()) handler = FunctionHandler(add_roots) handler2 = FunctionHandler(add_one_root) a = baa.Application(handler, handler2) doc = a.create_document() assert len(doc.roots) == 3
def test_no_static_path(self) -> None: a = baa.Application() def add_roots(doc): doc.add_root(AnotherModelInTestApplication()) doc.add_root(SomeModelInTestApplication()) def add_one_root(doc): doc.add_root(AnotherModelInTestApplication()) handler = FunctionHandler(add_roots) a.add(handler) handler2 = FunctionHandler(add_one_root) a.add(handler2) assert a.static_path == None
def test_safe_to_fork(self) -> None: def add_roots(doc): doc.add_root(AnotherModelInTestApplication()) doc.add_root(SomeModelInTestApplication()) def add_one_root(doc): doc.add_root(AnotherModelInTestApplication()) handler = FunctionHandler(add_roots) handler2 = FunctionHandler(add_one_root) a = baa.Application(handler, handler2) assert a.safe_to_fork a.create_document() assert not a.safe_to_fork
def test_excess_static_path(self) -> None: a = baa.Application() def add_roots(doc): doc.add_root(AnotherModelInTestApplication()) doc.add_root(SomeModelInTestApplication()) def add_one_root(doc): doc.add_root(AnotherModelInTestApplication()) handler = FunctionHandler(add_roots) handler._static = "foo" a.add(handler) handler2 = FunctionHandler(add_one_root) handler2._static = "bar" with pytest.raises(RuntimeError) as e: a.add(handler2) assert "More than one static path" in str(e.value)
def test_process_request(self) -> None: a = baa.Application() a.add(RequestHandler(dict(a=10))) a.add(RequestHandler(dict(b=20))) a.add(RequestHandler(dict(a=30))) assert a.process_request("request") == dict(a=30, b=20)
def test_invalid_kwarg(self) -> None: with pytest.raises(TypeError): baa.Application(junk="foo")
def test_empty(self) -> None: a = baa.Application() doc = a.create_document() assert not doc.roots
def test_metadata(self) -> None: a = baa.Application(metadata="foo") a.create_document() assert a.metadata == "foo"