27 lines
634 B
Python
27 lines
634 B
Python
|
|
import asyncio
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
from libs.RestartController import RestartController
|
||
|
|
|
||
|
|
|
||
|
|
def test_restart_controller_initial_state():
|
||
|
|
rc = RestartController()
|
||
|
|
assert rc.consume() is False
|
||
|
|
|
||
|
|
|
||
|
|
def test_restart_controller_request_and_consume_once():
|
||
|
|
rc = RestartController()
|
||
|
|
rc.request()
|
||
|
|
assert rc.consume() is True
|
||
|
|
# Consuming again should be False until re-requested
|
||
|
|
assert rc.consume() is False
|
||
|
|
|
||
|
|
|
||
|
|
def test_restart_controller_idempotent_requests():
|
||
|
|
rc = RestartController()
|
||
|
|
rc.request()
|
||
|
|
rc.request()
|
||
|
|
# Still only one pending event
|
||
|
|
assert rc.consume() is True
|
||
|
|
assert rc.consume() is False
|