YueGuobin
c8c14af9f4
Add /refresh to allowed public endpoints list in route auth test
2026-06-23 23:19:07 +08:00
YueGuobin
0e8d0cb87b
Add stateless JWT refresh token mechanism
...
- New config: Controller.jwt_refresh_token_expire_minutes (default 30 days)
- New endpoint: POST /v3/access/users/refresh (public, unauthenticated)
- Login/authenticate responses now include refresh_token
- AuthService: _create_token helper, create_refresh_token, get_token_data
now parses type claim (token_use) for token classification
- Security: refresh tokens rejected on HTTP + WebSocket access paths;
/refresh strictly requires type=='refresh'
- Logout works for free via existing token_version mechanism
- Tests: 9 new TestRefreshToken cases, all passing; 34 existing tests
still pass (no regressions)
2026-06-23 22:39:11 +08:00
YueGuobin
471e65e48c
Add project/node/link handler tests: 39 total, covering list/get/create/delete/start/stop/suspend/reload/console/update/fields
2026-06-18 00:07:14 +08:00
YueGuobin
5cc826baff
Add MCP handler unit tests with mocked Gns3Connector
...
Tests cover:
- get_nodes_handler: fields filter, invalid fields rejection
- create_node_handler: name passthrough, fields filter, fields validation,
batch mode inherited template_id, missing project_id
- create_link_handler: compact format, standard format, fields validation
- appliance_get, appliance_install with version
- list_templates: fields filter, invalid field error
2026-06-18 00:02:38 +08:00
YueGuobin
dc3a386961
Add MCP tool parameter consistency tests
2026-06-17 23:59:40 +08:00
YueGuobin
cbb21e8e40
feat: Node file streaming, recursive listing, file type detection, and file delete
...
- Stream file GET/POST through controller without buffering in memory
- Add recursive and subdirectory filtering to node file listing
- Replace file extension with magic-based file type detection
- Add DELETE endpoint for node and project files
- Include directories in listing response
- Add params and stream support to http_query
- Fix lambda closures, streamer exception scope, and delete error codes
2026-06-09 22:52:50 +08:00
YueGuobin
f1078a97e2
test: add /v3/mcp/ to allowed public endpoints
2026-06-05 01:07:20 +08:00
YueGuobin
92a0fa6cd7
Fix packet filter validation tests: use correct ubridge filter type names
2026-05-31 00:38:03 +08:00
YueGuobin
67c6f3c970
test: fix privilege count assertions after adding LLMConfig privileges
...
The LLMConfig.Audit and LLMConfig.Modify privileges added to the User
role increased the default privilege count from 25 to 27. Update test
assertions to match the new counts.
2026-05-28 01:24:22 +08:00
grossmj
9c988b34d0
Fix snapshots after merging
2026-04-11 19:54:49 +08:00
grossmj
d97aedb625
Fix tests
2026-04-06 20:03:38 +08:00
UmmmAGoodName
4cf8b79692
Fix addressing issue #2005 including tests
2026-04-05 21:51:52 +02:00
Jeremy Grossmann
632b3daab7
Merge pull request #2635 from yueguobin/fix/iou-suspend-405
...
fix(iou): return 405 error for unsupported suspend operation
2026-03-15 22:47:42 +08:00
grossmj
6e7738a14f
Return 405 error for unsupported actions for other node types
2026-03-15 22:38:51 +08:00
Mr.GIitch
302878b391
Merge branch 'GNS3:3.0' into 3.0
2026-03-12 14:44:43 +01:00
grossmj
3abecc8492
Fix IOU tests
2026-03-12 14:18:35 +08:00
UmmmAGoodName
4a45a68703
Changed errors to new type, was causing warnings
2026-03-11 18:48:36 +01:00
grossmj
4606613673
Fix image handling
2026-03-05 12:38:28 +08:00
grossmj
8b245c96f8
Qemu VMs: only compute MD5 checksums for existing disks
2026-03-04 18:54:52 +08:00
Mark Paronyan
c48c89d309
tests(compute): test compute works with disabled auth
2026-03-03 00:30:00 +03:00
grossmj
47a7324eb5
Fix tests
2026-02-25 19:00:57 +08:00
grossmj
4d35477e46
Add/fix tests
2026-02-23 23:27:36 +08:00
grossmj
5e3ca29c58
Fix updating packet filters
2026-02-21 21:42:22 +08:00
grossmj
1d45df6613
Upgrade dependencies
2026-01-24 21:38:58 +08:00
grossmj
90cf73e434
Fix tests
2025-04-18 13:38:01 +07:00
grossmj
5019167098
Fix interface information API endpoint for Cloud/NAT devices
2025-04-16 15:26:56 +07:00
Mark Paronyan
f21887dbab
tests(get_iface): add unittests
2025-03-23 14:28:58 +00:00
grossmj
ba4e0c945d
Refactor tests and upgrade dev package requirements
2025-01-17 19:12:44 +10:00
grossmj
08693871ae
Support to create templates based on image checksums.
2025-01-03 21:35:14 +07:00
grossmj
ac4c5f5985
Improve tests for pruning images
2025-01-03 19:56:41 +07:00
grossmj
e17a79e261
Fix tests
2025-01-02 23:17:55 +07:00
grossmj
4758431c76
Improvements for built-in disks
...
* Checksum is updated in the database for updated disks.
* It is not possible to prune them.
2025-01-02 23:10:51 +07:00
grossmj
9d6cea665a
Replace python-jose library by joserfc
2024-12-30 15:25:24 +07:00
grossmj
a792792128
Remove debug message
2024-12-19 17:09:00 +07:00
grossmj
eca502c49c
Do not test authentication on docs endpoints
2024-12-19 17:04:00 +07:00
grossmj
b7d43b29cd
Fix tests after merging
2024-12-02 13:02:08 +10:00
grossmj
cbaa563996
Merge branch '2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.9297104511b6616fc55c.js
# gns3server/utils/images.py
# gns3server/version.py
# tests/api/routes/compute/test_dynamips_nodes.py
# tests/handlers/api/compute/test_qemu.py
# tests/utils/test_images.py
2024-12-02 12:16:34 +10:00
grossmj
ae538dd11d
Fix test user with wrong creds
2024-10-31 19:31:17 +10:00
grossmj
ce4dd17409
Upgrade fastapi and fix tests
2024-10-31 19:23:28 +10:00
grossmj
d3860ba84b
Merge branch '2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# dev-requirements.txt
# gns3server/compute/qemu/__init__.py
# gns3server/compute/vmware/__init__.py
# gns3server/controller/snapshot.py
# gns3server/crash_report.py
# gns3server/handlers/api/compute/atm_switch_handler.py
# gns3server/run.py
# gns3server/static/web-ui/26.77d4bfd104f37c42e028.js
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/runtime.415291667f70565cd8ef.js
# gns3server/utils/__init__.py
# gns3server/utils/images.py
# gns3server/utils/interfaces.py
# gns3server/version.py
# gns3server/web/web_server.py
# pytest.ini
# requirements.txt
# scripts/update-bundled-web-ui.sh
# setup.py
# tests/api/routes/compute/test_dynamips_nodes.py
# tests/compute/builtin/nodes/test_cloud.py
# tests/compute/docker/test_docker.py
# tests/compute/docker/test_docker_vm.py
# tests/compute/dynamips/test_dynamips_manager.py
# tests/compute/dynamips/test_dynamips_router.py
# tests/compute/iou/test_iou_vm.py
# tests/compute/qemu/test_qcow2.py
# tests/compute/qemu/test_qemu_manager.py
# tests/compute/qemu/test_qemu_vm.py
# tests/compute/test_base_node.py
# tests/compute/test_manager.py
# tests/compute/test_project.py
# tests/compute/traceng/test_traceng_vm.py
# tests/compute/virtualbox/test_virtualbox_manager.py
# tests/compute/virtualbox/test_virtualbox_vm.py
# tests/compute/vmware/test_vmware_manager.py
# tests/compute/vmware/test_vmware_vm.py
# tests/compute/vpcs/test_vpcs_vm.py
# tests/conftest.py
# tests/controller/gns3vm/test_remote_gns3_vm.py
# tests/controller/gns3vm/test_virtualbox_gns3_vm.py
# tests/controller/gns3vm/test_vmware_gns3_vm.py
# tests/controller/test_export_project.py
# tests/controller/test_gns3vm.py
# tests/controller/test_import_project.py
# tests/test_config.py
# tests/utils/test_asyncio.py
# tests/utils/test_images.py
# tests/web/test_response.py
2024-05-16 17:53:39 +07:00
grossmj
689d476b71
Fix tests
2024-04-28 18:03:06 +07:00
grossmj
44c066ac68
Fix compute authentication for websocket endpoints
2023-10-22 12:44:39 +10:00
grossmj
5092bd2fdf
List elements when a project is closed
2023-10-09 13:16:12 +10:00
grossmj
674381f1be
Fix tests
2023-09-25 21:08:23 +10:00
grossmj
7534718a1c
Remove privileges endpoint from roles
2023-09-14 22:41:08 +07:00
Jeremy Grossmann
63c1defd9a
Merge branch '3.0' into resource-pools
2023-09-14 22:38:52 +07:00
Sylvain MATHIEU OBS
10eeefc1f5
API: add endpoint to expose availables privileges to web UI
2023-09-12 15:24:54 +02:00
grossmj
a95dda0d1d
Complete resource pool support for projects
2023-09-11 18:15:03 +07:00
grossmj
d53ef175f8
DB and API for resource pools
2023-09-07 17:31:11 +07:00
grossmj
8aa9d1aae6
Upgrade dependencies and fix user group tests
2023-09-03 17:58:51 +07:00