hardpy 0.3.0__tar.gz → 0.4.0__tar.gz

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 (74) hide show
  1. {hardpy-0.3.0 → hardpy-0.4.0}/PKG-INFO +2 -2
  2. {hardpy-0.3.0 → hardpy-0.4.0}/README.md +1 -1
  3. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/__init__.py +9 -1
  4. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/api.py +15 -0
  5. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/asset-manifest.json +3 -3
  6. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/index.html +1 -1
  7. hardpy-0.4.0/hardpy/hardpy_panel/frontend/dist/static/js/main.37744128.js +3 -0
  8. hardpy-0.4.0/hardpy/hardpy_panel/frontend/dist/static/js/main.37744128.js.map +1 -0
  9. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/runner.py +2 -0
  10. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/const.py +1 -0
  11. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/schema.py +23 -2
  12. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/plugin.py +4 -0
  13. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/pytest_call.py +84 -3
  14. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/pytest_wrapper.py +29 -0
  15. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/reporter/hook_reporter.py +12 -5
  16. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/__init__.py +17 -1
  17. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/config_data.py +5 -1
  18. hardpy-0.4.0/hardpy/pytest_hardpy/utils/dialog_box.py +100 -0
  19. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/exception.py +7 -0
  20. {hardpy-0.3.0 → hardpy-0.4.0}/pyproject.toml +1 -1
  21. hardpy-0.3.0/hardpy/hardpy_panel/frontend/dist/static/js/main.8ef63e9b.js +0 -3
  22. hardpy-0.3.0/hardpy/hardpy_panel/frontend/dist/static/js/main.8ef63e9b.js.map +0 -1
  23. {hardpy-0.3.0 → hardpy-0.4.0}/.gitignore +0 -0
  24. {hardpy-0.3.0 → hardpy-0.4.0}/LICENSE +0 -0
  25. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/__init__.py +0 -0
  26. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/favicon.ico +0 -0
  27. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/logo512.png +0 -0
  28. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/manifest.json +0 -0
  29. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/css/main.e8a862f1.css +0 -0
  30. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/css/main.e8a862f1.css.map +0 -0
  31. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/808.ce070002.chunk.js +0 -0
  32. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/808.ce070002.chunk.js.map +0 -0
  33. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-16px-paths.d605910e.chunk.js +0 -0
  34. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-16px-paths.d605910e.chunk.js.map +0 -0
  35. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-20px-paths.7ee05cc8.chunk.js +0 -0
  36. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-20px-paths.7ee05cc8.chunk.js.map +0 -0
  37. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-all-paths-loader.0aa89747.chunk.js +0 -0
  38. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-all-paths-loader.0aa89747.chunk.js.map +0 -0
  39. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-all-paths.f63155c9.chunk.js +0 -0
  40. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-all-paths.f63155c9.chunk.js.map +0 -0
  41. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-split-paths-by-size-loader.52a072d3.chunk.js +0 -0
  42. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/js/blueprint-icons-split-paths-by-size-loader.52a072d3.chunk.js.map +0 -0
  43. /hardpy-0.3.0/hardpy/hardpy_panel/frontend/dist/static/js/main.8ef63e9b.js.LICENSE.txt → /hardpy-0.4.0/hardpy/hardpy_panel/frontend/dist/static/js/main.37744128.js.LICENSE.txt +0 -0
  44. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-16.520846c6beb41df528c8.eot +0 -0
  45. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-16.5c52b39c697f2323ce8b.svg +0 -0
  46. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-16.84db1772f4bfb529f64f.woff +0 -0
  47. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-16.b67ee1736e20e37a3225.woff2 +0 -0
  48. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-16.e02ecf515378db143652.ttf +0 -0
  49. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-20.429cacb8accf72488451.ttf +0 -0
  50. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-20.6ae3791ee2d86fc228a6.svg +0 -0
  51. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-20.8cecf62de42997e4d82f.woff2 +0 -0
  52. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-20.afbadb627d43b7857223.eot +0 -0
  53. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/blueprint-icons-20.e857f5a5132b8bfa71a1.woff +0 -0
  54. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/hardpy_panel/frontend/dist/static/media/logo_smol.5b16f92447a4a9e80331.png +0 -0
  55. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/__init__.py +0 -0
  56. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/__init__.py +0 -0
  57. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/base_connector.py +0 -0
  58. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/base_server.py +0 -0
  59. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/base_store.py +0 -0
  60. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/runstore.py +0 -0
  61. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/db/statestore.py +0 -0
  62. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/reporter/__init__.py +0 -0
  63. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/reporter/base.py +0 -0
  64. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/reporter/runner_reporter.py +0 -0
  65. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/__init__.py +0 -0
  66. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/couchdb_config.py +0 -0
  67. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/report_loader/__init__.py +0 -0
  68. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/report_loader/couchdb_loader.py +0 -0
  69. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/report_reader/__init__.py +0 -0
  70. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/result/report_reader/couchdb_reader.py +0 -0
  71. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/const.py +0 -0
  72. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/node_info.py +0 -0
  73. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/progress_calculator.py +0 -0
  74. {hardpy-0.3.0 → hardpy-0.4.0}/hardpy/pytest_hardpy/utils/singleton.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hardpy
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: HardPy library for device testing
5
5
  Project-URL: repository, https://github.com/everypindevices/hardpy
6
6
  Author: Everypin
@@ -62,7 +62,7 @@ HardPy is a python library for creating a test bench for devices.
62
62
  HardPy allows you to:
63
63
 
64
64
  * Create test benches for devices using [pytest](https://docs.pytest.org/);
65
- * Use a browser to view, run, and stop tests;
65
+ * Use a browser to view, start, stop, and interact with tests;
66
66
  * Store test results in the [CouchDB](https://couchdb.apache.org/) database.
67
67
 
68
68
  ## To Install
@@ -25,7 +25,7 @@ HardPy is a python library for creating a test bench for devices.
25
25
  HardPy allows you to:
26
26
 
27
27
  * Create test benches for devices using [pytest](https://docs.pytest.org/);
28
- * Use a browser to view, run, and stop tests;
28
+ * Use a browser to view, start, stop, and interact with tests;
29
29
  * Store test results in the [CouchDB](https://couchdb.apache.org/) database.
30
30
 
31
31
  ## To Install
@@ -2,8 +2,12 @@
2
2
  # GNU General Public License v3.0 (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)
3
3
 
4
4
  from hardpy.pytest_hardpy.result import CouchdbLoader
5
- from hardpy.pytest_hardpy.utils import DuplicateSerialNumberError
5
+ from hardpy.pytest_hardpy.utils import (
6
+ DuplicateSerialNumberError,
7
+ DuplicateDialogBoxError,
8
+ )
6
9
  from hardpy.pytest_hardpy.result.couchdb_config import CouchdbConfig
10
+ from hardpy.pytest_hardpy.utils import dialog_box
7
11
  from hardpy.pytest_hardpy.pytest_call import (
8
12
  get_current_report,
9
13
  set_dut_info,
@@ -14,12 +18,14 @@ from hardpy.pytest_hardpy.pytest_call import (
14
18
  set_run_artifact,
15
19
  set_message,
16
20
  set_driver_info,
21
+ run_dialog_box,
17
22
  )
18
23
 
19
24
  __all__ = [
20
25
  "CouchdbLoader",
21
26
  "CouchdbConfig",
22
27
  "DuplicateSerialNumberError",
28
+ "DuplicateDialogBoxError",
23
29
  "get_current_report",
24
30
  "set_dut_info",
25
31
  "set_dut_serial_number",
@@ -29,4 +35,6 @@ __all__ = [
29
35
  "set_run_artifact",
30
36
  "set_message",
31
37
  "set_driver_info",
38
+ "run_dialog_box",
39
+ "dialog_box",
32
40
  ]
@@ -64,6 +64,21 @@ def couch_connection():
64
64
  }
65
65
 
66
66
 
67
+ @app.post("/api/confirm_dialog_box/{dialog_box_output}")
68
+ def confirm_dialog_box(dialog_box_output: str):
69
+ """Confirm dialog box.
70
+
71
+ Args:
72
+ dialog_box_output (str): output data from dialog box.
73
+
74
+ Returns:
75
+ dict[str, RunStatus]: run status
76
+ """
77
+ if app.state.pytest_wrp.confirm_dialog_box(dialog_box_output):
78
+ return {"status": Status.BUSY}
79
+ return {"status": Status.ERROR}
80
+
81
+
67
82
  app.mount(
68
83
  "/",
69
84
  StaticFiles(directory=(os.path.dirname(__file__)) + "/frontend/dist", html=True),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/static/css/main.e8a862f1.css",
4
- "main.js": "/static/js/main.8ef63e9b.js",
4
+ "main.js": "/static/js/main.37744128.js",
5
5
  "blueprint-icons-all-paths-loader.js": "/static/js/blueprint-icons-all-paths-loader.0aa89747.chunk.js",
6
6
  "blueprint-icons-split-paths-by-size-loader.js": "/static/js/blueprint-icons-split-paths-by-size-loader.52a072d3.chunk.js",
7
7
  "static/js/808.ce070002.chunk.js": "/static/js/808.ce070002.chunk.js",
@@ -21,7 +21,7 @@
21
21
  "static/media/logo_smol.png": "/static/media/logo_smol.5b16f92447a4a9e80331.png",
22
22
  "index.html": "/index.html",
23
23
  "main.e8a862f1.css.map": "/static/css/main.e8a862f1.css.map",
24
- "main.8ef63e9b.js.map": "/static/js/main.8ef63e9b.js.map",
24
+ "main.37744128.js.map": "/static/js/main.37744128.js.map",
25
25
  "blueprint-icons-all-paths-loader.0aa89747.chunk.js.map": "/static/js/blueprint-icons-all-paths-loader.0aa89747.chunk.js.map",
26
26
  "blueprint-icons-split-paths-by-size-loader.52a072d3.chunk.js.map": "/static/js/blueprint-icons-split-paths-by-size-loader.52a072d3.chunk.js.map",
27
27
  "808.ce070002.chunk.js.map": "/static/js/808.ce070002.chunk.js.map",
@@ -31,6 +31,6 @@
31
31
  },
32
32
  "entrypoints": [
33
33
  "static/css/main.e8a862f1.css",
34
- "static/js/main.8ef63e9b.js"
34
+ "static/js/main.37744128.js"
35
35
  ]
36
36
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>HardPy Operator Panel</title><script defer="defer" src="/static/js/main.8ef63e9b.js"></script><link href="/static/css/main.e8a862f1.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>HardPy Operator Panel</title><script defer="defer" src="/static/js/main.37744128.js"></script><link href="/static/css/main.e8a862f1.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>