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)
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()
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()
def setUp(self): ref = MagicMock() AttributeItem.items.clear() self.item = AttributeItem(("endpoint",), ref)
def setUp(self): ref = MagicMock() AttributeItem.items.clear() self.item = AttributeItem(("endpoint", ), ref)
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)