|
5 | 5 |
|
6 | 6 |
|
7 | 7 | @falcon_test(pass_drone_status=True) |
8 | | -def test_setState(socketio_client: SocketIOTestClient, droneStatus) -> None: |
9 | | - # Failure on no drone connection |
| 8 | +def test_setState_no_drone_connection( |
| 9 | + socketio_client: SocketIOTestClient, droneStatus |
| 10 | +) -> None: |
| 11 | + """Test that setState fails when no drone is connected""" |
10 | 12 | with NoDrone(): |
11 | 13 | assert send_and_receive("set_state", "dashboard") == { |
12 | 14 | "message": "Must be connected to the drone to set the drone state." |
13 | 15 | } |
14 | 16 |
|
15 | | - # Failure on no state sent |
| 17 | + |
| 18 | +@falcon_test(pass_drone_status=True) |
| 19 | +def test_setState_missing_state_parameter( |
| 20 | + socketio_client: SocketIOTestClient, droneStatus |
| 21 | +) -> None: |
| 22 | + """Test that setState fails when state parameter is missing""" |
16 | 23 | assert send_and_receive("set_state", {}) == { |
17 | 24 | "message": "Request to endpoint set_state missing value for parameter: state." |
18 | 25 | } |
19 | 26 |
|
20 | | - # TODO: These values don't seem right to me, they don't include the STATUSTEXT listener? |
21 | 27 |
|
22 | | - # Success on changing state to dashboard |
| 28 | +@falcon_test(pass_drone_status=True) |
| 29 | +def test_setState_dashboard_state( |
| 30 | + socketio_client: SocketIOTestClient, droneStatus |
| 31 | +) -> None: |
| 32 | + """Test setting state to dashboard""" |
23 | 33 | socketio_client.emit("set_state", {"state": "dashboard"}) |
24 | 34 | assert len(socketio_client.get_received()) == 0 |
| 35 | + # TODO: These values don't seem right to me, they don't include the STATUSTEXT listener? |
25 | 36 | assert len(droneStatus.drone.message_listeners) == 15 |
26 | 37 |
|
| 38 | + |
| 39 | +@falcon_test(pass_drone_status=True) |
| 40 | +def test_setState_graphs_state( |
| 41 | + socketio_client: SocketIOTestClient, droneStatus |
| 42 | +) -> None: |
| 43 | + """Test setting state to graphs""" |
27 | 44 | droneStatus.drone.message_listeners = {} |
28 | 45 |
|
29 | 46 | socketio_client.emit("set_state", {"state": "graphs"}) |
30 | 47 | assert len(socketio_client.get_received()) == 0 |
31 | 48 | assert len(droneStatus.drone.message_listeners) == 6 |
32 | 49 |
|
| 50 | + |
| 51 | +@falcon_test(pass_drone_status=True) |
| 52 | +def test_setState_config_flight_modes_state( |
| 53 | + socketio_client: SocketIOTestClient, droneStatus |
| 54 | +) -> None: |
| 55 | + """Test setting state to config.flight_modes""" |
33 | 56 | droneStatus.drone.message_listeners = {} |
34 | 57 |
|
35 | 58 | socketio_client.emit("set_state", {"state": "config.flight_modes"}) |
36 | 59 | assert len(socketio_client.get_received()) == 0 |
37 | 60 | assert len(droneStatus.drone.message_listeners) == 4 |
38 | 61 |
|
| 62 | + |
| 63 | +@falcon_test(pass_drone_status=True) |
| 64 | +def test_setState_config_rc_state( |
| 65 | + socketio_client: SocketIOTestClient, droneStatus |
| 66 | +) -> None: |
| 67 | + """Test setting state to config.rc""" |
39 | 68 | droneStatus.drone.message_listeners = {} |
40 | 69 |
|
41 | 70 | socketio_client.emit("set_state", {"state": "config.rc"}) |
42 | 71 | assert len(socketio_client.get_received()) == 0 |
43 | 72 | assert len(droneStatus.drone.message_listeners) == 4 |
44 | 73 |
|
45 | | - droneStatus.drone.message_listeners = {} |
46 | 74 |
|
47 | | - # TODO: Sort this out |
48 | | - # pytest.skip(reason="Issues with parameterController to be fixed in alpha 0.1.8") |
49 | | - # socketio_client.emit("set_state", {"state": "params"}) |
50 | | - # time.sleep(15) |
51 | | - # assert len(socketio_client.get_received()[-1]["args"][0]) == 1400 |
52 | | - # assert len(droneStatus.drone.message_listeners) == 1 |
| 75 | +# TODO: Sort this out |
| 76 | +# @falcon_test(pass_drone_status=True) |
| 77 | +# def test_setState_params_state(socketio_client: SocketIOTestClient, droneStatus) -> None: |
| 78 | +# """Test setting state to params""" |
| 79 | +# # pytest.skip(reason="Issues with parameterController to be fixed in alpha 0.1.8") |
| 80 | +# droneStatus.drone.message_listeners = {} |
| 81 | +# |
| 82 | +# socketio_client.emit("set_state", {"state": "params"}) |
| 83 | +# time.sleep(15) |
| 84 | +# assert len(socketio_client.get_received()[-1]["args"][0]) == 1400 |
| 85 | +# assert len(droneStatus.drone.message_listeners) == 1 |
0 commit comments