Inject CoreContext into OpenOfferManager, adjust test

This commit is contained in:
ghubstan 2021-03-10 14:15:59 -03:00
parent 5c097d3bcf
commit 067a5c7a08
No known key found for this signature in database
GPG key ID: E35592D6800A861E
2 changed files with 70 additions and 14 deletions

View file

@ -17,6 +17,7 @@
package bisq.core.offer; package bisq.core.offer;
import bisq.core.api.CoreContext;
import bisq.core.btc.wallet.BsqWalletService; import bisq.core.btc.wallet.BsqWalletService;
import bisq.core.btc.wallet.BtcWalletService; import bisq.core.btc.wallet.BtcWalletService;
import bisq.core.btc.wallet.TradeWalletService; 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 REPUBLISH_INTERVAL_MS = TimeUnit.MINUTES.toMillis(40);
private static final long REFRESH_INTERVAL_MS = TimeUnit.MINUTES.toMillis(6); private static final long REFRESH_INTERVAL_MS = TimeUnit.MINUTES.toMillis(6);
private final CoreContext coreContext;
private final CreateOfferService createOfferService; private final CreateOfferService createOfferService;
private final KeyRing keyRing; private final KeyRing keyRing;
private final User user; private final User user;
@ -133,7 +135,8 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
@Inject @Inject
public OpenOfferManager(CreateOfferService createOfferService, public OpenOfferManager(CoreContext coreContext,
CreateOfferService createOfferService,
KeyRing keyRing, KeyRing keyRing,
User user, User user,
P2PService p2PService, P2PService p2PService,
@ -152,6 +155,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
FilterManager filterManager, FilterManager filterManager,
Broadcaster broadcaster, Broadcaster broadcaster,
PersistenceManager<TradableList<OpenOffer>> persistenceManager) { PersistenceManager<TradableList<OpenOffer>> persistenceManager) {
this.coreContext = coreContext;
this.createOfferService = createOfferService; this.createOfferService = createOfferService;
this.keyRing = keyRing; this.keyRing = keyRing;
this.user = user; this.user = user;
@ -658,6 +662,10 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
availabilityResult = AvailabilityResult.MARKET_PRICE_NOT_AVAILABLE; availabilityResult = AvailabilityResult.MARKET_PRICE_NOT_AVAILABLE;
} catch (Throwable e) { } catch (Throwable e) {
log.warn("Trade price check failed. " + e.getMessage()); log.warn("Trade price check failed. " + e.getMessage());
if (coreContext.isApiUser())
// Give api user something more than 'unknown_failure'.
availabilityResult = AvailabilityResult.PRICE_CHECK_FAILED;
else
availabilityResult = AvailabilityResult.UNKNOWN_FAILURE; availabilityResult = AvailabilityResult.UNKNOWN_FAILURE;
} }
} else { } else {

View file

@ -1,5 +1,6 @@
package bisq.core.offer; package bisq.core.offer;
import bisq.core.api.CoreContext;
import bisq.core.trade.TradableList; import bisq.core.trade.TradableList;
import bisq.network.p2p.P2PService; import bisq.network.p2p.P2PService;
@ -26,12 +27,14 @@ import static org.mockito.Mockito.*;
public class OpenOfferManagerTest { public class OpenOfferManagerTest {
private PersistenceManager<TradableList<OpenOffer>> persistenceManager; private PersistenceManager<TradableList<OpenOffer>> persistenceManager;
private CoreContext coreContext;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
var corruptedStorageFileHandler = mock(CorruptedStorageFileHandler.class); var corruptedStorageFileHandler = mock(CorruptedStorageFileHandler.class);
var storageDir = Files.createTempDirectory("storage").toFile(); var storageDir = Files.createTempDirectory("storage").toFile();
persistenceManager = new PersistenceManager<>(storageDir, null, corruptedStorageFileHandler); persistenceManager = new PersistenceManager<>(storageDir, null, corruptedStorageFileHandler);
coreContext = new CoreContext();
} }
@After @After
@ -46,10 +49,25 @@ public class OpenOfferManagerTest {
when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class));
final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, final OpenOfferManager manager = new OpenOfferManager(coreContext,
null, null, null, offerBookService, null,
null, null, null, null,
null, null, null, null, null, null, null, null,
p2PService,
null,
null,
null,
offerBookService,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
persistenceManager); persistenceManager);
AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false);
@ -78,10 +96,25 @@ public class OpenOfferManagerTest {
OfferBookService offerBookService = mock(OfferBookService.class); OfferBookService offerBookService = mock(OfferBookService.class);
when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class));
final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, final OpenOfferManager manager = new OpenOfferManager(coreContext,
null, null, null, offerBookService, null,
null, null, null, null,
null, null, null, null, null, null, null, null,
p2PService,
null,
null,
null,
offerBookService,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
persistenceManager); persistenceManager);
AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false);
@ -103,10 +136,25 @@ public class OpenOfferManagerTest {
when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class)); when(p2PService.getPeerManager()).thenReturn(mock(PeerManager.class));
final OpenOfferManager manager = new OpenOfferManager(null, null, null, p2PService, final OpenOfferManager manager = new OpenOfferManager(coreContext,
null, null, null, offerBookService, null,
null, null, null, null,
null, null, null, null, null, null, null, null,
p2PService,
null,
null,
null,
offerBookService,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
persistenceManager); persistenceManager);
AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false); AtomicBoolean startEditOfferSuccessful = new AtomicBoolean(false);