From 067a5c7a088180857bb9fe9b9ed049658c54f810 Mon Sep 17 00:00:00 2001 From: ghubstan <36207203+ghubstan@users.noreply.github.com> Date: Wed, 10 Mar 2021 14:15:59 -0300 Subject: [PATCH] Inject CoreContext into OpenOfferManager, adjust test --- .../bisq/core/offer/OpenOfferManager.java | 12 +++- .../bisq/core/offer/OpenOfferManagerTest.java | 72 +++++++++++++++---- 2 files changed, 70 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/bisq/core/offer/OpenOfferManager.java b/core/src/main/java/bisq/core/offer/OpenOfferManager.java index 3f07eaa1f4..bf04e10b19 100644 --- a/core/src/main/java/bisq/core/offer/OpenOfferManager.java +++ b/core/src/main/java/bisq/core/offer/OpenOfferManager.java @@ -17,6 +17,7 @@ package bisq.core.offer; +import bisq.core.api.CoreContext; import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.TradeWalletService; @@ -101,6 +102,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe private static final long REPUBLISH_INTERVAL_MS = TimeUnit.MINUTES.toMillis(40); private static final long REFRESH_INTERVAL_MS = TimeUnit.MINUTES.toMillis(6); + private final CoreContext coreContext; private final CreateOfferService createOfferService; private final KeyRing keyRing; private final User user; @@ -133,7 +135,8 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe /////////////////////////////////////////////////////////////////////////////////////////// @Inject - public OpenOfferManager(CreateOfferService createOfferService, + public OpenOfferManager(CoreContext coreContext, + CreateOfferService createOfferService, KeyRing keyRing, User user, P2PService p2PService, @@ -152,6 +155,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe FilterManager filterManager, Broadcaster broadcaster, PersistenceManager> persistenceManager) { + this.coreContext = coreContext; this.createOfferService = createOfferService; this.keyRing = keyRing; this.user = user; @@ -658,7 +662,11 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe availabilityResult = AvailabilityResult.MARKET_PRICE_NOT_AVAILABLE; } catch (Throwable e) { log.warn("Trade price check failed. " + e.getMessage()); - availabilityResult = AvailabilityResult.UNKNOWN_FAILURE; + if (coreContext.isApiUser()) + // Give api user something more than 'unknown_failure'. + availabilityResult = AvailabilityResult.PRICE_CHECK_FAILED; + else + availabilityResult = AvailabilityResult.UNKNOWN_FAILURE; } } else { availabilityResult = AvailabilityResult.USER_IGNORED; diff --git a/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java b/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java index 5cc984687a..63b4e406bb 100644 --- a/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java +++ b/core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java @@ -1,5 +1,6 @@ package bisq.core.offer; +import bisq.core.api.CoreContext; import bisq.core.trade.TradableList; import bisq.network.p2p.P2PService; @@ -26,12 +27,14 @@ import static org.mockito.Mockito.*; public class OpenOfferManagerTest { private PersistenceManager> persistenceManager; + private CoreContext coreContext; @Before public void setUp() throws Exception { var corruptedStorageFileHandler = mock(CorruptedStorageFileHandler.class); var storageDir = Files.createTempDirectory("storage").toFile(); persistenceManager = new PersistenceManager<>(storageDir, null, corruptedStorageFileHandler); + coreContext = new CoreContext(); } @After @@ -46,10 +49,25 @@ public class OpenOfferManagerTest { when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); - final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, - null, null, null, offerBookService, - null, null, null, - null, null, null, null, null, null, null, + final OpenOfferManager manager = new OpenOfferManager(coreContext, + null, + null, + null, + p2PService, + null, + null, + null, + offerBookService, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, persistenceManager); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); @@ -78,10 +96,25 @@ public class OpenOfferManagerTest { OfferBookService offerBookService = mock(OfferBookService.class); when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); - final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, - null, null, null, offerBookService, - null, null, null, - null, null, null, null, null, null, null, + final OpenOfferManager manager = new OpenOfferManager(coreContext, + null, + null, + null, + p2PService, + null, + null, + null, + offerBookService, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, persistenceManager); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); @@ -103,10 +136,25 @@ public class OpenOfferManagerTest { when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); - final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, - null, null, null, offerBookService, - null, null, null, - null, null, null, null, null, null, null, + final OpenOfferManager manager = new OpenOfferManager(coreContext, + null, + null, + null, + p2PService, + null, + null, + null, + offerBookService, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, persistenceManager); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false);