Fixes stale undercloud delorean repos
[apex.git] / apex / tests / test_apex_undercloud.py
index 9458bf9..0df785f 100644 (file)
@@ -121,7 +121,8 @@ class TestUndercloud(unittest.TestCase):
                        mock_generate_config, mock_utils):
         uc = Undercloud('img_path', 'tplt_path', external_network=True)
         ns = MagicMock()
-        uc.configure(ns, 'playbook', '/tmp/dir')
+        ds = MagicMock()
+        uc.configure(ns, ds, 'playbook', '/tmp/dir')
 
     @patch('apex.undercloud.undercloud.utils')
     @patch.object(Undercloud, 'generate_config', return_value={})
@@ -131,10 +132,11 @@ class TestUndercloud(unittest.TestCase):
                               mock_generate_config, mock_utils):
         uc = Undercloud('img_path', 'tplt_path', external_network=True)
         ns = MagicMock()
+        ds = MagicMock()
         subps_err = subprocess.CalledProcessError(1, 'cmd')
         mock_utils.run_ansible.side_effect = subps_err
         assert_raises(ApexUndercloudException,
-                      uc.configure, ns, 'playbook', '/tmp/dir')
+                      uc.configure, ns, ds, 'playbook', '/tmp/dir')
 
     @patch('apex.undercloud.undercloud.os.remove')
     @patch('apex.undercloud.undercloud.os.path')
@@ -192,5 +194,21 @@ class TestUndercloud(unittest.TestCase):
               'dns-domain': 'dns',
               'networks': {'admin': ns_net,
                            'external': [ns_net]}}
+        ds = {'global_params': {}}
 
-        Undercloud('img_path', 'tplt_path').generate_config(ns)
+        Undercloud('img_path', 'tplt_path').generate_config(ns, ds)
+
+    @patch.object(Undercloud, '_get_vm', return_value=None)
+    @patch.object(Undercloud, 'create')
+    @patch('apex.undercloud.undercloud.virt_utils')
+    def test_update_delorean(self, mock_vutils, mock_uc_create, mock_get_vm):
+        uc = Undercloud('img_path', 'tmplt_path', external_network=True)
+        uc._update_delorean_repo()
+        download_cmd = (
+            "curl -L -f -o "
+            "/etc/yum.repos.d/deloran.repo "
+            "https://trunk.rdoproject.org/centos7-{}"
+            "/current-tripleo/delorean.repo".format(
+                constants.DEFAULT_OS_VERSION))
+        test_ops = {'--run-command': download_cmd}
+        mock_vutils.virt_customize.assert_called_with(test_ops, uc.volume)