Commit Graph

1313 Commits

Author SHA1 Message Date
grossmj
fbc47598d9 Basic functional RBAC support. 2021-05-27 17:28:44 +09:30
grossmj
6d4da98b8e Base API and tables for RBAC support. 2021-05-25 18:34:59 +09:30
grossmj
2bf16f1e5f Change method to prevent forbidden directory traversal. Ref #1894 2021-05-16 14:29:56 +09:30
grossmj
f3d81fa450 Clean files and catch file path escape. Ref #1894 2021-05-15 22:35:44 +09:30
grossmj
09ac7fd7fb Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_manager.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/project_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/node_handler.py
#	gns3server/handlers/api/controller/project_handler.py
#	gns3server/handlers/index_handler.py
#	tests/handlers/api/compute/test_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/handlers/api/controller/test_node.py
#	tests/handlers/api/controller/test_project.py
2021-05-15 20:46:34 +09:30
grossmj
9a6978902d Fix tests. 2021-05-15 19:43:36 +09:30
grossmj
8810249d36 Add user groups support. 2021-05-15 15:10:02 +09:30
grossmj
956b9056c1 Fix issues with latest version of sqlalchemy 2021-05-08 15:37:51 +09:30
grossmj
10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
grossmj
ad7d8e2e7d Fix tests. 2021-04-28 15:56:11 +09:30
grossmj
a02aede1b0 Use uuid5 to create new compute_id. Fixes #1641 #1887 2021-04-21 13:47:32 +09:30
grossmj
0465cb87f6 Protect the API and add alternative authentication endpoint. 2021-04-20 11:59:02 +09:30
grossmj
e28452f09a Secure users API and handle manual password recovery. 2021-04-19 09:40:04 +09:30
grossmj
c03226e368 Add default super admin account in controller db. 2021-04-18 17:39:47 +09:30
grossmj
cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
grossmj
6b8ce8219c Fix tests. 2021-04-15 18:30:22 +09:30
grossmj
9c850e0f2b Move schemas between compute and controller subpackages 2021-04-15 18:12:08 +09:30
grossmj
c59fc375f2 Remove traceng code. 2021-04-13 19:03:23 +09:30
grossmj
71725aade6 Rename ssl and auth configuration file settings.
Add enable SSL config validator.
Strict configuration file validation: any error will prevent the server to start.
Core server logic moved to a Server class.
2021-04-12 23:26:42 +09:30
grossmj
1b5a5de4bc Generate new config for each test. Fixes tests. 2021-04-12 19:37:59 +09:30
grossmj
30ebae207f Use Pydantic to validate the server config file. 2021-04-12 17:02:23 +09:30
grossmj
478119b40d Comment out problematic test 2021-04-10 13:13:28 +09:30
grossmj
802959f9ab Merge branch 'master' into 3.0
# Conflicts:
#	dev-requirements.txt
#	gns3server/controller/__init__.py
#	gns3server/controller/appliance_manager.py
#	gns3server/controller/compute.py
#	gns3server/controller/topology.py
#	gns3server/handlers/api/compute/ethernet_switch_handler.py
#	gns3server/handlers/api/controller/link_handler.py
#	gns3server/handlers/api/controller/symbol_handler.py
#	gns3server/version.py
#	requirements.txt
#	tests/controller/test_export_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/web/test_response.py
#	win-requirements.txt
2021-04-10 12:46:40 +09:30
grossmj
87a26d5da0 Fix tests and comment problematic ones that rely on AsyncioMagicMock 2021-04-09 11:57:29 +09:30
grossmj
170e83e589 Fix tests and update requirements 2021-04-05 17:43:35 +09:30
grossmj
5217dbf3a3 Fix tests 2021-04-05 14:39:50 +09:30
grossmj
566e326b57 Save computes to database 2021-04-05 14:21:41 +09:30
grossmj
91920e5a5b Fix issue with tests + some cleaning. 2021-03-31 09:58:52 +10:30
grossmj
0fea3f969e Use aiosqlite and add service for templates 2021-03-28 21:17:29 +10:30
grossmj
d730c591b3 Refactor template management to use database. 2021-03-28 11:15:08 +10:30
grossmj
7542b28793 Revert "Fix tests"
This reverts commit 4d0cb32b
2021-03-24 13:05:50 +10:30
grossmj
4d0cb32bd0 Fix tests 2021-03-24 12:39:22 +10:30
grossmj
58c1b01439 Add default JWT secret key and fix tests. 2020-12-18 16:51:54 +10:30
grossmj
bde706d19a Generate JWT secret key if none is configured in the config file.
Change location of the database.
2020-12-16 18:24:21 +10:30
grossmj
509e762cda Fix slow tests. 2020-12-07 18:53:40 +10:30
grossmj
d47dcb0d6f User authentication with tests. 2020-12-07 16:52:36 +10:30
grossmj
bf7cf862af Refactor tests and start work on database integration. 2020-12-02 18:39:08 +10:30
grossmj
c043830e3f Move endpoints to routes & preparations to use a database. 2020-11-19 15:21:03 +10:30
grossmj
d58407c735 Fix tests. 2020-11-13 15:32:25 +10:30
grossmj
7837081eba Fix running tests with Python 3.9 2020-11-11 17:38:06 +10:30
grossmj
acc5c7ebfa Update package versions.
Do not use Path in schemas (causes issues with empty paths).
Change how notifications are handled.
Run tests with Python 3.9
2020-11-11 17:18:41 +10:30
grossmj
7314b41d8f Fix tests. 2020-11-02 22:45:01 +10:30
grossmj
30d6f1fa2a Make Swagger Ui the default for API documentation 2020-11-02 12:47:59 +10:30
grossmj
359f9a7384 Move to version 3 of the REST API.
Rename packet capture endpoints.
2020-11-02 12:05:32 +10:30
grossmj
81439c750a Use pydantic for data validation (instead of jsonschema)
Fix/improve various pydantic shema models.
2020-10-31 15:07:12 +10:30
grossmj
13da8aa8f5 Do not automatically connect to local compute. 2020-10-22 16:47:11 +10:30
grossmj
a92c47b310 Add HTTP client to reuse the aiohttp session where needed.
Remove unnecessary aiohttp exceptions.
2020-10-22 16:19:44 +10:30
grossmj
554404e6e7 Try to run tests for Windows and macOS. 2020-10-20 10:50:46 +10:30
grossmj
0500b28aea Fix changing to ProactorEventLoop in tests. 2020-10-20 00:57:06 +10:30
grossmj
bd4bf53084 Use ProactorEventLoop with pytest-asyncio 2020-10-20 00:46:46 +10:30
grossmj
25494ca098 Fix project import to work with FastAPI. 2020-10-19 22:39:30 +10:30
grossmj
596ee9b66d Test compute notifications and run tests on macOS and Windows. 2020-10-19 19:25:32 +10:30
grossmj
6af8c8933e Fix tests. 2020-10-19 18:47:25 +10:30
grossmj
58c5965905 Fix tests. 2020-10-13 11:46:18 +10:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
Jeremy Grossmann
fa26555d00
Merge pull request #1801 from GNS3/qemu-config-disk
QEMU config disk - enable QEMU config import/export
2020-08-15 16:35:20 +08:00
grossmj
f2ddef855f Fix tests.
(cherry picked from commit 620d93634e)
2020-08-15 16:35:31 +09:30
grossmj
620d93634e Fix tests. 2020-08-15 16:35:31 +09:30
grossmj
9d3f7c79a2 Fix more tests
(cherry picked from commit 546982d1ea)
2020-08-13 17:18:45 +09:30
grossmj
546982d1ea Fix more tests 2020-08-13 17:18:45 +09:30
grossmj
c684c554bf Fix tests
(cherry picked from commit 2ba6eac113)
2020-08-13 17:10:31 +09:30
grossmj
2ba6eac113 Fix tests 2020-08-13 17:10:31 +09:30
grossmj
9890126453 Merge branch '2.2' into 2.3
# Conflicts:
#	gns3server/notification_queue.py
#	gns3server/version.py
2020-08-13 01:48:26 +09:30
grossmj
855a95de49 Fix tests. Fixes #1796 2020-07-30 14:58:22 +09:30
grossmj
3c1a1eb4ef Fix tests. 2020-07-29 16:32:45 +09:30
grossmj
7043d48f1a Auxiliary console support for Qemu. Ref #2873
Improvements for auxiliary console support for Docker and Dynamips.
2020-07-29 16:23:51 +09:30
grossmj
831ee5f468 Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619 2020-07-26 18:27:18 +09:30
grossmj
f97d346c34 Support to reset links. Fixes https://github.com/GNS3/gns3-server/issues/1620 2020-07-24 21:48:49 +09:30
grossmj
cbcdaabcce Fix tests. Ref #1674 2020-07-24 15:22:11 +09:30
grossmj
3dc4ea46d6 Add total RAM, CPUs and disk size to servers summary as well as disk usage in percent. Fixes https://github.com/GNS3/gns3-server/issues/1532 2020-07-19 14:16:07 +09:30
grossmj
d1c29c8bb7 Resource constraints for Docker VMs. 2020-07-18 21:03:55 +09:30
grossmj
dff035d957 Support for "usage" for "Cloud" nodes. Fixes https://github.com/GNS3/gns3-gui/issues/2887
Allow "usage" for all builtin nodes (not exposed in Ui).
2020-07-15 19:15:51 +09:30
grossmj
99128e7713 Fix Key Error "vendor_id" is missing when configuring GNS3 VM with VirtualBox. Fixes https://github.com/GNS3/gns3-gui/issues/3018 2020-07-10 17:44:38 +09:30
grossmj
850c30f958 Merge branch 'master' into 2.2
# Conflicts:
#	tests/handlers/api/compute/test_dynamips.py
#	tests/handlers/api/compute/test_qemu.py
2020-06-29 18:44:46 +09:30
grossmj
27da8458e8 Allow tests to be run by root. Fixes #1784 2020-06-29 18:43:35 +09:30
grossmj
7fd8fde020 Some fixes for tests. Ref #1784 2020-06-19 19:05:23 +09:30
grossmj
9d141baf22 Comment capsys tests 2020-06-16 21:27:49 +09:30
grossmj
7fb554135f Try to fix capsys issue with Python 3.8 (second try) 2020-06-16 21:11:29 +09:30
grossmj
241caa1ec7 Try to fix capsys issue with Python 3.8 2020-06-16 20:56:10 +09:30
grossmj
d33584a2e4 More specific fix for Windows 2020-06-16 19:16:58 +09:30
grossmj
438b1c056c Remove '\n' from for version strings for test_parse_arguments test. 2020-06-16 19:16:05 +09:30
grossmj
ef23e74e9c Another fix for test_gns3vm.py 2020-06-16 19:09:49 +09:30
grossmj
9ab8599e1e Fix other issues with tests. 2020-06-16 19:03:42 +09:30
grossmj
d9ab29a9e0 Another fix for test_gns3vm.py 2020-06-16 18:52:07 +09:30
grossmj
09e9382df1 Do not try to use ProactorEventLoop() on non Windows platforms. 2020-06-16 18:45:11 +09:30
grossmj
8976384a56 Fix test_gns3vm.py 2020-06-16 18:37:32 +09:30
grossmj
e4b7e46444 Fix tests for Windows 2020-06-16 01:57:16 -07:00
grossmj
1d4c3a164d Use the ProactorEventLoop on Windows. 2020-06-16 14:08:17 +09:30
grossmj
d3ea67da24 Refactor tests
* Use pytest-aiohttp
* Use the async def / await syntax.
* Fix tests to run with Python 3.8
2020-06-16 13:59:03 +09:30
grossmj
a4bc696a5f Fix tests 2020-05-05 13:19:51 +09:30
grossmj
45d135911f Fix tests. 2020-04-30 20:36:12 +09:30
grossmj
6c322bbdde Fix tests. 2020-04-30 15:49:06 +09:30
grossmj
dd11d38338 Fix tests. 2020-04-27 22:48:42 +09:30
grossmj
e014d36ad2 Skip tests not working on Windows. 2020-10-06 17:40:36 +10:30
grossmj
bf4550bf78 Fix tests. Ref https://github.com/GNS3/gns3-gui/issues/3047 2020-09-13 23:23:08 +09:30
grossmj
3df348ac2a Server statistics implementation 2020-03-10 17:48:03 +10:30
grossmj
c5412bf970 Allocate application IDs for IOU nodes on the controller.
An application ID is used by IOU to generate its interface Mac addresses. They must be unique across all opened projects sharing the same computes to avoid Mac address collisions.
2020-02-10 15:20:49 +08:00
grossmj
114da9764b Fix tests. 2020-01-08 08:59:55 +08:00
grossmj
0a87ee573c Accept a node name when creating a node from a template using the API. Fixes #1708 2020-01-08 08:19:33 +08:00
grossmj
688b1ac0e4 Fix tests. 2020-01-08 07:10:33 +08:00