瀏覽代碼

Very basic CLI smoke test

See #8.
Aanand Prasad 11 年之前
父節點
當前提交
892677a9d3
共有 3 個文件被更改,包括 19 次插入2 次删除
  1. 5 2
      fig/cli/command.py
  2. 12 0
      tests/cli_test.py
  3. 2 0
      tests/fixtures/simple-figfile/fig.yml

+ 5 - 2
fig/cli/command.py

@@ -15,6 +15,8 @@ from .utils import cached_property, docker_url
 log = logging.getLogger(__name__)
 
 class Command(DocoptCommand):
+    base_dir = '.'
+
     @cached_property
     def client(self):
         return Client(docker_url())
@@ -22,10 +24,11 @@ class Command(DocoptCommand):
     @cached_property
     def project(self):
         try:
-            config = yaml.load(open('fig.yml'))
+            yaml_path = os.path.join(self.base_dir, 'fig.yml')
+            config = yaml.load(open(yaml_path))
         except IOError as e:
             if e.errno == errno.ENOENT:
-                log.error("Can't find %s. Are you in the right directory?", e.filename)
+                log.error("Can't find %s. Are you in the right directory?", os.path.basename(e.filename))
             else:
                 log.error(e)
 

+ 12 - 0
tests/cli_test.py

@@ -0,0 +1,12 @@
+from __future__ import unicode_literals
+from __future__ import absolute_import
+from . import unittest
+from fig.cli.main import TopLevelCommand
+
+class CLITestCase(unittest.TestCase):
+    def setUp(self):
+        self.command = TopLevelCommand()
+        self.command.base_dir = 'tests/fixtures/simple-figfile'
+
+    def test_help(self):
+        self.assertRaises(SystemExit, lambda: self.command.dispatch(['-h'], None))

+ 2 - 0
tests/fixtures/simple-figfile/fig.yml

@@ -0,0 +1,2 @@
+simple:
+  image: ubuntu