Beispiel #1
0
 def setUp(self):
     c = NodeConsole()
     c.verbose = c.config = c.url = None
     self.vtc = TypeConsole()
     self.vtc.config = self.vtc.url = self.vtc.verbose = None
     self.c = c
Beispiel #2
0
class TestConsoleNode(IetTest):
    """
    Tests the NodeConsole class.
    """
    def setUp(self):
        c = NodeConsole()
        c.verbose = c.config = c.url = None
        self.vtc = TypeConsole()
        self.vtc.config = self.vtc.url = self.vtc.verbose = None
        self.c = c

    def tearDown(self):
        pass

    def _create_node(self, node_name, volume_name):
        self.vtc.create({
            'name': volume_name,
            'url': None,
            'min_size': None,
            'read_iops': None,
            'config': None,
            'write_iops': None,
            'max_size': None,
            'verbose': None
        })
        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.create({
                'volume_type_name': volume_name,
                'verbose': None,
                'url': None,
                'hostname': 'localhost',
                'storage_hostname': 'localhost',
                'size': '1',
                'config': None,
                'port': '1234',
                'name': node_name
            })

        self.failIf(stderr.getvalue())
        return _parse_long(stdout.getvalue())

    def test_node_create(self):
        volume_name = _generate_name('node_create_volume')
        node_name = _generate_name('node_create_node')

        node_info = self._create_node(node_name, volume_name)
        self.failUnlessEqual(node_info['name'], node_name)

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_list(self):
        volume_name = _generate_name('node_list_volume')
        node_name = _generate_name('node_list_node')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.list()

        self.failIf(stderr.getvalue())

        data = _parse_table(stdout.getvalue())

        for row in data:
            if (row['name'] == node_name
                    and row['volume_type_name'] == volume_name):
                break
        else:
            self.fail('Did not find created node in node list')

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_get(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        node_info2 = _parse_long(stdout.getvalue())
        self.failUnlessEqual(node_info2['id'], node_info['id'])
        self.failUnlessEqual(node_info2['name'], node_info['name'])

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_update(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')
        node_name2 = _generate_name('node_get_node2')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        self.c.update(node_info['id'], {'name': node_name2})

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        data = _parse_long(stdout.getvalue())

        self.failUnlessEqual(data['name'], node_name2)

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_delete(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')
        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        self.c.delete(node_info['id'])

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())
        data = _parse_long(stdout.getvalue())
        self.failUnlessEqual(data['status'], 'DELETED')

        self.vtc.delete(volume_name)
Beispiel #3
0
class TestConsoleNode(IetTest):
    """
    Tests the NodeConsole class.
    """

    def setUp(self):
        c = NodeConsole()
        c.verbose = c.config = c.url = None
        self.vtc = TypeConsole()
        self.vtc.config = self.vtc.url = self.vtc.verbose = None
        self.c = c

    def tearDown(self):
        pass

    def _create_node(self, node_name, volume_name):
        self.vtc.create(
            {
                "name": volume_name,
                "url": None,
                "min_size": None,
                "read_iops": None,
                "config": None,
                "write_iops": None,
                "max_size": None,
                "verbose": None,
            }
        )
        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.create(
                {
                    "volume_type_name": volume_name,
                    "verbose": None,
                    "url": None,
                    "hostname": "localhost",
                    "storage_hostname": "localhost",
                    "size": "1",
                    "config": None,
                    "port": "1234",
                    "name": node_name,
                }
            )

        self.failIf(stderr.getvalue())
        return _parse_long(stdout.getvalue())

    def test_node_create(self):
        volume_name = _generate_name("node_create_volume")
        node_name = _generate_name("node_create_node")

        node_info = self._create_node(node_name, volume_name)
        self.failUnlessEqual(node_info["name"], node_name)

        self.c.delete(node_info["id"])
        self.vtc.delete(volume_name)

    def test_node_list(self):
        volume_name = _generate_name("node_list_volume")
        node_name = _generate_name("node_list_node")

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.list()

        self.failIf(stderr.getvalue())

        data = _parse_table(stdout.getvalue())

        for row in data:
            if row["name"] == node_name and row["volume_type_name"] == volume_name:
                break
        else:
            self.fail("Did not find created node in node list")

        self.c.delete(node_info["id"])
        self.vtc.delete(volume_name)

    def test_node_get(self):
        volume_name = _generate_name("node_get_volume")
        node_name = _generate_name("node_get_node")

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.get(id=node_info["id"])
        self.failIf(stderr.getvalue())

        node_info2 = _parse_long(stdout.getvalue())
        self.failUnlessEqual(node_info2["id"], node_info["id"])
        self.failUnlessEqual(node_info2["name"], node_info["name"])

        self.c.delete(node_info["id"])
        self.vtc.delete(volume_name)

    def test_node_update(self):
        volume_name = _generate_name("node_get_volume")
        node_name = _generate_name("node_get_node")
        node_name2 = _generate_name("node_get_node2")

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.get(id=node_info["id"])
        self.failIf(stderr.getvalue())

        self.c.update(node_info["id"], {"name": node_name2})

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.get(id=node_info["id"])
        self.failIf(stderr.getvalue())

        data = _parse_long(stdout.getvalue())

        self.failUnlessEqual(data["name"], node_name2)

        self.c.delete(node_info["id"])
        self.vtc.delete(volume_name)

    def test_node_delete(self):
        volume_name = _generate_name("node_get_volume")
        node_name = _generate_name("node_get_node")
        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.get(id=node_info["id"])
        self.failIf(stderr.getvalue())

        self.c.delete(node_info["id"])

        with captured(stdout=StringIO(), stderr=StringIO()) as (stdin, stdout, stderr):
            self.c.get(id=node_info["id"])
        self.failIf(stderr.getvalue())
        data = _parse_long(stdout.getvalue())
        self.failUnlessEqual(data["status"], "DELETED")

        self.vtc.delete(volume_name)
Beispiel #4
0
 def setUp(self):
     c = NodeConsole()
     c.verbose = c.config = c.url = None
     self.vtc = TypeConsole()
     self.vtc.config = self.vtc.url = self.vtc.verbose = None
     self.c = c
Beispiel #5
0
class TestConsoleNode(IetTest):
    """
    Tests the NodeConsole class.
    """
    def setUp(self):
        c = NodeConsole()
        c.verbose = c.config = c.url = None
        self.vtc = TypeConsole()
        self.vtc.config = self.vtc.url = self.vtc.verbose = None
        self.c = c

    def tearDown(self):
        pass

    def _create_node(self, node_name, volume_name):
        self.vtc.create({'name': volume_name, 'url': None, 'min_size': None,
                         'read_iops': None, 'config': None, 'write_iops': None,
                         'max_size': None, 'verbose': None})
        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.create({
                'volume_type_name': volume_name, 'verbose': None, 'url': None,
                'hostname': 'localhost', 'storage_hostname': 'localhost',
                'size': '1', 'config': None, 'port': '1234',
                'name': node_name})

        self.failIf(stderr.getvalue())
        return _parse_long(stdout.getvalue())

    def test_node_create(self):
        volume_name = _generate_name('node_create_volume')
        node_name = _generate_name('node_create_node')

        node_info = self._create_node(node_name, volume_name)
        self.failUnlessEqual(node_info['name'], node_name)

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_list(self):
        volume_name = _generate_name('node_list_volume')
        node_name = _generate_name('node_list_node')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.list()

        self.failIf(stderr.getvalue())

        data = _parse_table(stdout.getvalue())

        for row in data:
            if (row['name'] == node_name and
                    row['volume_type_name'] == volume_name):
                break
        else:
            self.fail('Did not find created node in node list')

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_get(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        node_info2 = _parse_long(stdout.getvalue())
        self.failUnlessEqual(node_info2['id'], node_info['id'])
        self.failUnlessEqual(node_info2['name'], node_info['name'])

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_update(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')
        node_name2 = _generate_name('node_get_node2')

        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        self.c.update(node_info['id'], {'name': node_name2})

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        data = _parse_long(stdout.getvalue())

        self.failUnlessEqual(data['name'], node_name2)

        self.c.delete(node_info['id'])
        self.vtc.delete(volume_name)

    def test_node_delete(self):
        volume_name = _generate_name('node_get_volume')
        node_name = _generate_name('node_get_node')
        node_info = self._create_node(node_name, volume_name)

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())

        self.c.delete(node_info['id'])

        with captured(stdout=StringIO(), stderr=StringIO()) as \
                (stdin, stdout, stderr):
            self.c.get(id=node_info['id'])
        self.failIf(stderr.getvalue())
        data = _parse_long(stdout.getvalue())
        self.failUnlessEqual(data['status'], 'DELETED')

        self.vtc.delete(volume_name)