def handle_incoming_loan_request(self, bank): loan_requests = self.api.load_all_loan_requests(bank) # loop through them and randomly accept or deny a few for list in loan_requests: loan_request = list[0] print "Accepting a mortgage from ", self.api._get_user( loan_request.user_key) self.api.accept_loan_request( bank, FakePayload.accept_loan_request(loan_request))
def accept_mortgages(self, user): user.update(self.api.db) mortgages = self.api.load_borrowers_offers(user) accepted = False for mortgage in mortgages: if isinstance(mortgage, Mortgage): print "Agreeing with the mortgage offer from ", mortgage.bank self.api.accept_mortgage_offer( user, FakePayload.accept_mortgage_offer(mortgage)) accepted = True return accepted
def accept_loan_offers(self, user): user.update(self.api.db) loan_offers = self.api.load_borrowers_offers(user) accepted = False for loan_offer in loan_offers: print 'Found loan offer' if isinstance(loan_offer, Investment): print "Agreeing with the loan offer from ", loan_offer.investor_key, " signed?: ", \ loan_offer.signature_valid(self.api) self.api.accept_investment_offer( user, FakePayload.accept_investment_offer(loan_offer)) accepted = True return accepted
def create_rejected_loan_request(self, user): assert user.role_id == 3 loan_requests = [] # Find all pending loan requests from the user for loan_request_id in user.loan_request_ids: loan_request = self.api.db.get(LoanRequest.type, loan_request_id) if loan_request.status == STATUS.PENDING: loan_requests.append(loan_request) # Reject a random pending loan request rand = random.randint(0, len(loan_requests) - 1) self.api.reject_loan_request(user, FakePayload.reject_loan_requests(loan_request[rand]))
def create_rejected_mortgage_offer(self, user): assert user.role_id == 1 mortgages = [] # Find all pending mortgages from the user for mortgage_id in user.mortgage_ids: mortgage = self.api.db.get(Mortgage.type, mortgage_id) if mortgage.status == STATUS.PENDING: mortgages.append(mortgage) # Reject a random pending mortgage offer rand = random.randint(0, len(mortgages) - 1) self.api.reject_mortgage_offer(user, FakePayload.reject_mortgage_offer(mortgages[rand]))
def create_investment_offer(self, user): assert user.role_id == 2 mortgages = [] # Find all accepted mortgages all_mortgages = self.api.db.get_all(Mortgage.type) for mortgage in all_mortgages: if mortgage.status == STATUS.ACCEPTED: mortgages.append(mortgage) # Create an investment offer on a random mortgage rand = random.randint(0, len(mortgages) - 1) self.api.place_loan_offer(user, FakePayload.place_investment_offer(mortgages[rand]))
def create_rejected_investment_offer(self, user): assert user.role_id == 1 # borrower investments = [] # Find all pending investment offers from the user for investment_id in user.investment_ids: investment = self.api.db.get(Investment.type, investment_id) assert isinstance(investment, Investment) if investment.status == STATUS.PENDING: investments.append(investment) # Reject a random pending investment rand = random.randint(0, len(investments) - 1) self.api.reject_investment_offer(user, FakePayload.reject_investment_offer(investments[rand]))
def create_loan_request(self, user): assert user.role_id == 1 # borrower self.api.create_loan_request(user, FakePayload.create_loan_request())
def make_investor(self, user): self.api.create_profile(user, FakePayload.profile(2))
def make_borrower(self, user): profile_payload = FakePayload.profile(1) self.api.create_profile(user, profile_payload)