Skip to content

Commit

Permalink
Add unittests
Browse files Browse the repository at this point in the history
- coverage now at 99%
- Add make coverage_report to see coverage
  • Loading branch information
phil-dileo committed Oct 21, 2015
1 parent 133f8af commit 6088eff
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 3 deletions.
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ VERSION := $(shell cat VERSION)

########################################################

all: clean check pep8 pyflakes tests
all: clean check pep8 pyflakes tests

pep8:
-pep8 -r --ignore=E501,E221,W291,W391,E302,E251,E203,W293,E231,E303,E201,E225,E261,E241 pyeapi/ test/
Expand Down Expand Up @@ -62,3 +62,5 @@ unittest: clean
systest: clean
$(COVERAGE) run -m unittest discover test/system -v

coverage_report:
$(COVERAGE) report -m
5 changes: 3 additions & 2 deletions pyeapi/api/varp.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
Example:
{
"mac_address": "aaaa.bbbb.cccc",
"mac_address": "aa:bb:cc:dd:ee:ff",
"interfaces": {
"Vlan100": {
"addresses": [ "1.1.1.1", "2.2.2.2"]
Expand Down Expand Up @@ -104,7 +104,8 @@ def get(self):
return resource

def _parse_mac_address(self):
mac_address_re = re.compile(r'^ip\svirtual-router\smac-address\s((?:[a-f0-9]{2}:){5}[a-f0-9]{2})$', re.M)
mac_address_re = re.compile(r'^ip\svirtual-router\smac-address\s'
r'((?:[a-f0-9]{2}:){5}[a-f0-9]{2})$', re.M)
mac = mac_address_re.search(self.config)
mac = mac.group(1) if mac else None
return dict(mac_address=mac)
Expand Down
27 changes: 27 additions & 0 deletions test/unit/test_api_varp.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,16 @@ def test_get(self):
self.assertIsNotNone(self.instance.get()['mac_address'])
self.assertIsNotNone(self.instance.get()['interfaces'])

def test_get_interfaces_none(self):
self._interfaces = None
result = self.instance.interfaces()
self.assertIsNotNone(result)

def test_get_interfaces_already_defined(self):
self.instance.interfaces()
result = self.instance.interfaces()
self.assertIsNotNone(result)

def test_set_mac_address_with_value(self):
value = 'aa:bb:cc:dd:ee:ff'
func = function('set_mac_address', mac_address=value)
Expand All @@ -75,6 +85,10 @@ def test_set_mac_address_with_no_value(self):
cmds = 'no ip virtual-router mac-address'
self.eapi_positive_config_test(func, cmds)

def test_set_mac_address_with_bad_value(self):
with self.assertRaises(ValueError):
self.instance.set_mac_address(mac_address='0011.2233.4455')

def test_set_mac_address_with_default(self):
func = function('set_mac_address', default=True)
cmds = 'default ip virtual-router mac-address'
Expand All @@ -87,12 +101,25 @@ def __init__(self, *args, **kwargs):
self.instance = pyeapi.api.varp.VarpInterfaces(None)
self.config = open(get_fixture('running_config.varp')).read()

def test_get_with_no_interface(self):
self.config = ""
self.setUp()
result = self.instance.get('Vlan1000')
self.assertIsNone(result)

def test_add_address_with_value(self):
func = function('set_addresses', 'Vlan4001', addresses=['1.1.1.4'])
cmds = ['interface Vlan4001', 'no ip virtual-router address 1.1.1.2',
'ip virtual-router address 1.1.1.4']
self.eapi_positive_config_test(func, cmds)

def test_add_address_when_interface_does_not_exist(self):
self.config = ""
self.setUp()
func = function('set_addresses', 'Vlan10', addresses=['1.1.1.4'])
cmds = ['interface Vlan10', 'ip virtual-router address 1.1.1.4']
self.eapi_positive_config_test(func, cmds)

def test_add_address_with_no_value(self):
func = function('set_addresses', 'Vlan4002')
cmds = ['interface Vlan4002', 'no ip virtual-router address']
Expand Down

0 comments on commit 6088eff

Please sign in to comment.