#2042: remove apply_timestep() return value

This commit is contained in:
Nick Todd
2023-11-22 14:13:50 +00:00
parent dd7c2b05f8
commit 3f76e09521
2 changed files with 12 additions and 8 deletions

View File

@@ -66,6 +66,7 @@ class NTPClient(Service):
:return: True if successful, False otherwise. :return: True if successful, False otherwise.
""" """
self.ip_addr = payload.ntp_request.ntp_client
self.sys_log.info(f"{self.name}: Sending NTP request {payload.ntp_request.ntp_client}") self.sys_log.info(f"{self.name}: Sending NTP request {payload.ntp_request.ntp_client}")
return super().send( return super().send(
@@ -92,10 +93,7 @@ class NTPClient(Service):
_LOGGER.debug(f"{payload} is not a NTPPacket") _LOGGER.debug(f"{payload} is not a NTPPacket")
return False return False
if payload.ntp_reply.ntp_datetime: if payload.ntp_reply.ntp_datetime:
self.sys_log.info( self.sys_log.info(f"{self.name}: Received time update from NTP server{payload.ntp_reply.ntp_datetime}")
f"{self.name}: Received time \
update from NTP server{payload.ntp_reply.ntp_datetime}"
)
self.time = payload.ntp_reply.ntp_datetime self.time = payload.ntp_reply.ntp_datetime
return True return True
@@ -110,13 +108,12 @@ class NTPClient(Service):
:param timestep: The current timestep number. (Amount of time since simulation episode began) :param timestep: The current timestep number. (Amount of time since simulation episode began)
:type timestep: int :type timestep: int
""" """
self.sys_log.info(f"{self.name} apply_timestep: IP address: {self.ip_addr}")
super().apply_timestep(timestep) super().apply_timestep(timestep)
if self.operating_state == ServiceOperatingState.RUNNING: if self.operating_state == ServiceOperatingState.RUNNING:
# request time from server # request time from server
ntp_request = NTPRequest(ntp_client=self.ip_addr) ntp_request = NTPRequest(ntp_client=self.ip_addr)
ntp_server_packet = NTPPacket(ntp_request=ntp_request) ntp_server_packet = NTPPacket(ntp_request=ntp_request)
self.send(payload=ntp_server_packet) self.send(payload=ntp_server_packet)
return True
else: else:
self.sys_log.debug(f"{self.name} ntp client not running") self.sys_log.debug(f"{self.name} ntp client not running")
return False

View File

@@ -1,4 +1,5 @@
from ipaddress import IPv4Address from ipaddress import IPv4Address
from time import sleep
import pytest import pytest
@@ -61,11 +62,17 @@ def test_ntp_client_server():
assert ntp_server.receive(payload=ntp_packet) is True assert ntp_server.receive(payload=ntp_packet) is True
assert ntp_client.receive(payload=ntp_packet) is True assert ntp_client.receive(payload=ntp_packet) is True
assert ntp_client.time is not None assert ntp_client.time is not None
assert ntp_client.apply_timestep(1) is True first_time = ntp_client.time
sleep(0.1)
ntp_client.apply_timestep(1) # Check time advances
ntp_server.receive(payload=ntp_packet)
ntp_client.receive(payload=ntp_packet)
second_time = ntp_client.time
assert first_time != second_time
# Test ntp client behaviour when ntp server is unavailable. # Test ntp client behaviour when ntp server is unavailable.
@pytest.mark.skip(reason="NTP needs to know if underly node is RUNNING") @pytest.mark.skip(reason="NTP needs to know if underlying node is RUNNING")
def test_ntp_server_failure(): def test_ntp_server_failure():
network = create_ntp_network() network = create_ntp_network()
server: Server = network.get_node_by_hostname("ntp_server") server: Server = network.get_node_by_hostname("ntp_server")