argus-alm 0.15.2__tar.gz → 0.15.3__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.
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.github/workflows/release.yml +4 -2
- argus_alm-0.15.3/MANIFEST.in +2 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/PKG-INFO +1 -1
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/_version.py +2 -2
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/generic_result.py +6 -1
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/PKG-INFO +1 -1
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/SOURCES.txt +1 -104
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/SCTParameterWizard.svelte +2 -2
- argus_alm-0.15.2/argus/backend/cli.py +0 -57
- argus_alm-0.15.2/argus/backend/controller/admin.py +0 -20
- argus_alm-0.15.2/argus/backend/controller/admin_api.py +0 -355
- argus_alm-0.15.2/argus/backend/controller/api.py +0 -589
- argus_alm-0.15.2/argus/backend/controller/auth.py +0 -67
- argus_alm-0.15.2/argus/backend/controller/client_api.py +0 -109
- argus_alm-0.15.2/argus/backend/controller/main.py +0 -316
- argus_alm-0.15.2/argus/backend/controller/notification_api.py +0 -72
- argus_alm-0.15.2/argus/backend/controller/notifications.py +0 -13
- argus_alm-0.15.2/argus/backend/controller/planner_api.py +0 -194
- argus_alm-0.15.2/argus/backend/controller/team.py +0 -129
- argus_alm-0.15.2/argus/backend/controller/team_ui.py +0 -19
- argus_alm-0.15.2/argus/backend/controller/testrun_api.py +0 -513
- argus_alm-0.15.2/argus/backend/controller/view_api.py +0 -188
- argus_alm-0.15.2/argus/backend/controller/views_widgets/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/controller/views_widgets/graphed_stats.py +0 -54
- argus_alm-0.15.2/argus/backend/controller/views_widgets/graphs.py +0 -68
- argus_alm-0.15.2/argus/backend/controller/views_widgets/highlights.py +0 -135
- argus_alm-0.15.2/argus/backend/controller/views_widgets/nemesis_stats.py +0 -26
- argus_alm-0.15.2/argus/backend/controller/views_widgets/summary.py +0 -43
- argus_alm-0.15.2/argus/backend/db.py +0 -98
- argus_alm-0.15.2/argus/backend/error_handlers.py +0 -41
- argus_alm-0.15.2/argus/backend/events/event_processors.py +0 -34
- argus_alm-0.15.2/argus/backend/models/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/models/argus_ai.py +0 -24
- argus_alm-0.15.2/argus/backend/models/github_issue.py +0 -60
- argus_alm-0.15.2/argus/backend/models/plan.py +0 -24
- argus_alm-0.15.2/argus/backend/models/result.py +0 -187
- argus_alm-0.15.2/argus/backend/models/runtime_store.py +0 -58
- argus_alm-0.15.2/argus/backend/models/view_widgets.py +0 -25
- argus_alm-0.15.2/argus/backend/models/web.py +0 -403
- argus_alm-0.15.2/argus/backend/plugins/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/plugins/core.py +0 -248
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/controller.py +0 -66
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/model.py +0 -429
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/plugin.py +0 -21
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/raw_types.py +0 -62
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/service.py +0 -61
- argus_alm-0.15.2/argus/backend/plugins/driver_matrix_tests/udt.py +0 -42
- argus_alm-0.15.2/argus/backend/plugins/generic/model.py +0 -86
- argus_alm-0.15.2/argus/backend/plugins/generic/plugin.py +0 -15
- argus_alm-0.15.2/argus/backend/plugins/generic/types.py +0 -14
- argus_alm-0.15.2/argus/backend/plugins/loader.py +0 -39
- argus_alm-0.15.2/argus/backend/plugins/sct/controller.py +0 -224
- argus_alm-0.15.2/argus/backend/plugins/sct/plugin.py +0 -37
- argus_alm-0.15.2/argus/backend/plugins/sct/resource_setup.py +0 -177
- argus_alm-0.15.2/argus/backend/plugins/sct/service.py +0 -682
- argus_alm-0.15.2/argus/backend/plugins/sct/testrun.py +0 -288
- argus_alm-0.15.2/argus/backend/plugins/sct/udt.py +0 -100
- argus_alm-0.15.2/argus/backend/plugins/sirenada/model.py +0 -118
- argus_alm-0.15.2/argus/backend/plugins/sirenada/plugin.py +0 -16
- argus_alm-0.15.2/argus/backend/service/admin.py +0 -26
- argus_alm-0.15.2/argus/backend/service/argus_service.py +0 -696
- argus_alm-0.15.2/argus/backend/service/build_system_monitor.py +0 -185
- argus_alm-0.15.2/argus/backend/service/client_service.py +0 -127
- argus_alm-0.15.2/argus/backend/service/event_service.py +0 -18
- argus_alm-0.15.2/argus/backend/service/github_service.py +0 -233
- argus_alm-0.15.2/argus/backend/service/jenkins_service.py +0 -269
- argus_alm-0.15.2/argus/backend/service/notification_manager.py +0 -159
- argus_alm-0.15.2/argus/backend/service/planner_service.py +0 -608
- argus_alm-0.15.2/argus/backend/service/release_manager.py +0 -229
- argus_alm-0.15.2/argus/backend/service/results_service.py +0 -690
- argus_alm-0.15.2/argus/backend/service/stats.py +0 -610
- argus_alm-0.15.2/argus/backend/service/team_manager_service.py +0 -82
- argus_alm-0.15.2/argus/backend/service/test_lookup.py +0 -172
- argus_alm-0.15.2/argus/backend/service/testrun.py +0 -489
- argus_alm-0.15.2/argus/backend/service/user.py +0 -308
- argus_alm-0.15.2/argus/backend/service/views.py +0 -219
- argus_alm-0.15.2/argus/backend/service/views_widgets/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/service/views_widgets/graphed_stats.py +0 -180
- argus_alm-0.15.2/argus/backend/service/views_widgets/highlights.py +0 -374
- argus_alm-0.15.2/argus/backend/service/views_widgets/nemesis_stats.py +0 -34
- argus_alm-0.15.2/argus/backend/template_filters.py +0 -27
- argus_alm-0.15.2/argus/backend/tests/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/tests/client_service/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/tests/client_service/test_submit_results.py +0 -79
- argus_alm-0.15.2/argus/backend/tests/conftest.py +0 -180
- argus_alm-0.15.2/argus/backend/tests/results_service/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/tests/results_service/test_best_results.py +0 -178
- argus_alm-0.15.2/argus/backend/tests/results_service/test_cell.py +0 -65
- argus_alm-0.15.2/argus/backend/tests/results_service/test_chartjs_additional_functions.py +0 -259
- argus_alm-0.15.2/argus/backend/tests/results_service/test_create_chartjs.py +0 -220
- argus_alm-0.15.2/argus/backend/tests/results_service/test_result_metadata.py +0 -100
- argus_alm-0.15.2/argus/backend/tests/results_service/test_results_service.py +0 -203
- argus_alm-0.15.2/argus/backend/tests/results_service/test_validation_rules.py +0 -213
- argus_alm-0.15.2/argus/backend/tests/view_widgets/__init__.py +0 -0
- argus_alm-0.15.2/argus/backend/tests/view_widgets/test_highlights_api.py +0 -532
- argus_alm-0.15.2/argus/backend/util/common.py +0 -65
- argus_alm-0.15.2/argus/backend/util/config.py +0 -38
- argus_alm-0.15.2/argus/backend/util/encoders.py +0 -56
- argus_alm-0.15.2/argus/backend/util/logsetup.py +0 -80
- argus_alm-0.15.2/argus/backend/util/module_loaders.py +0 -30
- argus_alm-0.15.2/argus/backend/util/send_email.py +0 -91
- argus_alm-0.15.2/argus/client/tests/__init__.py +0 -0
- argus_alm-0.15.2/argus/client/tests/conftest.py +0 -19
- argus_alm-0.15.2/argus/client/tests/test_package.py +0 -45
- argus_alm-0.15.2/argus/client/tests/test_results.py +0 -224
- argus_alm-0.15.2/argus/common/__init__.py +0 -0
- argus_alm-0.15.2/argusAI/utils/__init__.py +0 -0
- argus_alm-0.15.2/profile/.gitkeep +0 -0
- argus_alm-0.15.2/pytest-argus-reporter/tests/conftest.py +0 -75
- argus_alm-0.15.2/pytest-argus-reporter/tests/test_argus_reporter.py +0 -511
- argus_alm-0.15.2/pytest-argus-reporter/tests/test_slices.py +0 -61
- argus_alm-0.15.2/pytest-argus-reporter/tests/test_xdist.py +0 -42
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.dockerignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.envrc +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.eslintrc.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.github/workflows/.gitkeep +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.github/workflows/lint.yml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.github/workflows/test.yml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.gitignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.pre-commit-config.yaml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/.prettierrc.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/Dockerfile +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/LICENSE +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/README.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/__init__.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/__init__.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/base.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/driver_matrix_tests/cli.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/driver_matrix_tests/client.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/generic/cli.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/generic/client.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/sct/client.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/sct/types.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/client/sirenada/client.py +0 -0
- {argus_alm-0.15.2/argus/backend → argus_alm-0.15.3/argus/common}/__init__.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/common/enums.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/common/sct_types.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus/common/sirenada_types.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus.yaml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/README.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/deployment/argusai_event_similarity_processor.service +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/event_similarity_processor.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/logs/.gitignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/pyproject.toml +0 -0
- {argus_alm-0.15.2/argus/backend/controller → argus_alm-0.15.3/argusAI/utils}/__init__.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/utils/event_message_sanitizer.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/utils/scylla_connection.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argusAI/uv.lock +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/dependency_links.txt +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/entry_points.txt +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/requires.txt +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_alm.egg-info/top_level.txt +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_backend.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/argus_web.example.yaml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/commitlint.config.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/.gitignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/alpha-config/cassandra-rackdc.properties +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/alpha-config/machine_image_configured +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/alpha-config/scylla.yaml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/alpha-data/.gitignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/docker-compose.yaml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/export_data.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/dev-db/import_data.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docker/config/nginx-docker.conf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docker/config/supervisord.conf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docker-entrypoint.sh +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/api_usage.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/argus_status_page.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/argus_status_page_diagram.jpg +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/config/argus.nginx.conf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/config/argus.service +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/dev-setup.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/generic_results.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/docs/pypi-guide.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/AdminPanel.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/AdminPanelWelcome.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/BatchTestMover.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/GroupCreator.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseCreator.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseDeletionConfirmationPopup.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseEditor.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseManager.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseManagerGroup.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ReleaseManagerTest.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/TestCreator.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/UserManager.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ViewListItem.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ViewSelectItem.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ViewWidget.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/AdminPanel/ViewsManager.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Alert.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Alerts/AlertMessage.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Alerts/AlertWidget.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/ApiUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/ArgusNotification.ts +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/AssigneeSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/AssigneeUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/DateUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/DriverMatrixTypes.ts +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/IssueDestinations.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/JenkinsSettingsHelp.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/ModalWindow.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/PluginDispatch.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/PluginNames.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/RunUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/SelectUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/StateManagement.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/TestStatus.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/TextUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/UserTypes.ts +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/UserUtils.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Common/ViewTypes.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Debug/FlashDebugComponent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Discussion/Comment.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Discussion/CommentEditor.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Discussion/MarkedMentionExtension.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Discussion/MentionSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Discussion/UserProfile.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Github/GithubIssue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Github/GithubIssues.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Github/GithubIssuesCopyModal.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/JobsList.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/Login.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/Notification.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/NotificationCommentWrapper.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/NotificationCounter.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/NotificationSender.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/NotificationTestRunWrapper.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/NotificationsReader.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/ProfileJob.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/ProfileJobs.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/ProfileJobsTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/ProfileSchedules.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/User.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/UserSelection.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Profile/ViewUserResolver.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/AssigneeFilter.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/FlatViewHelper.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/GroupedViewHelper.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/ReleaseActivity.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/ReleaseDashboard.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/ReleaseGithubIssues.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestDashboard.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestDashboardFlatView.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestDashboardGroup.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestDashboardTest.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestPopoutSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleaseDashboard/TestWithIssuesCard.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/CommentTableRow.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/DutyPlanner.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/EntityReplacer.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlan.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlanCopyForm.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlanCreator.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlanEditor.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlanTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlanner.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleasePlannerGridView.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ReleaseScheduler.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/Schedule.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/ScheduleTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/ReleasePlanner/SearchBar.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stats/ChartStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stats/NumberStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stats/ProgressBarStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stats/ReleaseStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stats/StatsFetcher.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/AlertStore.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/AssigneeSubscriber.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/SingleTestRunSubscriber.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/TestRunsSubscriber.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/UserlistSubscriber.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Stores/WorkspaceStore.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamCreateForm.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamDetail.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamList.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamManager.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamMember.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamShort.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Teams/TeamUtils.ts +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ActivityTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ArtifactRow.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ArtifactTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Components/Cell.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Components/Filters.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Components/GraphFilters.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Components/ResultTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Components/ScreenshotModal.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/DriverMatrixBreakdown.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/DriverMatrixRunInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/DriverMatrixTestCollection.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/DriverMatrixTestRun.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/DriverMatrixTestSuites.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/EventsTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Generic/GenericTestRun.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Generic/GenericTestRunInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/HeartbeatIndicator.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/IssueTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/IssueTemplate.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/Build.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/BuildConfirmationDialog.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/BuildStartPlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/BuildSuccessPlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/CheckParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/CloneCreatePlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/CloneSuccess.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/CloneTargetSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/DummyCheckParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/DummySelectParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/JenkinsBuildModal.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/JenkinsCloneModal.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/LoadTargetsPlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/ModalError.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/ParamFetchPlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/ParameterEditor.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/SelectParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/StringParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/TextParam.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Jenkins/WizardUnavailable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/NemesisData.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/NemesisReason.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/NemesisTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/PackagesInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/RawEvent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ResourcesInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ResultsGraph.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ResultsGraphs.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/ResultsTab.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/RunAssigneeSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/RunInvestigationStatusButton.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/RunStatusButton.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/SCTSubTests/Gemini/GeminiTabBodyComponent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/SCTSubTests/Gemini/GeminiTabComponent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/SCTSubTests/Performance/PerformanceTabBodyComponent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/SCTSubTests/Performance/PerformanceTabComponent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/SCTSubTests/Subtest.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Screenshots.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Sirenada/SirenadaIssueTemplate.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Sirenada/SirenadaRunInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Sirenada/SirenadaTestBreakdown.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/Sirenada/SirenadaTestRun.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/StructuredEvent.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/TestRun.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/TestRunComments.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/TestRunInfo.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/jUnitChart.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/TestRun/jUnitResults.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/ViewDashboard.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/ViewSelect.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/WidgetSettingTypes/CheckValue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/WidgetSettingTypes/IntegerValue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/WidgetSettingTypes/MultiSelectValue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/WidgetSettingTypes/MultiStringValue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/WidgetSettingTypes/StringValue.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/GraphsWidget/GraphsWidget.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/SummaryWidget/RunIssues.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/SummaryWidget/SummaryWidget.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGithubIssues.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/AssigneeCell.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/Filters.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/Interfaces.ts +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/InvestigationStatusCell.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/IssuesCell.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/NemesisTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/PaginatedTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/StackTracePreview.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/StatusBadge.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/StatusCell.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats/TestRunTable.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewGraphedStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewHighlights/ActionItem.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewHighlights/Comment.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewHighlights/HighlightItem.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewHighlights/ViewHighlights.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewNemesisStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewReleaseStats.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewTestDashboard.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/Views/Widgets/ViewUnsupportedPlaceholder.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/AssigneeList.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/JobConfigureModal.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/RunGroup.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/RunRelease.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/Test.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/TestRunDispatcher.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/TestRuns.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/TestRunsMessage.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/TestRunsPanel.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/TestRunsSelector.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/UnknownTest.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/WorkArea/WorkArea.svelte +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/admin-panel.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/argus.css +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/argus.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/duty-planner.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/flashDebug.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/font-awesome.css +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/font-awesome.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/NotoSans-Bold.ttf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/NotoSans-BoldItalic.ttf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/NotoSans-Italic.ttf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/NotoSans-Regular.ttf +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/OFL.txt +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/fonts/noto.css +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/login.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/markdownOptions.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/notification-counter.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/plan.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/profile-jobs.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/profile-notifications.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/profile-schedules.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/release-dashboard.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/release-page.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/release-planner.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/release-scheduler.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/run-by-plugin.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/teams.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/test-run-details.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/test-runs-breakout.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/test-runs-standalone.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/view-dashboard.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/view-user-resolver.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/frontend/work-area.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/package.json +0 -0
- {argus_alm-0.15.2/argus/backend → argus_alm-0.15.3/profile}/.gitkeep +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/public/argus.png +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/public/no-user-picture.png +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pyproject.toml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/.envrc +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/LICENSE +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/MANIFEST.in +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/README.md +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/noxfile.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/pyproject.toml +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/pytest-argus-reporter/pytest_argus_reporter.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/run_with_profiler.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/index.html +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/js/status.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/static/app.css +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/static/argus.png +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/static/scylla.png +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/argus-status-page/status.json +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/migration/migration_2023-04-07.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/scripts/migration/migration_2024-04-14.py +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/setup.cfg +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/start_argus.sh +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/storage/profile_pictures/.gitignore +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/admin/base.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/admin/index.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/auth/login.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/auth/register.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/base.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/dashboard.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/duty_planner.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/error.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/flash_debug.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/groups.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/home.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/assigned.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/assigned_email.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/email_mention.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/mention.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/view_action_item_assigned.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/view_action_item_assigned_email.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/view_highlight_mention.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/notifications/view_highlight_mention_email.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/partials/nav_bar.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/plan_dashboard.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/profile.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/profile_jobs.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/profile_notifications.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/profile_schedules.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/release_dashboard.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/release_planner.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/release_schedule.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/releases.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/run_view_by_plugin.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/runs.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/standalone_test_with_runs.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/teams.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/test_run.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/test_runs.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/tests.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/view_dashboard.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/templates/views.html.j2 +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/tsconfig.json +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/uv.lock +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/uwsgi.ini +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/webpack.config.js +0 -0
- {argus_alm-0.15.2 → argus_alm-0.15.3}/yarn.lock +0 -0
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
publish-to-pypi:
|
|
36
36
|
name: >-
|
|
37
37
|
Publish Python 🐍 distribution 📦 to PyPI
|
|
38
|
-
|
|
38
|
+
if: github.ref_type == 'tag'
|
|
39
39
|
needs:
|
|
40
40
|
- build
|
|
41
41
|
runs-on: ubuntu-latest
|
|
@@ -44,6 +44,7 @@ jobs:
|
|
|
44
44
|
url: https://pypi.org/p/argus-alm # Replace <package-name> with your PyPI project name
|
|
45
45
|
permissions:
|
|
46
46
|
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
47
|
+
contents: write
|
|
47
48
|
|
|
48
49
|
steps:
|
|
49
50
|
- name: Download all the dists
|
|
@@ -56,6 +57,7 @@ jobs:
|
|
|
56
57
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
57
58
|
|
|
58
59
|
- name: Create GitHub release
|
|
59
|
-
uses: softprops/action-gh-release@
|
|
60
|
+
uses: softprops/action-gh-release@v2
|
|
60
61
|
with:
|
|
61
62
|
generate_release_notes: true
|
|
63
|
+
files: dist/*
|
|
@@ -155,7 +155,7 @@ class StaticGenericResultTable(GenericResultTable):
|
|
|
155
155
|
"""Results class for static results metainformation, defined in Meta class."""
|
|
156
156
|
|
|
157
157
|
def __init__(
|
|
158
|
-
self, name=None, description=None, columns=None, sut_package_name=None, validation_rules=None
|
|
158
|
+
self, name=None, description=None, columns=None, sut_package_name=None, validation_rules=None, results=None, sut_timestamp=0
|
|
159
159
|
):
|
|
160
160
|
meta = getattr(self.__class__, "Meta")
|
|
161
161
|
super().__init__(
|
|
@@ -165,4 +165,9 @@ class StaticGenericResultTable(GenericResultTable):
|
|
|
165
165
|
sut_package_name=sut_package_name or getattr(meta, "sut_package_name", ""),
|
|
166
166
|
validation_rules=validation_rules or getattr(
|
|
167
167
|
meta, "ValidationRules", getattr(meta, "validation_rules", {})),
|
|
168
|
+
results=results or [],
|
|
169
|
+
sut_timestamp=sut_timestamp
|
|
168
170
|
)
|
|
171
|
+
|
|
172
|
+
class Meta:
|
|
173
|
+
pass
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
.prettierrc.js
|
|
7
7
|
Dockerfile
|
|
8
8
|
LICENSE
|
|
9
|
+
MANIFEST.in
|
|
9
10
|
README.md
|
|
10
11
|
argus.yaml
|
|
11
12
|
argus_backend.py
|
|
@@ -27,102 +28,6 @@ yarn.lock
|
|
|
27
28
|
.github/workflows/test.yml
|
|
28
29
|
argus/__init__.py
|
|
29
30
|
argus/_version.py
|
|
30
|
-
argus/backend/.gitkeep
|
|
31
|
-
argus/backend/__init__.py
|
|
32
|
-
argus/backend/cli.py
|
|
33
|
-
argus/backend/db.py
|
|
34
|
-
argus/backend/error_handlers.py
|
|
35
|
-
argus/backend/template_filters.py
|
|
36
|
-
argus/backend/controller/__init__.py
|
|
37
|
-
argus/backend/controller/admin.py
|
|
38
|
-
argus/backend/controller/admin_api.py
|
|
39
|
-
argus/backend/controller/api.py
|
|
40
|
-
argus/backend/controller/auth.py
|
|
41
|
-
argus/backend/controller/client_api.py
|
|
42
|
-
argus/backend/controller/main.py
|
|
43
|
-
argus/backend/controller/notification_api.py
|
|
44
|
-
argus/backend/controller/notifications.py
|
|
45
|
-
argus/backend/controller/planner_api.py
|
|
46
|
-
argus/backend/controller/team.py
|
|
47
|
-
argus/backend/controller/team_ui.py
|
|
48
|
-
argus/backend/controller/testrun_api.py
|
|
49
|
-
argus/backend/controller/view_api.py
|
|
50
|
-
argus/backend/controller/views_widgets/__init__.py
|
|
51
|
-
argus/backend/controller/views_widgets/graphed_stats.py
|
|
52
|
-
argus/backend/controller/views_widgets/graphs.py
|
|
53
|
-
argus/backend/controller/views_widgets/highlights.py
|
|
54
|
-
argus/backend/controller/views_widgets/nemesis_stats.py
|
|
55
|
-
argus/backend/controller/views_widgets/summary.py
|
|
56
|
-
argus/backend/events/event_processors.py
|
|
57
|
-
argus/backend/models/__init__.py
|
|
58
|
-
argus/backend/models/argus_ai.py
|
|
59
|
-
argus/backend/models/github_issue.py
|
|
60
|
-
argus/backend/models/plan.py
|
|
61
|
-
argus/backend/models/result.py
|
|
62
|
-
argus/backend/models/runtime_store.py
|
|
63
|
-
argus/backend/models/view_widgets.py
|
|
64
|
-
argus/backend/models/web.py
|
|
65
|
-
argus/backend/plugins/__init__.py
|
|
66
|
-
argus/backend/plugins/core.py
|
|
67
|
-
argus/backend/plugins/loader.py
|
|
68
|
-
argus/backend/plugins/driver_matrix_tests/controller.py
|
|
69
|
-
argus/backend/plugins/driver_matrix_tests/model.py
|
|
70
|
-
argus/backend/plugins/driver_matrix_tests/plugin.py
|
|
71
|
-
argus/backend/plugins/driver_matrix_tests/raw_types.py
|
|
72
|
-
argus/backend/plugins/driver_matrix_tests/service.py
|
|
73
|
-
argus/backend/plugins/driver_matrix_tests/udt.py
|
|
74
|
-
argus/backend/plugins/generic/model.py
|
|
75
|
-
argus/backend/plugins/generic/plugin.py
|
|
76
|
-
argus/backend/plugins/generic/types.py
|
|
77
|
-
argus/backend/plugins/sct/controller.py
|
|
78
|
-
argus/backend/plugins/sct/plugin.py
|
|
79
|
-
argus/backend/plugins/sct/resource_setup.py
|
|
80
|
-
argus/backend/plugins/sct/service.py
|
|
81
|
-
argus/backend/plugins/sct/testrun.py
|
|
82
|
-
argus/backend/plugins/sct/udt.py
|
|
83
|
-
argus/backend/plugins/sirenada/model.py
|
|
84
|
-
argus/backend/plugins/sirenada/plugin.py
|
|
85
|
-
argus/backend/service/admin.py
|
|
86
|
-
argus/backend/service/argus_service.py
|
|
87
|
-
argus/backend/service/build_system_monitor.py
|
|
88
|
-
argus/backend/service/client_service.py
|
|
89
|
-
argus/backend/service/event_service.py
|
|
90
|
-
argus/backend/service/github_service.py
|
|
91
|
-
argus/backend/service/jenkins_service.py
|
|
92
|
-
argus/backend/service/notification_manager.py
|
|
93
|
-
argus/backend/service/planner_service.py
|
|
94
|
-
argus/backend/service/release_manager.py
|
|
95
|
-
argus/backend/service/results_service.py
|
|
96
|
-
argus/backend/service/stats.py
|
|
97
|
-
argus/backend/service/team_manager_service.py
|
|
98
|
-
argus/backend/service/test_lookup.py
|
|
99
|
-
argus/backend/service/testrun.py
|
|
100
|
-
argus/backend/service/user.py
|
|
101
|
-
argus/backend/service/views.py
|
|
102
|
-
argus/backend/service/views_widgets/__init__.py
|
|
103
|
-
argus/backend/service/views_widgets/graphed_stats.py
|
|
104
|
-
argus/backend/service/views_widgets/highlights.py
|
|
105
|
-
argus/backend/service/views_widgets/nemesis_stats.py
|
|
106
|
-
argus/backend/tests/__init__.py
|
|
107
|
-
argus/backend/tests/conftest.py
|
|
108
|
-
argus/backend/tests/client_service/__init__.py
|
|
109
|
-
argus/backend/tests/client_service/test_submit_results.py
|
|
110
|
-
argus/backend/tests/results_service/__init__.py
|
|
111
|
-
argus/backend/tests/results_service/test_best_results.py
|
|
112
|
-
argus/backend/tests/results_service/test_cell.py
|
|
113
|
-
argus/backend/tests/results_service/test_chartjs_additional_functions.py
|
|
114
|
-
argus/backend/tests/results_service/test_create_chartjs.py
|
|
115
|
-
argus/backend/tests/results_service/test_result_metadata.py
|
|
116
|
-
argus/backend/tests/results_service/test_results_service.py
|
|
117
|
-
argus/backend/tests/results_service/test_validation_rules.py
|
|
118
|
-
argus/backend/tests/view_widgets/__init__.py
|
|
119
|
-
argus/backend/tests/view_widgets/test_highlights_api.py
|
|
120
|
-
argus/backend/util/common.py
|
|
121
|
-
argus/backend/util/config.py
|
|
122
|
-
argus/backend/util/encoders.py
|
|
123
|
-
argus/backend/util/logsetup.py
|
|
124
|
-
argus/backend/util/module_loaders.py
|
|
125
|
-
argus/backend/util/send_email.py
|
|
126
31
|
argus/client/__init__.py
|
|
127
32
|
argus/client/base.py
|
|
128
33
|
argus/client/generic_result.py
|
|
@@ -133,10 +38,6 @@ argus/client/generic/client.py
|
|
|
133
38
|
argus/client/sct/client.py
|
|
134
39
|
argus/client/sct/types.py
|
|
135
40
|
argus/client/sirenada/client.py
|
|
136
|
-
argus/client/tests/__init__.py
|
|
137
|
-
argus/client/tests/conftest.py
|
|
138
|
-
argus/client/tests/test_package.py
|
|
139
|
-
argus/client/tests/test_results.py
|
|
140
41
|
argus/common/__init__.py
|
|
141
42
|
argus/common/enums.py
|
|
142
43
|
argus/common/sct_types.py
|
|
@@ -433,10 +334,6 @@ pytest-argus-reporter/README.md
|
|
|
433
334
|
pytest-argus-reporter/noxfile.py
|
|
434
335
|
pytest-argus-reporter/pyproject.toml
|
|
435
336
|
pytest-argus-reporter/pytest_argus_reporter.py
|
|
436
|
-
pytest-argus-reporter/tests/conftest.py
|
|
437
|
-
pytest-argus-reporter/tests/test_argus_reporter.py
|
|
438
|
-
pytest-argus-reporter/tests/test_slices.py
|
|
439
|
-
pytest-argus-reporter/tests/test_xdist.py
|
|
440
337
|
scripts/argus-status-page/index.html
|
|
441
338
|
scripts/argus-status-page/status.json
|
|
442
339
|
scripts/argus-status-page/js/status.js
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
},
|
|
307
307
|
scyllaRepoBYO: {
|
|
308
308
|
name: "Scylla BYO Repository",
|
|
309
|
-
description: "
|
|
309
|
+
description: "ScyllaDB GitHub repository in SSH format (git@github.com:personal-username/scylla.git)",
|
|
310
310
|
type: StringParam,
|
|
311
311
|
internalName: "byo_scylla_repo",
|
|
312
312
|
requiresValidation: true,
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
}
|
|
327
327
|
},
|
|
328
328
|
scyllaBranchBYO: {
|
|
329
|
-
name: "
|
|
329
|
+
name: "ScyllaDB GitHub branch name",
|
|
330
330
|
description: "Scylla BYO GitHub branch",
|
|
331
331
|
type: StringParam,
|
|
332
332
|
internalName: "byo_scylla_branch",
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
import click
|
|
3
|
-
from flask import Blueprint
|
|
4
|
-
from flask.cli import with_appcontext
|
|
5
|
-
from cassandra.cqlengine.management import sync_table, sync_type
|
|
6
|
-
from argus.backend.db import ScyllaCluster
|
|
7
|
-
from argus.backend.plugins.loader import all_plugin_models, all_plugin_types
|
|
8
|
-
from argus.backend.service.build_system_monitor import JenkinsMonitor
|
|
9
|
-
from argus.backend.service.github_service import GithubService
|
|
10
|
-
|
|
11
|
-
cli_bp = Blueprint("cli", __name__)
|
|
12
|
-
LOGGER = logging.getLogger(__name__)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@cli_bp.cli.add_command
|
|
16
|
-
@click.command('sync-models')
|
|
17
|
-
@with_appcontext
|
|
18
|
-
def sync_models_command():
|
|
19
|
-
sync_models()
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def sync_models():
|
|
23
|
-
cluster = ScyllaCluster.get()
|
|
24
|
-
cluster.sync_core_tables()
|
|
25
|
-
LOGGER.info("Synchronizing plugin types...")
|
|
26
|
-
for user_type in all_plugin_types():
|
|
27
|
-
LOGGER.info("Synchronizing plugin type %s...", user_type.__name__)
|
|
28
|
-
sync_type(ks_name=cluster.config["SCYLLA_KEYSPACE_NAME"], type_model=user_type)
|
|
29
|
-
LOGGER.info("Synchronizing plugin models...")
|
|
30
|
-
for model in all_plugin_models(True):
|
|
31
|
-
LOGGER.info("Synchronizing plugin model %s...", model.__name__)
|
|
32
|
-
sync_table(model=model, keyspaces=[cluster.config["SCYLLA_KEYSPACE_NAME"]])
|
|
33
|
-
|
|
34
|
-
LOGGER.info("Plugins ready.")
|
|
35
|
-
click.echo("All models synchronized.")
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def refresh_issues():
|
|
39
|
-
ScyllaCluster.get()
|
|
40
|
-
gh = GithubService()
|
|
41
|
-
gh.refresh_stale_issues()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
@cli_bp.cli.add_command
|
|
45
|
-
@click.command('refresh-issues')
|
|
46
|
-
@with_appcontext
|
|
47
|
-
def refresh_issues_command():
|
|
48
|
-
refresh_issues()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@cli_bp.cli.add_command
|
|
52
|
-
@click.command('scan-jenkins')
|
|
53
|
-
@with_appcontext
|
|
54
|
-
def scan_jenkins_command():
|
|
55
|
-
monitor = JenkinsMonitor()
|
|
56
|
-
monitor.collect()
|
|
57
|
-
click.echo("Done.")
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
from flask import (
|
|
3
|
-
Blueprint,
|
|
4
|
-
render_template,
|
|
5
|
-
)
|
|
6
|
-
from argus.backend.controller.admin_api import bp as admin_api_bp
|
|
7
|
-
from argus.backend.service.user import login_required, check_roles
|
|
8
|
-
from argus.backend.models.web import UserRoles
|
|
9
|
-
|
|
10
|
-
bp = Blueprint('admin', __name__, url_prefix='/admin')
|
|
11
|
-
bp.register_blueprint(admin_api_bp)
|
|
12
|
-
LOGGER = logging.getLogger(__name__)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@bp.route("/")
|
|
16
|
-
@bp.route("/<string:path>")
|
|
17
|
-
@check_roles(UserRoles.Admin)
|
|
18
|
-
@login_required
|
|
19
|
-
def index(path: str = "index"):
|
|
20
|
-
return render_template("admin/index.html.j2", current_route=path)
|
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
from uuid import UUID
|
|
3
|
-
from flask import (
|
|
4
|
-
Blueprint,
|
|
5
|
-
request,
|
|
6
|
-
Request,
|
|
7
|
-
)
|
|
8
|
-
from argus.backend.error_handlers import handle_api_exception
|
|
9
|
-
from argus.backend.service.release_manager import ReleaseEditPayload, ReleaseManagerService
|
|
10
|
-
from argus.backend.service.user import UserService, api_login_required, check_roles
|
|
11
|
-
from argus.backend.models.web import User, UserRoles
|
|
12
|
-
|
|
13
|
-
bp = Blueprint('admin_api', __name__, url_prefix='/api/v1')
|
|
14
|
-
LOGGER = logging.getLogger(__name__)
|
|
15
|
-
bp.register_error_handler(Exception, handle_api_exception)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def get_payload(client_request: Request):
|
|
19
|
-
if not client_request.is_json:
|
|
20
|
-
raise Exception(
|
|
21
|
-
"Content-Type mismatch, expected application/json, got:", client_request.content_type)
|
|
22
|
-
request_payload = client_request.get_json()
|
|
23
|
-
|
|
24
|
-
return request_payload
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@bp.route("/", methods=["GET"])
|
|
28
|
-
@check_roles(UserRoles.Admin)
|
|
29
|
-
@api_login_required
|
|
30
|
-
def index():
|
|
31
|
-
return {
|
|
32
|
-
"version": "v1"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@bp.route("/release/create", methods=["POST"])
|
|
37
|
-
@check_roles(UserRoles.Admin)
|
|
38
|
-
@api_login_required
|
|
39
|
-
def create_release():
|
|
40
|
-
payload = get_payload(request)
|
|
41
|
-
release = ReleaseManagerService().create_release(**payload)
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
"status": "ok",
|
|
45
|
-
"response": {
|
|
46
|
-
"new_release": release
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@bp.route("/release/set_perpetual", methods=["POST"])
|
|
52
|
-
@check_roles(UserRoles.Admin)
|
|
53
|
-
@api_login_required
|
|
54
|
-
def set_release_perpetual():
|
|
55
|
-
payload = get_payload(request)
|
|
56
|
-
result = ReleaseManagerService().set_release_perpetuality(**payload)
|
|
57
|
-
return {
|
|
58
|
-
"status": "ok",
|
|
59
|
-
"response": {
|
|
60
|
-
"updated": result
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@bp.route("/release/set_state", methods=["POST"])
|
|
66
|
-
@check_roles(UserRoles.Admin)
|
|
67
|
-
@api_login_required
|
|
68
|
-
def set_release_state():
|
|
69
|
-
payload = get_payload(request)
|
|
70
|
-
result = ReleaseManagerService().set_release_state(**payload)
|
|
71
|
-
|
|
72
|
-
return {
|
|
73
|
-
"status": "ok",
|
|
74
|
-
"response": {
|
|
75
|
-
"updated": result
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
@bp.route("/release/set_dormant", methods=["POST"])
|
|
81
|
-
@check_roles(UserRoles.Admin)
|
|
82
|
-
@api_login_required
|
|
83
|
-
def set_release_dormancy():
|
|
84
|
-
payload = get_payload(request)
|
|
85
|
-
result = ReleaseManagerService().set_release_dormancy(**payload)
|
|
86
|
-
|
|
87
|
-
return {
|
|
88
|
-
"status": "ok",
|
|
89
|
-
"response": {
|
|
90
|
-
"updated": result
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
@bp.route("/release/edit", methods=["POST"])
|
|
96
|
-
@check_roles(UserRoles.Admin)
|
|
97
|
-
@api_login_required
|
|
98
|
-
def edit_release():
|
|
99
|
-
payload: ReleaseEditPayload = get_payload(request)
|
|
100
|
-
result = ReleaseManagerService().edit_release(payload)
|
|
101
|
-
|
|
102
|
-
return {
|
|
103
|
-
"status": "ok",
|
|
104
|
-
"response": {
|
|
105
|
-
"updated": result
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
@bp.route("/release/delete", methods=["POST"])
|
|
111
|
-
@check_roles(UserRoles.Admin)
|
|
112
|
-
@api_login_required
|
|
113
|
-
def delete_release():
|
|
114
|
-
payload = get_payload(request)
|
|
115
|
-
result = ReleaseManagerService().delete_release(release_id=payload["releaseId"])
|
|
116
|
-
|
|
117
|
-
return {
|
|
118
|
-
"status": "ok",
|
|
119
|
-
"response": {
|
|
120
|
-
"deleted": result
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
@bp.route("/group/create", methods=["POST"])
|
|
126
|
-
@check_roles(UserRoles.Admin)
|
|
127
|
-
@api_login_required
|
|
128
|
-
def create_group():
|
|
129
|
-
payload = get_payload(request)
|
|
130
|
-
group = ReleaseManagerService().create_group(**payload)
|
|
131
|
-
|
|
132
|
-
return {
|
|
133
|
-
"status": "ok",
|
|
134
|
-
"response": {
|
|
135
|
-
"new_group": group
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
@bp.route("/group/update", methods=["POST"])
|
|
141
|
-
@check_roles(UserRoles.Admin)
|
|
142
|
-
@api_login_required
|
|
143
|
-
def update_group():
|
|
144
|
-
payload = get_payload(request)
|
|
145
|
-
result = ReleaseManagerService().update_group(**payload)
|
|
146
|
-
return {
|
|
147
|
-
"status": "ok",
|
|
148
|
-
"response": {
|
|
149
|
-
"updated": result
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
@bp.route("/group/delete", methods=["POST"])
|
|
155
|
-
@check_roles(UserRoles.Admin)
|
|
156
|
-
@api_login_required
|
|
157
|
-
def delete_group():
|
|
158
|
-
payload = get_payload(request)
|
|
159
|
-
result = ReleaseManagerService().delete_group(**payload)
|
|
160
|
-
|
|
161
|
-
return {
|
|
162
|
-
"status": "ok",
|
|
163
|
-
"response": {
|
|
164
|
-
"deleted": result
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
@bp.route("/test/create", methods=["POST"])
|
|
170
|
-
@check_roles(UserRoles.Admin)
|
|
171
|
-
@api_login_required
|
|
172
|
-
def create_test():
|
|
173
|
-
payload = get_payload(request)
|
|
174
|
-
test = ReleaseManagerService().create_test(**payload)
|
|
175
|
-
return {
|
|
176
|
-
"status": "ok",
|
|
177
|
-
"response": {
|
|
178
|
-
"new_test": test
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
@bp.route("/test/update", methods=["POST"])
|
|
184
|
-
@check_roles(UserRoles.Admin)
|
|
185
|
-
@api_login_required
|
|
186
|
-
def update_test():
|
|
187
|
-
payload = get_payload(request)
|
|
188
|
-
result = ReleaseManagerService().update_test(**payload)
|
|
189
|
-
return {
|
|
190
|
-
"status": "ok",
|
|
191
|
-
"response": {
|
|
192
|
-
"updated": result
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
@bp.route("/test/batch_move", methods=["POST"])
|
|
198
|
-
@check_roles(UserRoles.Admin)
|
|
199
|
-
@api_login_required
|
|
200
|
-
def batch_move_tests():
|
|
201
|
-
payload = get_payload(request)
|
|
202
|
-
result = ReleaseManagerService().batch_move_tests(**payload)
|
|
203
|
-
return {
|
|
204
|
-
"status": "ok",
|
|
205
|
-
"response": {
|
|
206
|
-
"moved": result
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
@bp.route("/test/delete", methods=["POST"])
|
|
212
|
-
@check_roles(UserRoles.Admin)
|
|
213
|
-
@api_login_required
|
|
214
|
-
def delete_test():
|
|
215
|
-
payload = get_payload(request)
|
|
216
|
-
result = ReleaseManagerService().delete_test(**payload)
|
|
217
|
-
|
|
218
|
-
return {
|
|
219
|
-
"status": "ok",
|
|
220
|
-
"response": {
|
|
221
|
-
"deleted": result
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
@bp.route("/releases/get", methods=["GET"])
|
|
227
|
-
@check_roles(UserRoles.Admin)
|
|
228
|
-
@api_login_required
|
|
229
|
-
def get_releases():
|
|
230
|
-
releases = ReleaseManagerService().get_releases()
|
|
231
|
-
return {
|
|
232
|
-
"status": "ok",
|
|
233
|
-
"response": releases
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
@bp.route("/groups/get", methods=["GET"])
|
|
238
|
-
@check_roles(UserRoles.Admin)
|
|
239
|
-
@api_login_required
|
|
240
|
-
def get_groups_for_release():
|
|
241
|
-
release_id = request.args.get("releaseId")
|
|
242
|
-
if not release_id:
|
|
243
|
-
raise Exception("ReleaseId not provided in the request")
|
|
244
|
-
groups = ReleaseManagerService().get_groups(release_id=UUID(release_id))
|
|
245
|
-
|
|
246
|
-
return {
|
|
247
|
-
"status": "ok",
|
|
248
|
-
"response": groups
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
@bp.route("/tests/get", methods=["GET"])
|
|
253
|
-
@check_roles(UserRoles.Admin)
|
|
254
|
-
@api_login_required
|
|
255
|
-
def get_tests_for_group():
|
|
256
|
-
group_id = request.args.get("groupId")
|
|
257
|
-
if not group_id:
|
|
258
|
-
raise Exception("GroupId not provided in the request")
|
|
259
|
-
tests = ReleaseManagerService().get_tests(group_id=UUID(group_id))
|
|
260
|
-
return {
|
|
261
|
-
"status": "ok",
|
|
262
|
-
"response": tests
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
@bp.route("/release/test/state/toggle", methods=["POST"])
|
|
267
|
-
@check_roles(UserRoles.Admin)
|
|
268
|
-
@api_login_required
|
|
269
|
-
def quick_toggle_test_enabled():
|
|
270
|
-
|
|
271
|
-
payload = get_payload(request)
|
|
272
|
-
res = ReleaseManagerService().toggle_test_enabled(test_id=payload["entityId"], new_state=payload["state"])
|
|
273
|
-
return {
|
|
274
|
-
"status": "ok",
|
|
275
|
-
"response": res
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
@bp.route("/release/group/state/toggle", methods=["POST"])
|
|
280
|
-
@check_roles(UserRoles.Admin)
|
|
281
|
-
@api_login_required
|
|
282
|
-
def quick_toggle_group_enabled():
|
|
283
|
-
|
|
284
|
-
payload = get_payload(request)
|
|
285
|
-
res = ReleaseManagerService().toggle_group_enabled(group_id=payload["entityId"], new_state=payload["state"])
|
|
286
|
-
return {
|
|
287
|
-
"status": "ok",
|
|
288
|
-
"response": res
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
@bp.route("/users", methods=["GET"])
|
|
293
|
-
@check_roles(UserRoles.Admin)
|
|
294
|
-
@api_login_required
|
|
295
|
-
def user_info():
|
|
296
|
-
result = UserService().get_users_privileged()
|
|
297
|
-
|
|
298
|
-
return {
|
|
299
|
-
"status": "ok",
|
|
300
|
-
"response": result
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
@bp.route("/user/<string:user_id>/email/set", methods=["POST"])
|
|
305
|
-
@check_roles(UserRoles.Admin)
|
|
306
|
-
@api_login_required
|
|
307
|
-
def user_change_email(user_id: str):
|
|
308
|
-
payload = get_payload(request)
|
|
309
|
-
|
|
310
|
-
user = User.get(id=user_id)
|
|
311
|
-
result = UserService().update_email(user=user, new_email=payload["newEmail"])
|
|
312
|
-
|
|
313
|
-
return {
|
|
314
|
-
"status": "ok",
|
|
315
|
-
"response": result
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
@bp.route("/user/<string:user_id>/delete", methods=["POST"])
|
|
320
|
-
@check_roles(UserRoles.Admin)
|
|
321
|
-
@api_login_required
|
|
322
|
-
def user_delete(user_id: str):
|
|
323
|
-
result = UserService().delete_user(user_id=user_id)
|
|
324
|
-
|
|
325
|
-
return {
|
|
326
|
-
"status": "ok",
|
|
327
|
-
"response": result
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
@bp.route("/user/<string:user_id>/password/set", methods=["POST"])
|
|
332
|
-
@check_roles(UserRoles.Admin)
|
|
333
|
-
@api_login_required
|
|
334
|
-
def user_change_password(user_id: str):
|
|
335
|
-
payload = get_payload(request)
|
|
336
|
-
|
|
337
|
-
user = User.get(id=user_id)
|
|
338
|
-
result = UserService().update_password(user=user, old_password="", new_password=payload["newPassword"], force=True)
|
|
339
|
-
|
|
340
|
-
return {
|
|
341
|
-
"status": "ok",
|
|
342
|
-
"response": result
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
@bp.route("/user/<string:user_id>/admin/toggle", methods=["POST"])
|
|
347
|
-
@check_roles(UserRoles.Admin)
|
|
348
|
-
@api_login_required
|
|
349
|
-
def user_toggle_admin(user_id: str):
|
|
350
|
-
result = UserService().toggle_admin(user_id=user_id)
|
|
351
|
-
|
|
352
|
-
return {
|
|
353
|
-
"status": "ok",
|
|
354
|
-
"response": result
|
|
355
|
-
}
|