def test__get_status_icon_path(self):
     model = InstanceTableModel()
     green = ':/icons/led_green.svg'
     yellow = ':/icons/led_yellow.svg'
     red = ':/icons/led_red.svg'
     self.assertEqual(model._get_status_icon_path(NodeState.RUNNING), green)
     self.assertEqual(model._get_status_icon_path(NodeState.REBOOTING), yellow)
     self.assertEqual(model._get_status_icon_path(NodeState.UNKNOWN), yellow)
     self.assertEqual(model._get_status_icon_path(NodeState.PENDING), yellow)
     self.assertEqual(model._get_status_icon_path(NodeState.STOPPED), red)
     self.assertEqual(model._get_status_icon_path(NodeState.TERMINATED), red)
Exemplo n.º 2
0
 def setUp(self):
     super(TestInstanceModel, self).setUp()
     self.model = InstanceTableModel()
Exemplo n.º 3
0
class TestInstanceModel(BaseTest):
    def setUp(self):
        super(TestInstanceModel, self).setUp()
        self.model = InstanceTableModel()

    def test__get_status_icon_path(self):
        green = ':/icons/led_green.svg'
        yellow = ':/icons/led_yellow.svg'
        red = ':/icons/led_red.svg'
        self.assertEqual(self.model._get_status_icon_path(NodeState.RUNNING), green)
        self.assertEqual(self.model._get_status_icon_path(NodeState.REBOOTING), yellow)
        self.assertEqual(self.model._get_status_icon_path(NodeState.UNKNOWN), yellow)
        self.assertEqual(self.model._get_status_icon_path(NodeState.PENDING), yellow)
        self.assertEqual(self.model._get_status_icon_path(NodeState.STOPPED), red)
        self.assertEqual(self.model._get_status_icon_path(NodeState.TERMINATED), red)

    def test_add_instance(self):
        node = list(gen_fake_nodes(1))[0]
        node.name = 'Foo'
        node.size = NodeSize('', '', 2048, 0, 0, 0.0, '')
        node.status = NodeState.RUNNING

        self.model.addInstance(node)

        index = self.model.createIndex(0, 0)
        self.assertEqual(self.model.data(index, Qt.DisplayRole), 'Foo')
        index = self.model.createIndex(0, 1)
        self.assertIsInstance(self.model.data(index, Qt.DecorationRole), QIcon)
        index = self.model.createIndex(0, 2)
        self.assertEqual(self.model.data(index, Qt.DisplayRole), 2048)
        index = self.model.createIndex(0, 3)
        self.assertEqual(self.model.data(index, Qt.DisplayRole), 0)
        index = self.model.createIndex(0, 4)
        self.assertIsNone(self.model.data(index, Qt.DisplayRole))

    def test_get_instance(self):
        node1, node2 = gen_fake_nodes(2)
        self.model.addInstance(node1)
        self.model.addInstance(node2)
        self.assertEqual(self.model.getInstance(0), node1)
        self.assertEqual(self.model.getInstance(1), node2)
        self.assertIsNone(self.model.getInstance(2))

    def test_header_data(self):
        self.assertEqual(self.model.headerData(0, Qt.Vertical, Qt.DisplayRole), 1)
        self.assertEqual(self.model.headerData(0, Qt.Horizontal, Qt.DisplayRole), 'Instance')
        self.assertEqual(self.model.headerData(1, Qt.Horizontal, Qt.DisplayRole), '')
        self.assertEqual(self.model.headerData(2, Qt.Horizontal, Qt.DisplayRole), 'Size')
        self.assertEqual(self.model.headerData(3, Qt.Horizontal, Qt.DisplayRole), 'Devices')
        self.assertIsNone(self.model.headerData(4, Qt.Horizontal, Qt.DisplayRole))

    def test_update_instance_status(self):
        node1, node2 = gen_fake_nodes(2)
        self.model.addInstance(node1)
        self.model.addInstance(node2)

        node = self.model.getInstance(0)
        node.state = NodeState.STOPPED
        self.model.update_instance_status(node)
        node = self.model.getInstance(0)
        self.assertEqual(node.state, NodeState.STOPPED)

        node = self.model.getInstance(1)
        self.model.update_instance_status(node)  # instance didn't change
        node = self.model.getInstance(1)
        self.assertEqual(node.state, NodeState.RUNNING)

    def test_update(self):
        pass