]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
added a test for teuthology.orchestra.cluster.write_file
authorAndrew Schoen <aschoen@redhat.com>
Wed, 3 Dec 2014 19:06:30 +0000 (13:06 -0600)
committerAndrew Schoen <aschoen@redhat.com>
Wed, 3 Dec 2014 19:06:30 +0000 (13:06 -0600)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
teuthology/orchestra/test/test_cluster.py

index 7596583cc7df6635bfc874e01a314dab924c5d9f..dcc5c697a2aabbd33524d80277ccdd3e77a71c2a 100644 (file)
@@ -1,4 +1,7 @@
 import fudge
+import pytest
+
+from mock import patch
 
 from .. import cluster, remote
 
@@ -204,3 +207,25 @@ class TestCluster(object):
             )
         c_foo = c.exclude('foo', lambda role: role.startswith('b'))
         assert c_foo.remotes == {r2: ['bar'], r3: ['foo']}
+
+    @fudge.with_fakes
+    @patch("teuthology.misc.write_file")
+    @patch("teuthology.misc.sudo_write_file")
+    def test_write_file(self, m_sudo_write_file, m_write_file):
+        fudge.clear_expectations()
+        r1 = remote.Remote('r1', ssh=fudge.Fake('SSH'))
+        c = cluster.Cluster(
+            remotes=[
+                (r1, ['foo', 'bar']),
+                ],
+            )
+        c.write_file("filename", "content", sudo=True)
+        assert m_sudo_write_file.called
+        m_sudo_write_file.assert_called_with(r1, "filename", "content", owner=None, perms=None)
+        with pytest.raises(ValueError):
+            c.write_file("filename", "content", sudo=False, perms="perms")
+        c.write_file("filename", "content")
+        assert m_write_file.called
+        m_write_file.assert_called_with(r1, "filename", "content")
+
+