def run(self, context, force_bootstrap=False): log.debug("InitState: run()") try: context.config = config.load( local_path=settings.PATHS.local_conf, global_path=settings.PATHS.global_conf, ) log.info(f"Loaded configuration: {context.config}") except config.NoConfigurationFileError: log.error("No configuration files found for the device." " Most likely, the device will not be functional.") identity_data = identity.aggregate( path=settings.PATHS.identity_scripts) context.identity_data = identity_data private_key = bootstrap.now(force_bootstrap=force_bootstrap, private_key_path=settings.PATHS.key) context.private_key = private_key context.inventory_timer = timeutil.IsItTime( context.config.InventoryPollIntervalSeconds) context.update_timer = timeutil.IsItTime( context.config.UpdatePollIntervalSeconds) context.retry_timer = timeutil.IsItTime( context.config.RetryPollIntervalSeconds) log.debug(f"Init set context to: {context}") return context
def test_is_it_time_sleep_full_shortest(self): timer = timeutil.IsItTime(self.INTERVAL) longer_timer = timeutil.IsItTime(self.INTERVAL * 2) timer.is_it_time() longer_timer.is_it_time() start_time = time.time() timeutil.sleep(longer_timer, timer) end_time = time.time() assert (end_time - start_time - self.INTERVAL) <= self.DT
def test_is_it_time_sleep_partial_shortest(self): timer = timeutil.IsItTime(self.INTERVAL) longer_timer = timeutil.IsItTime(self.INTERVAL * 2) timer.is_it_time() longer_timer.is_it_time() start_time = time.time() time.sleep(timer.seconds_till_next() * 0.5) timeutil.sleep(longer_timer, timer) end_time = time.time() assert (end_time - start_time - self.INTERVAL) <= self.DT
def test_is_it_time_sleep_full(self): timer = timeutil.IsItTime(self.INTERVAL) timer.is_it_time() start_time = time.time() timeutil.sleep(timer) end_time = time.time() assert (end_time - start_time - self.INTERVAL) <= self.DT
def test_is_it_time_zero_timeout(self): timer = timeutil.IsItTime(0) start_time = time.time() assert timer.is_it_time() assert timer.is_it_time() end_time = time.time() assert (end_time - start_time) <= self.DT
def test_is_it_time(self): timer = timeutil.IsItTime(self.INTERVAL) assert timer.is_it_time() assert not timer.is_it_time() time.sleep(self.INTERVAL + 1) assert timer.is_it_time()