Exemplo n.º 1
0
class Test(unittest.TestCase):


    def setUp(self):
        test_db_path = 'deal_test.db'
        if os.path.isfile(test_db_path):
            os.remove(test_db_path)
        test_db_path = '../deal_test.db'
#        db_url = "sqlite:///" + test_db_path
        db_url = 'mysql://*****:*****@localhost/kew_pe?charset=utf8' 
        self.control = Control(file_archive='',db_url=db_url, echo=False)


    def tearDown(self):
        self.control._dispose_()


    def _testHoldings(self):
        with self.control._session_context as session:
            deal = session.query(model.Deal).get(1)
            if deal:
                for i, h in enumerate(deal.holdings):
                    print i, h.id, h.name, h.deal_id
            
    def _testEntity(self):
        with self.control._session_context as session:
            obj = session.query(model.Entity).get(99)
            if obj:
                for i, o in enumerate(obj.accounts):
                    print i, o

    def _testVersionInc(self):
        with self.control._session_context as session:
            deals = [34]
            version_date = datetime.date.today()
            self.control.roll_version(deals, version_date=version_date, version_label="New Report")
            
    def testColProps(self):
        with self.control._session_context as session:
            print "*"*20, datetime.datetime.now()
            
            deal_27 = session.query(model.Deal).get(27)
            deal_34 = session.query(model.Deal).get(34)
            
            print deal_27.version_id, deal_34.version_id
            print deal_27.current_value, deal_34.current_value
            print deal_27.current_invested_capital, deal_34.current_invested_capital
            print deal_27.current_pnl, deal_34.current_pnl
            print deal_27.cash_pnl, deal_34.cash_pnl
            
            #print '*'*20, deal.current_invested_capital
            #json = deal.to_json()
            #print json
            print "*"*20, datetime.datetime.now()
            print "genoa_item"
            #list = self.control.genoa_list(model='Cashflow', criteria={u'deal_id': 27, u'version_id': 27}, offset=None, limit=None, summary=None, order_by=None)
            data = self.control.genoa_item(model='Deal', pk=27, collections=['cashflows'], surrogates=[], version_id=None)
            print "*"*20, datetime.datetime.now()
            print "genoa_save"
            self.control.genoa_save('Deal', data, collections=[['cashflows', 'Cashflow', 'ONETOMANY']], surrogates=[])
            print "*"*20, datetime.datetime.now()
            print "genoa_list"
            self.control.genoa_list('Cashflow', criteria={'deal_id':27, 'version_id':59})
            print "*"*20, datetime.datetime.now()