Example #1
0
 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))
Example #2
0
    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
Example #3
0
    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)