def test_should_reload_config_file_if_changed(self, deployment: Deployment, tmpdir): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = OasisMarketMakerKeeper(args=args( f"--eth-from {deployment.our_address} " f"--tub-address {deployment.tub.address} " f"--oasis-address {deployment.otc.address} " f"--price-feed tub " f"--config {config_file}"), web3=deployment.web3) keeper.lifecycle = Lifecycle(web3=keeper.web3) # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 1 # when second_config_file = BandConfig.sample_config(tmpdir) shutil.copyfile(second_config_file, config_file) # and self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 2
def test_should_support_config_files_with_variables(self, deployment: Deployment, tmpdir): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = OasisMarketMakerKeeper(args=args(f"--eth-from {deployment.our_address} " f"--tub-address {deployment.tub.address} " f"--oasis-address {deployment.otc.address} " f"--buy-token-address {deployment.sai.address} " f"--sell-token-address {deployment.gem.address} " f"--price-feed eth_dai-tub " f"--config {config_file}"), web3=deployment.web3) keeper.lifecycle = Lifecycle(web3=keeper.web3) # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 1 # and assert self.orders_by_token(deployment, deployment.gem)[0].maker == deployment.our_address assert self.orders_by_token(deployment, deployment.gem)[0].pay_amount == Wad.from_number(5.0) assert self.orders_by_token(deployment, deployment.gem)[0].pay_token == deployment.gem.address assert self.orders_by_token(deployment, deployment.gem)[0].buy_amount == Wad.from_number(520) assert self.orders_by_token(deployment, deployment.gem)[0].buy_token == deployment.sai.address
def test_should_reload_config_file_if_changed(self, deployment: Deployment, tmpdir): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = OasisMarketMakerKeeper(args=args(f"--eth-from {deployment.our_address} " f"--tub-address {deployment.tub.address} " f"--oasis-address {deployment.otc.address} " f"--buy-token-address {deployment.sai.address} " f"--sell-token-address {deployment.gem.address} " f"--price-feed tub " f"--config {config_file}"), web3=deployment.web3) keeper.lifecycle = Lifecycle(web3=keeper.web3) # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 1 # when second_config_file = BandConfig.sample_config(tmpdir) shutil.copyfile(second_config_file, config_file) # and self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 2
def test_should_support_config_files_with_variables(self, deployment: Deployment, tmpdir): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = OasisMarketMakerKeeper(args=args(f"--eth-from {deployment.our_address} " f"--tub-address {deployment.tub.address} " f"--oasis-address {deployment.otc.address} " f"--buy-token-address {deployment.sai.address} " f"--sell-token-address {deployment.gem.address} " f"--price-feed tub " f"--config {config_file}"), web3=deployment.web3) keeper.lifecycle = Lifecycle(web3=keeper.web3) # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() self.synchronize_orders_twice(keeper) # then assert len(deployment.otc.get_orders()) == 1 # and assert self.orders_by_token(deployment, deployment.gem)[0].maker == deployment.our_address assert self.orders_by_token(deployment, deployment.gem)[0].pay_amount == Wad.from_number(5.0) assert self.orders_by_token(deployment, deployment.gem)[0].pay_token == deployment.gem.address assert self.orders_by_token(deployment, deployment.gem)[0].buy_amount == Wad.from_number(520) assert self.orders_by_token(deployment, deployment.gem)[0].buy_token == deployment.sai.address
def test_should_support_config_files_with_variables( self, deployment: Deployment, tmpdir: py.path.local): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = EtherDeltaMarketMakerKeeper(args=args( f"--eth-from {deployment.our_address} --config {config_file}" f" --tub-address {deployment.tub.address}" f" --etherdelta-address {deployment.etherdelta.address}" f" --etherdelta-socket https://127.0.0.1:99999/" f" --order-age 3600 --eth-reserve 10" f" --min-eth-deposit 1 --min-sai-deposit 400" f" --cancel-on-shutdown --withdraw-on-shutdown"), web3=deployment.web3) keeper.lifecycle = Web3Lifecycle(web3=keeper.web3) keeper.etherdelta_api.publish_order = MagicMock() # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() keeper.synchronize_orders( ) # ... first call is so it can made deposits keeper.synchronize_orders( ) # ... second call is so the actual orders can get placed # then assert len(self.orders(keeper)) == 1 # and assert self.orders_by_token( keeper, EtherDelta.ETH_TOKEN)[0].maker == deployment.our_address assert self.orders_by_token( keeper, EtherDelta.ETH_TOKEN)[0].pay_amount == Wad.from_number(5.0) assert self.orders_by_token( keeper, EtherDelta.ETH_TOKEN)[0].pay_token == EtherDelta.ETH_TOKEN assert self.orders_by_token( keeper, EtherDelta.ETH_TOKEN)[0].buy_amount == Wad.from_number(520) assert self.orders_by_token( keeper, EtherDelta.ETH_TOKEN)[0].buy_token == deployment.sai.address
def test_should_reload_config_file_if_changed(self, deployment: Deployment, tmpdir: py.path.local): # given config_file = BandConfig.with_variables_config(tmpdir) # and keeper = EtherDeltaMarketMakerKeeper(args=args( f"--eth-from {deployment.our_address} --config {config_file}" f" --tub-address {deployment.tub.address}" f" --etherdelta-address {deployment.etherdelta.address}" f" --etherdelta-socket https://127.0.0.1:99999/" f" --order-age 3600 --eth-reserve 10" f" --min-eth-deposit 1 --min-sai-deposit 400"), web3=deployment.web3) keeper.lifecycle = Web3Lifecycle(web3=keeper.web3) keeper.etherdelta_api.publish_order = MagicMock() # and self.mint_tokens(deployment) self.set_price(deployment, Wad.from_number(100)) # when keeper.approve() keeper.synchronize_orders( ) # ... first call is so it can made deposits keeper.synchronize_orders( ) # ... second call is so the actual orders can get placed # then assert len(self.orders(keeper)) == 1 # when second_config_file = BandConfig.sample_config(tmpdir) shutil.copyfile(second_config_file, config_file) # and keeper.synchronize_orders( ) # ... first call is so it can made deposits keeper.synchronize_orders( ) # ... second call is so the actual orders can get placed # then assert len(self.orders(keeper)) == 2