def test_should_use_new_spreads_even_if_config_not_changed(self, tmpdir): # given reloadable_config = ReloadableConfig(self.write_spread_importing_config(tmpdir)) reloadable_config.logger = MagicMock() # when spread_feed = { "buySpread": "0.1", "sellSpread": "1.0" } config = reloadable_config.get_config(spread_feed) # then assert config["usedBuySpread"] == 0.2 assert config["usedSellSpread"] == 3.0 # and # [a log message that the config was loaded gets generated] assert reloadable_config.logger.info.call_count == 1 # when spread_feed = { "buySpread": "0.2", "sellSpread": "0.5" } config = reloadable_config.get_config(spread_feed) # then assert config["usedBuySpread"] == 0.4 assert config["usedSellSpread"] == 1.5 # and # [no log message that the config was reloaded gets generated] # [as it was only parsed again] assert reloadable_config.logger.info.call_count == 1
def test_should_read_file_again_if_changed(self, tmpdir): # given reloadable_config = ReloadableConfig(self.write_advanced_config(tmpdir, "b")) reloadable_config.logger = MagicMock() # when config = reloadable_config.get_config({}) # then assert config["a"] == "b" # and # [a log message that the config was loaded gets generated] assert reloadable_config.logger.info.call_count == 1 # when self.write_advanced_config(tmpdir, "z") config = reloadable_config.get_config({}) # then assert config["a"] == "z" # and # [a log message that the config was reloaded gets generated] assert reloadable_config.logger.info.call_count == 2
def test_should_use_new_spreads_even_if_config_not_changed(self, tmpdir): # given reloadable_config = ReloadableConfig(self.write_spread_importing_config(tmpdir)) reloadable_config.logger = MagicMock() # when spread_feed = { "buySpread": "0.1", "sellSpread": "1.0" } config = reloadable_config.get_config(spread_feed) # then assert config["usedBuySpread"] == 0.2 assert config["usedSellSpread"] == 3.0 # and # [a log message that the config was loaded gets generated] assert reloadable_config.logger.info.call_count == 1 # when spread_feed = { "buySpread": "0.2", "sellSpread": "0.5" } config = reloadable_config.get_config(spread_feed) # then assert config["usedBuySpread"] == 0.4 assert config["usedSellSpread"] == 1.5 # and # [a log message that the config was reloaded gets generated] assert reloadable_config.logger.info.call_count == 2