Skip to content

Commit

Permalink
Testing VersionsChecker.parse_versions
Browse files Browse the repository at this point in the history
  • Loading branch information
Fantomas42 committed Sep 2, 2013
1 parent ba977d8 commit 9f69b92
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 8 deletions.
2 changes: 1 addition & 1 deletion bvc/__init__.py
Expand Up @@ -88,7 +88,7 @@ def parse_versions(self, source):
versions = config.items('versions')
except NoSectionError:
logger.debug("'versions' section not found in %s." % source)
return {}
return []
logger.info('- %d versions found in %s.' % (len(versions), source))
return versions

Expand Down
38 changes: 31 additions & 7 deletions bvc/tests.py
@@ -1,5 +1,4 @@
"""Tests for Buildout version checker"""
from tempfile import TemporaryFile
from tempfile import NamedTemporaryFile

from unittest import TestCase
Expand All @@ -9,18 +8,43 @@
from bvc import VersionsChecker
from bvc import VersionsConfigParser

VersionsChecker
VersionsConfigParser

class LazyVersionsChecker(VersionsChecker):
"""
VersionsChecker who does nothing at the initialisation
excepting recording the arguments.
"""
def __init__(self, **kw):
for key, value in kw.items():
setattr(self, key, value)


class VersionsCheckerTestCase(TestCase):
pass

def test_parse_versions(self):
config_file = NamedTemporaryFile()
config_file.write('[sections]\nKey=Value\n')
config_file.seek(0)
checker = LazyVersionsChecker()
self.assertEquals(checker.parse_versions(config_file.name),
[])
config_file.seek(0)
config_file.write('[VERSIONS]\negg=0.1\nEgg = 0.2')
config_file.seek(0)
self.assertEquals(checker.parse_versions(config_file.name),
[])
config_file.seek(0)
config_file.write('[versions]\negg=0.1\nEgg = 0.2')
config_file.seek(0)
self.assertEquals(checker.parse_versions(config_file.name),
[('egg', '0.1'), ('Egg', '0.2')])
config_file.close()


class VersionsConfigParserTestCase(TestCase):

def test_parse_case_insensitive(self):
config_file = TemporaryFile()
config_file = NamedTemporaryFile()
config_file.write('[Section]\nKEY=VALUE\nKey=Value\n')
config_file.seek(0)
config_parser = VersionsConfigParser()
Expand All @@ -30,7 +54,7 @@ def test_parse_case_insensitive(self):
config_file.close()

def test_write_section(self):
config_file = TemporaryFile()
config_file = NamedTemporaryFile()
config_parser = VersionsConfigParser()
config_parser.add_section('Section')
config_parser.set('Section', 'Option', 'Value')
Expand All @@ -48,7 +72,7 @@ def test_write_section(self):
config_file.close()

def test_write_section_custom_indentation(self):
config_file = TemporaryFile()
config_file = NamedTemporaryFile()
config_parser = VersionsConfigParser()
config_parser.indentation = 12
config_parser.add_section('Section')
Expand Down

0 comments on commit 9f69b92

Please sign in to comment.