コード例 #1
0
    def setUp(self):
        self.backend = MemoryBackend()

        class T(object):
            type = 'test'

            def __init__(self, id):
                self.id = id

        # Create some data
        self.block1 = T('1')
        self.block2 = T('2')
        self.block3 = T('3')
コード例 #2
0
    def __init__(self, *argv):
        QApplication.__init__(self, *argv)
        from market.api.api import MarketAPI
        from market.database.database import MarketDatabase
        from market.database.backends import MemoryBackend
        from market.models.user import User
        from market.models.role import Role

        self._api = MarketAPI(MarketDatabase(MemoryBackend()))
        # Create users
        user, _, _ = self._api.create_user()
        bank_role = Role.FINANCIAL_INSTITUTION.value
        bank1, _, _ = self._api.create_user()
        bank2, _, _ = self._api.create_user()
        bank3, _, _ = self._api.create_user()
        bank4, _, _ = self._api.create_user()
        bank1.role_id = bank_role
        bank2.role_id = bank_role
        bank3.role_id = bank_role
        bank4.role_id = bank_role
        self._api.db.put(User.type, bank1.id, bank1)
        self._api.db.put(User.type, bank2.id, bank2)
        self._api.db.put(User.type, bank3.id, bank3)
        self._api.db.put(User.type, bank4.id, bank4)
        self.user = user
        self.bank1 = bank1
        self.bank2 = bank2
        self.bank3 = bank3
        self.bank4 = bank4
コード例 #3
0
    def setUp(self):
        self.api = MarketAPI(MarketDatabase(MemoryBackend()))
        mock = Mock()
        self.api.community = mock

        mock.send_api_message_candidate.return_value = True
        mock.send_api_message_community.return_value = True
コード例 #4
0
    def setUp(self):
        # Faking IOThread
        registerAsIOThread()

        # Object creation and preperation
        self.dispersy = Dispersy(ManualEnpoint(0),
                                 unicode("dispersy_temporary"))
        self.api = MarketAPI(MarketDatabase(MemoryBackend()))
        self.api.db.backend.clear()

        user, _, priv = self.api.create_user()
        self.bank, _, _ = self.api.create_user()
        self.user = user
        self.private_key = priv

        self.dispersy._database.open()
        self.master_member = DummyMember(self.dispersy, 1, "a" * 20)
        self.member = self.dispersy.get_member(
            private_key=self.private_key.decode("HEX"))
        self.community = MortgageMarketCommunity.init_community(
            self.dispersy, self.master_member, self.member)

        self.community.api = self.api
        self.community.user = self.user
        self.api.community = self.community

        # Add our conversion to the community.
        self.conversion = MortgageMarketConversion(self.community)
        self.community._conversions = []
        self.community.add_conversion(self.conversion)

        self.setupModels()
コード例 #5
0
    def setUp(self):
        self.api = MarketAPI(MarketDatabase(MemoryBackend()))
        mock = Mock()
        self.api.community = mock
        self.api.incoming_queue.assign_message_handlers(mock)

        mock.on_loan_request_receive.return_value = True
        mock.on_loan_request_reject.return_value = True
        mock.on_mortgage_accept_signed.return_value = True
        mock.on_mortgage_accept_unsigned.return_value = True
        mock.on_investment_accept.return_value = True
        mock.on_mortgage_reject.return_value = True
        mock.on_investment_reject.return_value = True
        mock.on_mortgage_offer.return_value = True
        mock.on_investment_offer.return_value = True
コード例 #6
0
    def setUp(self):
        self.db = MarketDatabase(MemoryBackend())
        self.api = MarketAPI(self.db)

        self.db.backend.set_option('user_key_pub', "3081a7301006072a8648ce3d020106052b810400270381920004040a3d5712482be45375958745cdd3134ff079303bcf0ecf02ff6dff5b49cfde221a4068f1a243e31ba36052ed4836c77df8c1729cb9875ed703b23ccc9488f0b81ddba6e51b1caa01bc4e4c0152554c38b805ae6d9fb9d0a20172266b814a4f20e5ced5eb8f657c521b76dc6c10eb695444d69db8426a39232bd3e166eb22bcb7704642ca26a276774dc13d249b9e29")
        self.db.backend.set_option('user_key_priv', "3081ee0201010448017a656efdf1a6203fee24074e8e9aba1c329563321bbb17ddc069fccee0b9b5e5b505f4ac2131760b82cfb56301cac7a00341c812b7ae6b4867910c5ac8d4c23152ccaf64ba7956a00706052b81040027a181950381920004040a3d5712482be45375958745cdd3134ff079303bcf0ecf02ff6dff5b49cfde221a4068f1a243e31ba36052ed4836c77df8c1729cb9875ed703b23ccc9488f0b81ddba6e51b1caa01bc4e4c0152554c38b805ae6d9fb9d0a20172266b814a4f20e5ced5eb8f657c521b76dc6c10eb695444d69db8426a39232bd3e166eb22bcb7704642ca26a276774dc13d249b9e29")
コード例 #7
0
    def test_init(self):
        database = MarketDatabase(MemoryBackend())

        # Raise an error if no backend is given
        with self.assertRaises(AssertionError):
            database2 = MarketDatabase(None)
コード例 #8
0
    def setUp(self):
        self.database = MarketDatabase(MemoryBackend())

        # Some database models
        self.model1 = DatabaseModel()
        self.model2 = DatabaseModel()
コード例 #9
0
    def setUp(self):
        # Faking IOThread
        registerAsIOThread()

        # Object creation and preperation
        self.dispersy = Dispersy(ManualEnpoint(0),
                                 unicode("dispersy_temporary"))
        self.dispersy_bank = Dispersy(ManualEnpoint(0),
                                      unicode("dispersy_temporary2"))
        self.dispersy_investor = Dispersy(ManualEnpoint(0),
                                          unicode("dispersy_temporary3"))

        # a neutral api to generate the intial id's for loan requests and such to skip
        # having to save the loan request to the (sending) user from each test as that
        # isn't relevant.
        self.neutral_api = MarketAPI(MarketDatabase(MemoryBackend()))

        self.api = MarketAPI(MarketDatabase(MemoryBackend()))
        self.api_bank = MarketAPI(MarketDatabase(MemoryBackend()))
        self.api_investor = MarketAPI(MarketDatabase(MemoryBackend()))

        self.api.db.backend.clear()
        self.api_bank.db.backend.clear()
        self.api_investor.db.backend.clear()

        self.user, _, priv_user = self.api.create_user()
        self.bank, _, priv_bank = self.api.create_user()
        self.investor, _, priv_investor = self.api.create_user()

        # save the user to the bank and investor db
        self.user.post_or_put(self.api_bank.db)
        self.bank.post_or_put(self.api_bank.db)
        self.investor.post_or_put(self.api_bank.db)

        self.user.post_or_put(self.api_investor.db)
        self.bank.post_or_put(self.api_investor.db)
        self.investor.post_or_put(self.api_investor.db)

        self.dispersy._database.open()
        self.dispersy_bank._database.open()
        self.dispersy_investor._database.open()

        self.master_member = DummyMember(self.dispersy, 1, "a" * 20)

        self.member = self.dispersy.get_member(
            private_key=priv_user.decode("HEX"))
        self.member_bank = self.dispersy.get_member(
            private_key=priv_bank.decode("HEX"))
        self.member_investor = self.dispersy.get_member(
            private_key=priv_investor.decode("HEX"))

        self.community = MortgageMarketCommunity.init_community(
            self.dispersy, self.master_member, self.member)
        self.community_bank = MortgageMarketCommunity.init_community(
            self.dispersy_bank, self.master_member, self.member_bank)
        self.community_investor = MortgageMarketCommunity.init_community(
            self.dispersy_investor, self.master_member, self.member_investor)

        self.community.api = self.api
        self.community.user = self.user
        self.api.community = self.community

        self.community_bank.api = self.api_bank
        self.community_bank.user = self.bank
        self.api.community = self.community_bank

        self.community_investor.api = self.api_investor
        self.community_investor.user = self.investor
        self.api.community = self.community_investor

        # Add our conversion to the community.
        self.conversion = MortgageMarketConversion(self.community)

        self.dispersy_mock = Mock()
        self.dispersy_mock.store_update_forward.return_value = True

        self.setupModels()
コード例 #10
0
class MemoryBackendTestSuite(unittest.TestCase):
    def setUp(self):
        self.backend = MemoryBackend()

        class T(object):
            type = 'test'

            def __init__(self, id):
                self.id = id

        # Create some data
        self.block1 = T('1')
        self.block2 = T('2')
        self.block3 = T('3')

    def test_clear(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)
        self.backend.clear()
        with self.assertRaises(IndexError):
            self.backend.get('test', self.block1.id)

    def test_post(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)
        self.assertEqual(self.block1, self.backend.get('test', self.block1.id))

    def test_get(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)
        self.backend.post('test', self.block2.id, self.block2)
        self.backend.post('test', self.block3.id, self.block3)

        with self.assertRaises(IndexError):
            self.backend.post('test2', self.block1.id, self.block1)

        self.assertEqual(self.backend.get('test', '1'), self.block1)
        self.assertEqual(self.backend.get('test', self.block2.id), self.block2)
        self.assertNotEqual(self.backend.get('test', '1'),
                            self.backend.get('test', '2'))

        with self.assertRaises(IndexError):
            self.assertEqual(self.backend.get('test', '1'),
                             self.backend.get('test2', '1'))

    def test_get_error(self):
        self.backend.clear()
        with self.assertRaises(IndexError):
            self.backend.get('test', 1)

    def test_put_fail(self):
        self.backend.clear()
        self.assertFalse(self.backend.put('test', '1', self.block1))

    def test_put_success(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)
        self.assertEqual(self.backend.get('test', self.block1.id), self.block1)

        self.assertTrue(self.backend.put('test', self.block1.id, self.block2))
        self.assertEqual(self.backend.get('test', self.block1.id), self.block2)

    def test_delete(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)

        self.assertEqual(self.backend.get('test', self.block1.id), self.block1)

        self.backend.delete(self.block1)
        with self.assertRaises(IndexError):
            self.backend.get('test', self.block1.id)

    def test_get_all(self):
        self.backend.clear()
        self.backend.post('test', self.block1.id, self.block1)
        self.backend.post('test', self.block2.id, self.block2)
        self.backend.post('boe', self.block3.id, self.block3)

        all_tests = self.backend.get_all('test')
        self.assertIsInstance(all_tests, list)
        self.assertIn(self.block1, all_tests)
        self.assertIn(self.block2, all_tests)
        self.assertNotIn(self.block3, all_tests)