Initial commit: COPILOT D6 Flutter keyboard controller
Flutter web app replacing legacy WPF CCTV surveillance keyboard controller. Includes wall overview, section view with monitor grid, camera input, PTZ control, alarm/lock/sequence BLoCs, and legacy-matching UI styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
193
tests/test-geviscope.http
Normal file
193
tests/test-geviscope.http
Normal file
@@ -0,0 +1,193 @@
|
||||
### GeViScope Bridge Test Suite
|
||||
### Use with VS Code REST Client extension or similar
|
||||
|
||||
@baseUrl = http://localhost:7720
|
||||
|
||||
### Health Check
|
||||
GET {{baseUrl}}/health
|
||||
|
||||
### Status (before connect)
|
||||
GET {{baseUrl}}/status
|
||||
|
||||
### Connect to GeViScope Server
|
||||
POST {{baseUrl}}/connect
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Address": "192.168.1.10",
|
||||
"Username": "operator",
|
||||
"Password": "password"
|
||||
}
|
||||
|
||||
### Status (after connect)
|
||||
GET {{baseUrl}}/status
|
||||
|
||||
### Get Media Channels
|
||||
GET {{baseUrl}}/channels
|
||||
|
||||
### Get Monitor States (tracked from events)
|
||||
GET {{baseUrl}}/monitors
|
||||
|
||||
### Get Specific Monitor State
|
||||
GET {{baseUrl}}/monitors/5
|
||||
|
||||
### Get Active Alarms (tracked from events)
|
||||
GET {{baseUrl}}/alarms/active
|
||||
|
||||
### Get All Alarms (including stopped)
|
||||
GET {{baseUrl}}/alarms
|
||||
|
||||
### ViewerConnectLive - Switch Camera 1 to Monitor 5
|
||||
POST {{baseUrl}}/viewer/connect-live
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Viewer": 5,
|
||||
"Channel": 1
|
||||
}
|
||||
|
||||
### CrossSwitch (compatibility endpoint)
|
||||
POST {{baseUrl}}/crossswitch
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"VideoInput": 2,
|
||||
"VideoOutput": 6,
|
||||
"SwitchMode": 0
|
||||
}
|
||||
|
||||
### ViewerClear - Clear Monitor 5
|
||||
POST {{baseUrl}}/viewer/clear
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Viewer": 5
|
||||
}
|
||||
|
||||
### PTZ Pan Left
|
||||
POST {{baseUrl}}/camera/pan
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1,
|
||||
"Direction": "left",
|
||||
"Speed": 50
|
||||
}
|
||||
|
||||
### PTZ Pan Stop
|
||||
POST {{baseUrl}}/camera/pan-stop
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1
|
||||
}
|
||||
|
||||
### PTZ Tilt Up
|
||||
POST {{baseUrl}}/camera/tilt
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1,
|
||||
"Direction": "up",
|
||||
"Speed": 30
|
||||
}
|
||||
|
||||
### PTZ Zoom In
|
||||
POST {{baseUrl}}/camera/zoom
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1,
|
||||
"Direction": "in",
|
||||
"Speed": 50
|
||||
}
|
||||
|
||||
### PTZ Stop All
|
||||
POST {{baseUrl}}/camera/stop
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1
|
||||
}
|
||||
|
||||
### PTZ Go to Preset
|
||||
POST {{baseUrl}}/camera/preset
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Camera": 1,
|
||||
"Preset": 1
|
||||
}
|
||||
|
||||
### Playback - Set Play Mode
|
||||
POST {{baseUrl}}/viewer/set-play-mode
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Viewer": 5,
|
||||
"PlayMode": "play forward",
|
||||
"PlaySpeed": 1.0
|
||||
}
|
||||
|
||||
### Playback - Jump to Time
|
||||
POST {{baseUrl}}/viewer/play-from-time
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Viewer": 5,
|
||||
"Channel": 1,
|
||||
"PlayMode": "play forward",
|
||||
"Time": "2026/02/03 10:00:00,000 GMT+01:00"
|
||||
}
|
||||
|
||||
### Playback - Jump Back 60 Seconds
|
||||
POST {{baseUrl}}/viewer/jump-by-time
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Viewer": 5,
|
||||
"Channel": 1,
|
||||
"PlayMode": "play backward",
|
||||
"TimeInSec": -60
|
||||
}
|
||||
|
||||
### Digital Output - Close Contact
|
||||
POST {{baseUrl}}/digital-io/close
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"ContactId": 1
|
||||
}
|
||||
|
||||
### Digital Output - Open Contact
|
||||
POST {{baseUrl}}/digital-io/open
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"ContactId": 1
|
||||
}
|
||||
|
||||
### Get Message Log
|
||||
GET {{baseUrl}}/messages
|
||||
|
||||
### Clear Message Log
|
||||
POST {{baseUrl}}/messages/clear
|
||||
|
||||
### Send Generic Action
|
||||
POST {{baseUrl}}/action
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Action": "ViewerConnectLive(5, 1)"
|
||||
}
|
||||
|
||||
### Test Action Decode (Debug)
|
||||
POST {{baseUrl}}/debug/test-action
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"Action": "ViewerConnected(5, 1, 11)"
|
||||
}
|
||||
|
||||
### Disconnect
|
||||
POST {{baseUrl}}/disconnect
|
||||
Reference in New Issue
Block a user