def test_execute_cmd_with_block_cmd(): node_1 = MagicMock() cmd = 'block node-1' e = Event(MagicMock()) e._context.nodes = {'node-1': node_1} e._execute_cmd(cmd) assert node_1.generate_blocks.called is True
def test_execute_cmd_with_block_cmd_with_empty_cmd(): node_1 = MagicMock() e = Event(MagicMock()) e.generate_tx = MagicMock() e._execute_cmd('') assert node_1.execute_rpc.called is False assert e.generate_tx.called is False
def test_execute_cmd_with_unknown_cmd(): cmd = 'unknown node-1' e = Event(MagicMock()) e._context.nodes = {'node-1': {}} with pytest.raises(Exception) as context: e._execute_cmd(cmd) assert 'Unknown cmd' in str(context)
def test_execute_cmd_with_exception(): context = MagicMock() node = MagicMock() node.generate_tx.side_effect = JSONRPCError( {'code': -1, 'message': 'test_message'}) context.nodes = {'node-1': node} e = Event(context) e._execute_cmd('tx node-1')
def test_execute_cmd_with_block_cmd_with_empty_cmd(self): node_1 = MagicMock() e = Event(MagicMock()) e.generate_tx = MagicMock() e._execute_cmd('') self.assertFalse(node_1.execute_rpc.called) self.assertFalse(e.generate_tx.called)
def test_execute_cmd_with_unknown_cmd(self): cmd = 'unknown node-1' e = Event(MagicMock()) e._context.nodes = {'node-1': {}} with self.assertRaises(Exception) as context: e._execute_cmd(cmd) self.assertTrue('Unknown cmd' in str(context.exception))
def test_execute_cmd_with_tx_tmd(): node = MagicMock() cmd = 'tx node-1' e = Event(MagicMock()) e.generate_tx = MagicMock() e._context.nodes = {'node-1': node} e._execute_cmd(cmd) assert node.generate_tx.called is True
def test_execute_with_exce_execute_cmd(self, m_error): m_file = mock_open(read_data=''.join('cmd1')) m_file.return_value.__iter__ = lambda self: self m_file.return_value.__next__ = lambda self: next( iter(self.readline, '')) with patch('builtins.open', m_file): mock = MagicMock() mock.args.tick_duration = 0 e = Event(mock) e._execute_cmd = MagicMock() e._execute_cmd.side_effect = Exception('mock') e.execute() self.assertRegex(m_error.call_args[0][0], 'Simulation could not .*')
def test_execute_multiple_lines(self, m_sleep, m_time): m_file = mock_open(read_data=''.join('cmd1\n' 'cmd2')) m_file.return_value.__iter__ = lambda self: self m_file.return_value.__next__ = lambda self: next( iter(self.readline, '')) with patch('builtins.open', m_file): mock = MagicMock() mock.args.tick_duration = 1 e = Event(mock) e._execute_cmd = MagicMock() m_time.return_value = 0 e.execute() self.assertEqual(e._execute_cmd.call_count, 2) self.assertTrue(m_sleep.call_count, 2)