Support setting project name from the environment.

Signed-off-by: Daniel Nephin <dnephin@yelp.com>
This commit is contained in:
Daniel Nephin 2014-09-23 09:28:08 -07:00 committed by Daniel Nephin
parent 92ae5af019
commit fac49b62b6
2 changed files with 9 additions and 0 deletions

View File

@ -81,6 +81,7 @@ class Command(DocoptCommand):
def normalize_name(name):
return re.sub(r'[^a-zA-Z0-9]', '', name)
project_name = project_name or os.environ.get('FIG_PROJECT_NAME')
if project_name is not None:
return normalize_name(project_name)

View File

@ -35,6 +35,14 @@ class CLITestCase(unittest.TestCase):
project_name = command.get_project_name(None, project_name=name)
self.assertEquals('explicitprojectname', project_name)
def test_project_name_from_environment(self):
command = TopLevelCommand()
name = 'namefromenv'
with mock.patch.dict(os.environ):
os.environ['FIG_PROJECT_NAME'] = name
project_name = command.get_project_name(None)
self.assertEquals(project_name, name)
def test_yaml_filename_check(self):
command = TopLevelCommand()
command.base_dir = 'tests/fixtures/longer-filename-figfile'