Skip to content

Commit bbfac2f

Browse files
committed
snmp: drop return values for power control methods
Signed-off-by: Benny Zlotnik <[email protected]>
1 parent 020a085 commit bbfac2f

File tree

5 files changed

+40
-43
lines changed

5 files changed

+40
-43
lines changed

docs/source/api-reference/drivers/snmp.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ Turn power off for the configured outlet.
5353
Returns:
5454
- str: Confirmation message
5555
56-
#### cycle(quiescent_period: int = 2)
56+
#### cycle(wait: int = 2)
5757
Power cycle the device with a configurable wait period between off and on states.
5858
5959
Parameters:
60-
- quiescent_period: Time to wait in seconds between power off and power on
60+
- wait: Time to wait in seconds between power off and power on
6161
6262
Returns:
6363
- str: Confirmation message
@@ -66,7 +66,7 @@ Returns:
6666
6767
Power cycling a device:
6868
```python
69-
snmp_client.cycle(quiescent_period=3)
69+
snmp_client.cycle(wait=3)
7070
```
7171

7272
Basic power control:
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
1-
from jumpstarter_driver_power.driver import MockPower
21

3-
from .driver import Composite
4-
from jumpstarter.common.utils import serve
2+
from jumpstarter_driver_composite.driver import Composite
53

4+
from jumpstarter.driver import Driver
65

7-
def test_drivers_composite():
8-
with serve(
9-
Composite(
10-
children={
11-
"power0": MockPower(),
12-
"composite1": Composite(
13-
children={
14-
"power1": MockPower(),
15-
},
16-
),
17-
},
18-
)
19-
) as client:
20-
assert client.power0.on() == "ok"
21-
assert client.composite1.power1.on() == "ok"
6+
7+
def test_composite_basic():
8+
class SimpleDriver(Driver):
9+
@classmethod
10+
def client(cls) -> str:
11+
return "test.client.SimpleClient"
12+
13+
child1 = SimpleDriver()
14+
child2 = SimpleDriver()
15+
16+
composite = Composite(children={
17+
"child1": child1,
18+
"child2": child2
19+
})
20+
21+
assert len(composite.children) == 2
22+
assert composite.children["child1"] == child1
23+
assert composite.children["child2"] == child2

packages/jumpstarter-driver-power/jumpstarter_driver_power/client.py

+13-12
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,20 @@
88

99

1010
class PowerClient(DriverClient):
11-
def on(self) -> str:
12-
return self.call("on")
11+
def on(self):
12+
self.call("on")
1313

14-
def off(self) -> str:
15-
return self.call("off")
14+
def off(self):
15+
self.call("off")
1616

17-
def cycle(self, quiescent_period: int = 2) -> str:
17+
def cycle(self, wait: int = 2):
1818
"""Power cycle the device"""
1919
self.logger.info("Starting power cycle sequence")
2020
self.off()
21-
self.logger.info(f"Waiting {quiescent_period} seconds...")
22-
time.sleep(quiescent_period)
21+
self.logger.info(f"Waiting {wait} seconds...")
22+
time.sleep(wait)
2323
self.on()
2424
self.logger.info("Power cycle sequence complete")
25-
return "Power cycled"
2625

2726
def read(self) -> Generator[PowerReading, None, None]:
2827
for v in self.streamingcall("read"):
@@ -37,17 +36,19 @@ def base():
3736
@base.command()
3837
def on():
3938
"""Power on"""
40-
click.echo(self.on())
39+
self.on()
40+
click.echo("Powered on")
4141

4242
@base.command()
4343
def off():
4444
"""Power off"""
45-
click.echo(self.off())
45+
self.off()
46+
click.echo("Powered off")
4647

4748
@base.command()
4849
@click.option('--wait', '-w', default=2, help='Wait time in seconds between off and on')
4950
def cycle(wait):
5051
"""Power cycle"""
51-
click.echo(self.cycle(wait))
52-
52+
click.echo(f"Power cycling with {wait} seconds wait time...")
53+
self.cycle(wait)
5354
return base

packages/jumpstarter-driver-power/jumpstarter_driver_power/client_test.py

-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@
55

66
def test_client_mock_power():
77
with serve(MockPower()) as client:
8-
assert client.on() == "ok"
9-
assert client.off() == "ok"
10-
118
assert list(client.read()) == [
129
PowerReading(voltage=0.0, current=0.0),
1310
PowerReading(voltage=5.0, current=2.0),
@@ -16,9 +13,6 @@ def test_client_mock_power():
1613

1714
def test_client_sync_mock_power():
1815
with serve(SyncMockPower()) as client:
19-
assert client.on() == "ok"
20-
assert client.off() == "ok"
21-
2216
assert list(client.read()) == [
2317
PowerReading(voltage=0.0, current=0.0),
2418
PowerReading(voltage=5.0, current=2.0),

packages/jumpstarter-driver-snmp/jumpstarter_driver_snmp/client.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
class SNMPServerClient(PowerClient):
99
"""Client interface for SNMP Power Control"""
1010

11-
def on(self) -> str:
11+
def on(self):
1212
"""Turn power on"""
13-
return self.call("on")
13+
self.call("on")
1414

15-
def off(self) -> str:
15+
def off(self):
1616
"""Turn power off"""
17-
return self.call("off")
17+
self.call("off")
1818

1919
def cli(self):
2020
@click.group()

0 commit comments

Comments
 (0)