use of com.github.robozonky.api.remote.entities.RawInvestment in project robozonky by RoboZonky.
the class AuthenticatedTest method passwordProper.
@Test
void passwordProper() {
// prepare SUT
final SecretProvider sp = SecretProvider.fallback(UUID.randomUUID().toString(), new char[0]);
final String username = sp.getUsername();
final char[] password = sp.getPassword();
final ZonkyApiToken token = new ZonkyApiToken(UUID.randomUUID().toString(), UUID.randomUUID().toString(), 299);
final OAuth oauth = mock(OAuth.class);
when(oauth.login(eq(username), eq(password))).thenReturn(token);
final Zonky z = mock(Zonky.class);
final ApiProvider api = mockApiProvider(oauth, z);
final Authenticated a = Authenticated.passwordBased(api, sp);
// call SUT
final Function<Zonky, Collection<RawInvestment>> f = mock(Function.class);
final Collection<RawInvestment> expectedResult = Collections.emptyList();
when(f.apply(eq(z))).thenReturn(expectedResult);
final Collection<RawInvestment> result = a.call(f);
assertThat(result).isSameAs(expectedResult);
verify(oauth).login(eq(username), eq(password));
verify(oauth, never()).refresh(any());
verify(z).logout();
}
use of com.github.robozonky.api.remote.entities.RawInvestment in project robozonky by RoboZonky.
the class Zonky method sell.
public void sell(final Investment investment) {
LOGGER.info("Offering to sell investment in loan #{}.", investment.getLoanId());
controlApi.execute(api -> {
api.offer(new SellRequest(new RawInvestment(investment)));
});
}
use of com.github.robozonky.api.remote.entities.RawInvestment in project robozonky by RoboZonky.
the class ZonkyTest method purchase.
@Test
void purchase() {
final ControlApi control = mock(ControlApi.class);
final Api<ControlApi> ca = mockApi(control);
final PaginatedApi<RawLoan, LoanApi> la = mockApi();
final PaginatedApi<BlockedAmount, WalletApi> wa = mockApi();
final PaginatedApi<RawInvestment, PortfolioApi> pa = mockApi();
final PaginatedApi<Participation, ParticipationApi> sa = mockApi();
final PaginatedApi<RawDevelopment, CollectionsApi> caa = mockApi();
final Zonky z = new Zonky(ca, la, sa, pa, wa, caa);
final Participation p = mock(Participation.class);
when(p.getRemainingPrincipal()).thenReturn(BigDecimal.TEN);
when(p.getId()).thenReturn(1);
z.purchase(p);
verify(control).purchase(eq(p.getId()), any());
}
use of com.github.robozonky.api.remote.entities.RawInvestment in project robozonky by RoboZonky.
the class ZonkyTest method cancel.
@Test
void cancel() {
final ControlApi control = mock(ControlApi.class);
final Api<ControlApi> ca = mockApi(control);
final PaginatedApi<RawLoan, LoanApi> la = mockApi();
final PaginatedApi<BlockedAmount, WalletApi> wa = mockApi();
final PaginatedApi<RawInvestment, PortfolioApi> pa = mockApi();
final PaginatedApi<Participation, ParticipationApi> sa = mockApi();
final PaginatedApi<RawDevelopment, CollectionsApi> caa = mockApi();
final Zonky z = new Zonky(ca, la, sa, pa, wa, caa);
final Investment i = mock(Investment.class);
when(i.getId()).thenReturn(1);
z.cancel(i);
verify(control).cancel(eq(i.getId()));
}
Aggregations