def setUp(self):
     p = MagicMock()
     # Serialized version of the block we want
     source = Hello(p, dict(mri="blockname"))[0]
     self.serialized = source.to_dict()
     # Setup client controller prerequisites
     self.p = MagicMock()
     self.p.name = "process"
     self.comms = MagicMock()
     params = ClientController.MethodMeta.prepare_input_map(mri="blockname")
     self.cc = ClientController(self.p, {}, params)
     self.b = self.cc.block
     # get process to give us comms
     self.p.get_client_comms.return_value = self.comms
     # tell our controller which blocks the process can talk to
     response = MagicMock(id=self.cc.REMOTE_BLOCKS_ID, value=["blockname"])
     self.cc.put(response)
     # tell our controller the serialized state of the block
     response = MagicMock(id=self.cc.BLOCK_ID, changes=[[[], self.serialized]])
     self.cc.put(response)
Esempio n. 2
0
 def setUp(self):
     p = MagicMock()
     # Serialized version of the block we want
     source = Hello(p, dict(mri="blockname"))[0]
     self.serialized = source.to_dict()
     # Setup client controller prerequisites
     self.p = MagicMock()
     self.p.name = "process"
     self.comms = MagicMock()
     params = ClientController.MethodMeta.prepare_input_map(mri="blockname")
     self.cc = ClientController(self.p, {}, params)
     self.b = self.cc.block
     # get process to give us comms
     self.p.get_client_comms.return_value = self.comms
     # tell our controller which blocks the process can talk to
     response = MagicMock(id=self.cc.REMOTE_BLOCKS_ID, value=["blockname"])
     self.cc.put(response)
     # tell our controller the serialized state of the block
     response = MagicMock(id=self.cc.BLOCK_ID,
                          changes=[[[], self.serialized]])
     self.cc.put(response)
Esempio n. 3
0
class TestBlockModel(unittest.TestCase):
    def setUp(self):
        self.process = MagicMock()
        self.block = Hello(self.process, dict(mri="hello"))[0]
        self.m = BlockModel(self.process, self.block)

    def test_init(self):
        self.assertEqual(self.process.q.put.call_count, 1)
        req = self.process.q.put.call_args_list[0][0][0]
        self.assertEqual(req.endpoint, ['hello'])
        self.assertEqual(self.m.root_item.endpoint, ('hello',))
        self.assertEqual(len(self.m.root_item.children), 0)

    def test_find_item(self):
        m1, m2 = MagicMock(), MagicMock()
        BlockItem.items[("foo", "bar")] = m1
        BlockItem.items[("foo",)] = m2
        item, path = self.m.find_item(('foo', 'bar', 'bat'))
        self.assertEqual(item, m1)
        self.assertEqual(path, ['bat'])

    def test_update_root(self):
        d = self.block.to_dict()
        self.m.handle_changes([[[], d]])
        b_item = self.m.root_item
        self.assertEqual(len(b_item.children), 6)
        m_item = b_item.children[5]
        self.assertEqual(m_item.endpoint, ('hello', 'greet'))
        self.assertEqual(len(m_item.children), 2)
        n_item = m_item.children[0]
        self.assertEqual(n_item.endpoint,
                         ('hello', 'greet', 'takes', 'elements', 'name'))
        self.assertEqual(n_item.children, [])
        n_item = m_item.children[1]
        self.assertEqual(n_item.endpoint,
                         ('hello', 'greet', 'takes', 'elements', 'sleep'))
        self.assertEqual(n_item.children, [])