summaryrefslogtreecommitdiff
path: root/tests/pa/test_provision.py
diff options
context:
space:
mode:
authorƁukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com>2017-05-18 19:58:02 +0200
committerusd-importer <ubuntu-server@lists.ubuntu.com>2017-05-31 09:53:12 +0000
commit68754fe67f1b3da2e6ca45885641941b3229698a (patch)
treea3c36f3a9ee56b4f0c77505dcf758f3e3436d884 /tests/pa/test_provision.py
parent512b1e00ab9b75e46cc76af40c72cf239fa100e5 (diff)
parent6742198762e770442c4eb5d0eaa4a7a809f85424 (diff)
downloadvyos-walinuxagent-68754fe67f1b3da2e6ca45885641941b3229698a.tar.gz
vyos-walinuxagent-68754fe67f1b3da2e6ca45885641941b3229698a.zip
Import patches-applied version 2.2.12-0ubuntu1 to applied/ubuntu/artful-proposed
Imported using git-ubuntu import. Changelog parent: 512b1e00ab9b75e46cc76af40c72cf239fa100e5 Unapplied parent: 6742198762e770442c4eb5d0eaa4a7a809f85424 New changelog entries: * New upstream release (LP: #1690854). - Refreshed debian/patches/disable_import_test.patch.
Diffstat (limited to 'tests/pa/test_provision.py')
-rw-r--r--tests/pa/test_provision.py48
1 files changed, 46 insertions, 2 deletions
diff --git a/tests/pa/test_provision.py b/tests/pa/test_provision.py
index a98eacd..0446442 100644
--- a/tests/pa/test_provision.py
+++ b/tests/pa/test_provision.py
@@ -16,17 +16,22 @@
#
import azurelinuxagent.common.utils.fileutil as fileutil
+
+from azurelinuxagent.common.exception import ProtocolError
from azurelinuxagent.common.osutil.default import DefaultOSUtil
from azurelinuxagent.common.protocol import OVF_FILE_NAME
from azurelinuxagent.pa.provision import get_provision_handler
+from azurelinuxagent.pa.provision.default import ProvisionHandler
from tests.tools import *
class TestProvision(AgentTestCase):
@distros("redhat")
- def test_provision(self, distro_name, distro_version, distro_full_name):
- provision_handler = get_provision_handler(distro_name, distro_version,
+ @patch('azurelinuxagent.common.osutil.default.DefaultOSUtil.get_instance_id',
+ return_value='B9F3C233-9913-9F42-8EB3-BA656DF32502')
+ def test_provision(self, mock_util, distro_name, distro_version, distro_full_name):
+ provision_handler = get_provision_handler(distro_name, distro_version,
distro_full_name)
mock_osutil = MagicMock()
mock_osutil.decode_customdata = Mock(return_value="")
@@ -48,6 +53,45 @@ class TestProvision(AgentTestCase):
data = DefaultOSUtil().decode_customdata(base64data)
fileutil.write_file(tempfile.mktemp(), data)
+ @patch('os.path.isfile', return_value=False)
+ def test_is_provisioned_not_provisioned(self, mock_isfile):
+ ph = ProvisionHandler()
+ self.assertFalse(ph.is_provisioned())
+
+ @patch('os.path.isfile', return_value=True)
+ @patch('azurelinuxagent.common.utils.fileutil.read_file',
+ return_value="B9F3C233-9913-9F42-8EB3-BA656DF32502")
+ @patch('azurelinuxagent.pa.deprovision.get_deprovision_handler')
+ def test_is_provisioned_is_provisioned(self,
+ mock_deprovision, mock_read, mock_isfile):
+ ph = ProvisionHandler()
+ ph.osutil = Mock()
+ ph.osutil.get_instance_id = \
+ Mock(return_value="B9F3C233-9913-9F42-8EB3-BA656DF32502")
+ ph.write_provisioned = Mock()
+
+ deprovision_handler = Mock()
+ mock_deprovision.return_value = deprovision_handler
+
+ self.assertTrue(ph.is_provisioned())
+ deprovision_handler.run_changed_unique_id.assert_not_called()
+
+ @patch('os.path.isfile', return_value=True)
+ @patch('azurelinuxagent.common.utils.fileutil.read_file',
+ side_effect=["Value"])
+ @patch('azurelinuxagent.pa.deprovision.get_deprovision_handler')
+ def test_is_provisioned_not_deprovisioned(self,
+ mock_deprovision, mock_read, mock_isfile):
+
+ ph = ProvisionHandler()
+ ph.osutil = Mock()
+ ph.write_provisioned = Mock()
+
+ deprovision_handler = Mock()
+ mock_deprovision.return_value = deprovision_handler
+
+ self.assertTrue(ph.is_provisioned())
+ deprovision_handler.run_changed_unique_id.assert_called_once()
if __name__ == '__main__':
unittest.main()