dbgr-server 1.1.0.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. dbgr_server/__init__.py +1 -0
  2. dbgr_server/__main__.py +61 -0
  3. dbgr_server/app.py +139 -0
  4. dbgr_server/constants.py +10 -0
  5. dbgr_server/routes.py +22 -0
  6. dbgr_server/static/fonts/MapleMono-NF-Bold.ttf +0 -0
  7. dbgr_server/static/fonts/MapleMono-NF-BoldItalic.ttf +0 -0
  8. dbgr_server/static/fonts/MapleMono-NF-Italic.ttf +0 -0
  9. dbgr_server/static/fonts/MapleMono-NF-Regular.ttf +0 -0
  10. dbgr_server/static/images/favicon.ico +0 -0
  11. dbgr_server/static/javascripts/dist/0d8bb5b3ee5f5dac9e44.woff2 +0 -0
  12. dbgr_server/static/javascripts/dist/16b1558858fe1064b5af.woff +0 -0
  13. dbgr_server/static/javascripts/dist/176f8f5bd5f02b3abfcf.woff2 +0 -0
  14. dbgr_server/static/javascripts/dist/18d00f739ff1e1c52db1.woff +0 -0
  15. dbgr_server/static/javascripts/dist/1b3b4f49d5b3b3fb2c20.jpg +0 -0
  16. dbgr_server/static/javascripts/dist/1ce08cfde36c0d81af5b.woff +0 -0
  17. dbgr_server/static/javascripts/dist/213eedde97d22010287c.woff +0 -0
  18. dbgr_server/static/javascripts/dist/2267169ee7270a22a963.woff +0 -0
  19. dbgr_server/static/javascripts/dist/24a9d3bbf9b715214bf5.woff +0 -0
  20. dbgr_server/static/javascripts/dist/2900d24e7347deaf65cd.woff +0 -0
  21. dbgr_server/static/javascripts/dist/2ed4651232a34d737777.woff +0 -0
  22. dbgr_server/static/javascripts/dist/37a7069dc30fc663c878.woff2 +0 -0
  23. dbgr_server/static/javascripts/dist/451d4e559d6f57cdf6a1.woff +0 -0
  24. dbgr_server/static/javascripts/dist/4674f8ded773cb03e824.eot +0 -0
  25. dbgr_server/static/javascripts/dist/498042b7fe9cd07b4fd1.woff +0 -0
  26. dbgr_server/static/javascripts/dist/49ae34d4cc6b98c00c69.woff +0 -0
  27. dbgr_server/static/javascripts/dist/51aa168dd4ba03bd83f0.woff2 +0 -0
  28. dbgr_server/static/javascripts/dist/535bc89d4af715503b01.woff2 +0 -0
  29. dbgr_server/static/javascripts/dist/53b43867955fbecc811a.woff2 +0 -0
  30. dbgr_server/static/javascripts/dist/5e7382c63da0098d634a.ttf +0 -0
  31. dbgr_server/static/javascripts/dist/640f8692dc49a19f1541.woff +0 -0
  32. dbgr_server/static/javascripts/dist/79f21d796f266ce0ea70.woff +0 -0
  33. dbgr_server/static/javascripts/dist/7d8125ff7f707231fd89.woff2 +0 -0
  34. dbgr_server/static/javascripts/dist/7f7e9cd596438fea4b02.woff2 +0 -0
  35. dbgr_server/static/javascripts/dist/7f839a8652da29745ce4.woff2 +0 -0
  36. dbgr_server/static/javascripts/dist/83bebaf37c09c7e1c3ee.woff +0 -0
  37. dbgr_server/static/javascripts/dist/865f928cbabcc9f8f2b5.woff +0 -0
  38. dbgr_server/static/javascripts/dist/870c8c1486f76054301a.woff2 +0 -0
  39. dbgr_server/static/javascripts/dist/9216be4e13fe7dbe70ef.woff2 +0 -0
  40. dbgr_server/static/javascripts/dist/9360531f9bb817f917f0.woff +0 -0
  41. dbgr_server/static/javascripts/dist/969a44e1b6fc26105bd6.woff2 +0 -0
  42. dbgr_server/static/javascripts/dist/a45108d3b34af91f9113.woff +0 -0
  43. dbgr_server/static/javascripts/dist/b1d9d9904bfca8802a63.woff +0 -0
  44. dbgr_server/static/javascripts/dist/b39a11f9a6107e57a21f.woff2 +0 -0
  45. dbgr_server/static/javascripts/dist/bac8362e7a6ea60b6983.woff +0 -0
  46. dbgr_server/static/javascripts/dist/bbbf6951525a78fff340.woff +0 -0
  47. dbgr_server/static/javascripts/dist/bc628a95b5026af0df2c.woff2 +0 -0
  48. dbgr_server/static/javascripts/dist/bd5b7a13f2c52b531a2a.woff +0 -0
  49. dbgr_server/static/javascripts/dist/bf4b4e73015a3066da91.woff +0 -0
  50. dbgr_server/static/javascripts/dist/bfe6eaec56c141a0bd72.woff2 +0 -0
  51. dbgr_server/static/javascripts/dist/c18ee39fb002ad58b6dc.woff2 +0 -0
  52. dbgr_server/static/javascripts/dist/c1f17364fee75703a7ee.woff2 +0 -0
  53. dbgr_server/static/javascripts/dist/c20d916c1a1b094c1cec.woff +0 -0
  54. dbgr_server/static/javascripts/dist/c2aa4ab115bf9c6057cb.woff2 +0 -0
  55. dbgr_server/static/javascripts/dist/c5c3959c04004102ea46.woff2 +0 -0
  56. dbgr_server/static/javascripts/dist/c64e7e354c88e613c77c.woff2 +0 -0
  57. dbgr_server/static/javascripts/dist/ca100b2be6274105bb16.woff +0 -0
  58. dbgr_server/static/javascripts/dist/cb5ad999740e9d8a8bd1.woff2 +0 -0
  59. dbgr_server/static/javascripts/dist/cc9e42999888377183f8.woff2 +0 -0
  60. dbgr_server/static/javascripts/dist/cea99d3e3e13a3a599a0.woff +0 -0
  61. dbgr_server/static/javascripts/dist/cff684e59ffb052d72cb.woff2 +0 -0
  62. dbgr_server/static/javascripts/dist/d022bc70dc1bf7b3425d.woff2 +0 -0
  63. dbgr_server/static/javascripts/dist/d97850bb044fb5584361.woff2 +0 -0
  64. dbgr_server/static/javascripts/dist/da65dcd09cdc4863ece2.woff +0 -0
  65. dbgr_server/static/javascripts/dist/dbgr.js +1463 -0
  66. dbgr_server/static/javascripts/dist/eba647ae67ba7dc20f05.woff +0 -0
  67. dbgr_server/static/javascripts/dist/f5b74d7ffcdf85b9dd60.woff2 +0 -0
  68. dbgr_server/static/javascripts/dist/ff2c5c919a01e9ddda85.woff2 +0 -0
  69. dbgr_server/static/javascripts/dist/home.js +1037 -0
  70. dbgr_server/static/libs/material-design-lite/material.indigo-red.min.css +8 -0
  71. dbgr_server/templates/_layout.html +17 -0
  72. dbgr_server/templates/dbgr.html +138 -0
  73. dbgr_server/templates/home.html +115 -0
  74. dbgr_server/utils/__init__.py +0 -0
  75. dbgr_server/utils/state.py +249 -0
  76. dbgr_server/utils/streams.py +151 -0
  77. dbgr_server/utils/technical.py +132 -0
  78. dbgr_server/views.py +298 -0
  79. dbgr_server-1.1.0.dev1.data/scripts/dbgr.server.py +105 -0
  80. dbgr_server-1.1.0.dev1.dist-info/METADATA +534 -0
  81. dbgr_server-1.1.0.dev1.dist-info/RECORD +86 -0
  82. dbgr_server-1.1.0.dev1.dist-info/WHEEL +5 -0
  83. dbgr_server-1.1.0.dev1.dist-info/licenses/LICENSE +674 -0
  84. dbgr_server-1.1.0.dev1.dist-info/top_level.txt +2 -0
  85. tests/__init__.py +0 -0
  86. tests/test_app.py +84 -0
tests/test_app.py ADDED
@@ -0,0 +1,84 @@
1
+ # pylint: disable=missing-function-docstring,redefined-outer-name
2
+ # pylint: disable=protected-access,no-member,missing-class-docstring
3
+ # Stdlib:
4
+ import asyncio
5
+ import json
6
+
7
+ # Thirdparty:
8
+ import pytest
9
+
10
+ # Firstparty:
11
+ import dbgr_server
12
+ from dbgr_server.app import init_app, init_versions
13
+ from dbgr_server.constants import THEME
14
+ from dbgr_server.utils.state import settings as settings_store
15
+
16
+
17
+ class MockResponse:
18
+ def __init__(self, text, status_code=200):
19
+ self._text = text
20
+ self.status_code = status_code
21
+
22
+ def json(self):
23
+ if isinstance(self._text, Exception):
24
+ raise self._text
25
+ return json.loads(self._text)
26
+
27
+
28
+ async def test_init_versions(mocker):
29
+ from fastapi import FastAPI # pylint: disable=import-outside-toplevel
30
+ app = FastAPI()
31
+ remote_version = "future_version"
32
+
33
+ mocker.patch(
34
+ "httpx.AsyncClient.get",
35
+ return_value=MockResponse(json.dumps({"info": {"version": remote_version}})),
36
+ )
37
+ await init_versions(app)
38
+ assert app.state.new_version == remote_version
39
+ assert app.state.pypi_version == remote_version
40
+ assert app.state.version == dbgr_server.__version__
41
+
42
+ mocker.patch(
43
+ "httpx.AsyncClient.get",
44
+ return_value=MockResponse(
45
+ json.dumps({"info": {"version": dbgr_server.__version__}})
46
+ ),
47
+ )
48
+ await init_versions(app)
49
+ assert app.state.new_version is False
50
+ assert app.state.pypi_version == dbgr_server.__version__
51
+ assert app.state.version == dbgr_server.__version__
52
+
53
+ import httpx # pylint: disable=import-outside-toplevel
54
+ mocker.patch("httpx.AsyncClient.get", side_effect=httpx.TimeoutException(""))
55
+ await init_versions(app)
56
+ assert app.state.new_version is False
57
+ assert app.state.pypi_version == "pypi_error"
58
+
59
+ mocker.patch(
60
+ "httpx.AsyncClient.get",
61
+ return_value=MockResponse("badvalue"),
62
+ )
63
+ await init_versions(app)
64
+ assert app.state.new_version is False
65
+ assert app.state.pypi_version == "parsing_error"
66
+
67
+ mocker.patch("httpx.AsyncClient.get", side_effect=Exception())
68
+ await init_versions(app)
69
+ assert app.state.new_version is False
70
+ assert app.state.pypi_version == "unknown_error"
71
+
72
+
73
+ async def test_init_app():
74
+ test_settings = {
75
+ "debug": True,
76
+ "extra_search_path": True,
77
+ "more": True,
78
+ "show_filename": True,
79
+ }
80
+ app = await init_app(test_settings)
81
+ assert app.state.settings == settings_store
82
+ for key in test_settings:
83
+ assert test_settings[key] == getattr(app.state.settings, key)
84
+ assert app.state.theme == THEME