Пример #1
0
class TestAttributeItem(unittest.TestCase):

    def setUp(self):
        ref = MagicMock()
        AttributeItem.items.clear()
        self.item = AttributeItem(("endpoint",), ref)

    def test_get_value(self):
        self.assertEqual(self.item.get_value(), str(self.item.ref.value))

    def test_get_writeable(self):
        self.assertEqual(self.item.get_writeable(), self.item.ref.meta.writeable)

    def test_set_value(self):
        value = MagicMock()
        request = self.item.set_value(value)
        self.assertEqual(AttributeItem.RUNNING, self.item.get_state())
        self.assertEqual(
            list(self.item.endpoint + ("value",)), request.endpoint)
        self.assertEqual(value.__str__.return_value, request.value)
        self.assertIsNone(request.response_queue)

    def test_handle_response_error(self):
        response = Error(None, None, "bad")
        self.item.handle_response(response)
        self.assertEqual(self.item.get_state(), self.item.ERROR)

    def test_handle_response_return(self):
        response = Return(None, None, "yay")
        self.item.handle_response(response)
        self.assertEqual(self.item.get_state(), self.item.IDLE)

    def test_handle_response_unknown(self):
        response = Delta(None, None, [])
        self.assertRaises(TypeError, self.item.handle_response, response)
class TestAttributeItem(unittest.TestCase):
    def setUp(self):
        ref = MagicMock()
        AttributeItem.items.clear()
        self.item = AttributeItem(("endpoint", ), ref)

    def test_get_value(self):
        self.assertEqual(self.item.get_value(), str(self.item.ref.value))

    def test_get_writeable(self):
        self.assertEqual(self.item.get_writeable(),
                         self.item.ref.meta.writeable)

    def test_set_value(self):
        value = MagicMock()
        request = self.item.set_value(value)
        self.assertEqual(AttributeItem.RUNNING, self.item.get_state())
        self.assertEqual(list(self.item.endpoint + ("value", )),
                         request.endpoint)
        self.assertEqual(value.__str__.return_value, request.value)
        self.assertIsNone(request.response_queue)

    def test_handle_response_error(self):
        response = Error(None, None, "bad")
        self.item.handle_response(response)
        self.assertEqual(self.item.get_state(), self.item.ERROR)

    def test_handle_response_return(self):
        response = Return(None, None, "yay")
        self.item.handle_response(response)
        self.assertEqual(self.item.get_state(), self.item.IDLE)

    def test_handle_response_unknown(self):
        response = Delta(None, None, [])
        self.assertRaises(TypeError, self.item.handle_response, response)
Пример #3
0
 def create_children(self):
     for name in self.ref:
         child = self.ref[name]
         if isinstance(child, Attribute):
             attr = child
             item = AttributeItem(self.endpoint + (name, ), attr)
             group_name = self._get_group_name(attr)
             if group_name is None:
                 parent_item = self
             else:
                 parent_endpoint = self.endpoint + (group_name, )
                 parent_item = self.items[parent_endpoint]
             parent_item.add_child(item)
             item.create_children()
         elif isinstance(child, MethodMeta):
             method = child
             item = MethodItem(self.endpoint + (name, ), method)
             self.add_child(item)
             item.create_children()
Пример #4
0
 def create_children(self):
     for name in self.ref:
         child = self.ref[name]
         if isinstance(child, Attribute):
             attr = child
             item = AttributeItem(self.endpoint + (name,), attr)
             group_name = self._get_group_name(attr)
             if group_name is None:
                 parent_item = self
             else:
                 parent_endpoint = self.endpoint + (group_name,)
                 parent_item = self.items[parent_endpoint]
             parent_item.add_child(item)
             item.create_children()
         elif isinstance(child, MethodMeta):
             method = child
             item = MethodItem(self.endpoint + (name,), method)
             self.add_child(item)
             item.create_children()
Пример #5
0
 def setUp(self):
     ref = MagicMock()
     AttributeItem.items.clear()
     self.item = AttributeItem(("endpoint",), ref)
Пример #6
0
 def setUp(self):
     ref = MagicMock()
     AttributeItem.items.clear()
     self.item = AttributeItem(("endpoint", ), ref)
Пример #7
0
class TestAttributeItem(unittest.TestCase):
    def setUp(self):
        ref = MagicMock()
        AttributeItem.items.clear()
        self.item = AttributeItem(("endpoint", ), ref)

    def test_get_value(self):
        assert self.item.get_value() == str(self.item.ref.value)

    def test_get_writeable(self):
        assert self.item.get_writeable() == self.item.ref.meta.writeable

    def test_set_value(self):
        value = MagicMock()
        request = self.item.set_value(value)
        assert AttributeItem.RUNNING == self.item.get_state()
        assert (list(self.item.endpoint + ("value", ))) == request.path
        assert value.__str__.return_value == request.value

    def test_handle_response_error(self):
        response = Error(message="bad")
        self.item.handle_response(response)
        assert self.item.get_state() == self.item.ERROR

    def test_handle_response_return(self):
        response = Return(value="yay")
        self.item.handle_response(response)
        assert self.item.get_state() == self.item.IDLE

    def test_handle_response_unknown(self):
        response = Delta(changes=[])
        with self.assertRaises(TypeError):
            self.item.handle_response(response)