コード例 #1
0
#!/usr/bin/env python3

from pyhpecw7.comware import HPCOM7
from pyhpecw7.features.vlan import Vlan
'''

*** args removed for privacy ***

'''

device = HPCOM7(**args)

device.open()

if not device.connected:
    print("Unable to connect to target switch, exiting ... ")
    quit(1)

# print list of vlans
vlan = Vlan(device, '')
vlans = vlan.get_vlan_list()
print(vlans)

# print config of vlan 100
vlan = Vlan(device, '100')
print(vlan.get_config())
コード例 #2
0
class VlanTestCase(BaseFeatureCase):

    @mock.patch('pyhpecw7.comware.HPCOM7')
    def setUp(self, mock_device):
        self.device = mock_device
        self.vlan = Vlan(self.device, vlanid='77')

    def test_get_vlan_list(self):
        expected_get, get_reply = self.xml_get_and_reply('vlan_list')
        self.device.get.return_value = get_reply

        expected = ['1', '20', '77']

        vlan_list = self.vlan.get_vlan_list()

        self.assertEqual(vlan_list, expected)
        self.assert_get_request(expected_get)

    def test_get_config(self):
        expected_get, get_reply = self.xml_get_and_reply('vlan')
        self.device.get.return_value = get_reply

        expected = {'name': 'hello', 'vlanid': '77', 'descr': 'goodbye'}

        vlan = self.vlan.get_config()

        self.assertEqual(vlan, expected)
        self.assert_get_request(expected_get)

    def test_build_config(self):
        result = self.vlan._build_config(state='present')
        expected = self.read_config_xml('vlan')
        self.assert_elements_equal(result, expected)

        result = self.vlan._build_config(state='present', name='hello')
        expected = self.read_config_xml('vlan_name')
        self.assert_elements_equal(result, expected)

        result = self.vlan._build_config('present', name='hello', descr='goodbye')
        expected = self.read_config_xml('vlan_name_descr')
        self.assert_elements_equal(result, expected)

        result = self.vlan._build_config('absent')
        expected = self.read_config_xml('vlan_absent')
        self.assert_elements_equal(result, expected)

    def test_param_check(self):
        with self.assertRaises(LengthOfStringError):
            self.vlan.param_check(name=('a' * 255))

        with self.assertRaises(LengthOfStringError):
            self.vlan.param_check(descr=('b' * 255))

    @mock.patch.object(Vlan, '_build_config')
    def test_build(self, mock_build_config):
        self.vlan.build(name='a', descr='b')
        mock_build_config.assert_called_with(state='present', name='a', descr='b')
        self.device.edit_config.assert_called_with(mock_build_config.return_value)

        self.vlan.build(stage=False, name='a', descr='b')
        mock_build_config.assert_called_with(state='present', name='a', descr='b')
        self.device.edit_config.assert_called_with(mock_build_config.return_value)

        self.vlan.build(stage=True, name='a', descr='b')
        mock_build_config.assert_called_with(state='present', name='a', descr='b')
        self.device.stage_config.assert_called_with(mock_build_config.return_value, 'edit_config')

    @mock.patch.object(Vlan, '_build_config')
    def test_remove(self, mock_build_config):
        self.vlan.remove()
        mock_build_config.assert_called_with(state='absent')
        self.device.edit_config.assert_called_with(mock_build_config.return_value)

        self.vlan.remove(stage=False)
        mock_build_config.assert_called_with(state='absent')
        self.device.edit_config.assert_called_with(mock_build_config.return_value)

        self.vlan.remove(stage=True)
        mock_build_config.assert_called_with(state='absent')
        self.device.stage_config.assert_called_with(mock_build_config.return_value, 'edit_config')
コード例 #3
0
from pyhpecw7.comware import HPCOM7
from pyhpecw7.features.vlan import Vlan
from pyhpecw7.features.interface import Interface
from getpass import getpass

ip = raw_input("Enter IP address")
device = HPCOM7(host=ip, username='******', password=getpass())
print device.open()

vlan = Vlan(device, '1')
print vlan.get_config()
print vlan.get_vlan_list()

interface = Interface(device, 'FortyGigE1/0/50')
print interface.get_config()

#vlan = Vlan(device, '20')   # Add a new vlan
#vlan.build()                # Stage the Vlan
#device.execute()              # Execute the chagne
#vlan.build(name='NEWV20', descr='DESCR_20')
#device.execute()              # Execute the chagne
#vlan.remove()
#device.execute()

#interface.default()
#response = device.execute()
#interface.build(admin='down', description='TEST_DESCR')
#rsp = device.execute()

# cleanerase - Factory default
# config - manage comware configs