Browse Source

Replace service tests with config tests

We validate the config against our schema before a service is created
so checking whether a service name is valid at time of instantiation of
the Service class is not needed.

Signed-off-by: Mazz Mosley <[email protected]>
Mazz Mosley 10 years ago
parent
commit
76e6029f21
2 changed files with 21 additions and 19 deletions
  1. 21 0
      tests/unit/config_test.py
  2. 0 19
      tests/unit/service_test.py

+ 21 - 0
tests/unit/config_test.py

@@ -59,6 +59,27 @@ class ConfigTest(unittest.TestCase):
         )
         make_service_dict('foo', {'ports': ['8000']}, 'tests/')
 
+    def test_config_invalid_service_names(self):
+        with self.assertRaises(config.ConfigurationError):
+            for invalid_name in ['?not?allowed', ' ', '', '!', '/', '\xe2']:
+                config.load(
+                    config.ConfigDetails(
+                        {invalid_name: {'image': 'busybox'}},
+                        'working_dir',
+                        'filename.yml'
+                    )
+                )
+
+    def test_config_valid_service_names(self):
+        for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']:
+            config.load(
+                config.ConfigDetails(
+                    {valid_name: {'image': 'busybox'}},
+                    'tests/fixtures/extends',
+                    'common.yml'
+                )
+            )
+
 
 class InterpolationTest(unittest.TestCase):
     @mock.patch.dict(os.environ)

+ 0 - 19
tests/unit/service_test.py

@@ -29,25 +29,6 @@ class ServiceTest(unittest.TestCase):
     def setUp(self):
         self.mock_client = mock.create_autospec(docker.Client)
 
-    def test_name_validations(self):
-        self.assertRaises(ConfigError, lambda: Service(name='', image='foo'))
-
-        self.assertRaises(ConfigError, lambda: Service(name=' ', image='foo'))
-        self.assertRaises(ConfigError, lambda: Service(name='/', image='foo'))
-        self.assertRaises(ConfigError, lambda: Service(name='!', image='foo'))
-        self.assertRaises(ConfigError, lambda: Service(name='\xe2', image='foo'))
-
-        Service('a', image='foo')
-        Service('foo', image='foo')
-        Service('foo-bar', image='foo')
-        Service('foo.bar', image='foo')
-        Service('foo_bar', image='foo')
-        Service('_', image='foo')
-        Service('___', image='foo')
-        Service('-', image='foo')
-        Service('--', image='foo')
-        Service('.__.', image='foo')
-
     def test_project_validation(self):
         self.assertRaises(ConfigError, lambda: Service(name='foo', project='>', image='foo'))