Пример #1
0
    def test_get_balance(self, async_run, *_):
        c = self.client

        result = (None, None, None)

        deferred = Deferred()
        deferred.result = result
        deferred.called = True

        async_run.return_value = deferred

        c.transaction_system = Mock()
        c.transaction_system.get_balance.return_value = result

        balance = sync_wait(c.get_balance())
        assert balance == (None, None, None)

        result = (None, 1, None)
        deferred.result = result
        balance = sync_wait(c.get_balance())
        assert balance == (None, None, None)

        result = (1, 1, None)
        deferred.result = result
        balance = sync_wait(c.get_balance())
        assert balance == (u"1", u"1", u"None")
        assert all(isinstance(entry, unicode) for entry in balance)

        c.transaction_system = None
        balance = sync_wait(c.get_balance())
        assert balance == (None, None, None)
Пример #2
0
    def test_execute(self, reactor, _):

        deferred = Deferred()
        deferred.result = "Success"
        deferred.called = True

        reactor.callWhenRunning = lambda m, *a, **kw: m(*a, **kw)

        @contextmanager
        def rpc_context():
            connect = Session.connect
            Session.connect = Mock()
            Session.connect.return_value = deferred
            yield
            Session.connect = connect

        with rpc_context():

            ws_cli = WebSocketCLI(Mock(), '127.0.0.1', '12345', realm=u'golem')
            ws_cli.execute()

            assert isinstance(ws_cli.cli.register_client.call_args_list[0][0][0], Client)

        with rpc_context():

            deferred.result = Failure(Exception("Failure"))
            deferred.called = True

            ws_cli = WebSocketCLI(Mock(), '127.0.0.1', '12345', realm=u'golem')
            ws_cli.execute()

            assert isinstance(ws_cli.cli.register_client.call_args_list[0][0][0], WebSocketCLI.NoConnection)
Пример #3
0
    def test_wait_for_deferred(self):

        self.assertEqual(sync_wait('1234'), '1234')

        deferred = Deferred()
        deferred.result = '5678'
        deferred.called = True

        self.assertEqual(sync_wait(deferred), '5678')

        with self.assertRaises(TimeoutError):
            deferred_2 = Deferred()
            sync_wait(deferred_2, timeout=0)
Пример #4
0
    def test_min_max_price(self):
        self.logic.get_res_dirs.return_value = {'computing': os.getcwd(),
                                                'distributed': os.getcwd(),
                                                'received': os.getcwd()}

        config_mock = MagicMock()
        config_mock.max_price = int(2.01 * denoms.ether)
        config_mock.min_price = int(2.0 * denoms.ether)

        config_deferred = Deferred()
        config_deferred.result = config_mock
        config_deferred.called = True

        res_dirs_deferred = Deferred()
        res_dirs_deferred.result = MagicMock()
        res_dirs_deferred.called = True

        self.logic.get_config.return_value = config_deferred
        self.logic.get_res_dirs.return_value = res_dirs_deferred

        customizer = ConfigurationDialogCustomizer(self.gui.main_window, self.logic)
        self.assertIsInstance(customizer, ConfigurationDialogCustomizer)
        self.assertEqual(float(customizer.gui.ui.maxPriceLineEdit.text()), 2.01)
        self.assertEqual(float(customizer.gui.ui.minPriceLineEdit.text()), 2.0)
        customizer.gui.ui.maxPriceLineEdit.setText(u"{}".format(1))
        customizer.gui.ui.minPriceLineEdit.setText(u"{}".format(0.0011))
        self.__click_ok(customizer)
        ccd = self.logic.change_config.call_args_list[0][0][0]
        self.assertEqual(ccd.min_price, int(0.0011 * denoms.ether))
        self.assertEqual(round(float(ccd.max_price) / denoms.ether), 1)
        customizer.gui.ui.maxPriceLineEdit.setText(u"ABCDEF")
        with self.assertLogs(logger, level=1):
            self.__click_ok(customizer)
        customizer.gui.ui.maxPriceLineEdit.setText(u"{}".format(0.3))
        customizer.gui.ui.minPriceLineEdit.setText(u"0.1 ETH")
        with self.assertLogs(logger, level=1):
            self.__click_ok(customizer)
Пример #5
0
    def test_update_payments_view(self):
        logic = GuiApplicationLogic()
        logic.client = Mock()
        logic.customizer = Mock()
        ether = denoms.ether

        balance_deferred = Deferred()
        balance_deferred.result = (3 * ether, 1 * ether, 0.3 * ether)
        balance_deferred.called = True

        logic.client.get_balance.return_value = balance_deferred
        logic.update_payments_view()

        ui = logic.customizer.gui.ui
        ui.localBalanceLabel.setText.assert_called_once_with("3.00000000 GNT")
        ui.reservedBalanceLabel.setText.assert_called_once_with(
            "2.00000000 GNT")
        ui.availableBalanceLabel.setText.assert_called_once_with(
            "1.00000000 GNT")
        ui.depositBalanceLabel.setText.assert_called_once_with(
            "0.30000000 ETH")