|
1 #!/usr/bin/env python |
|
2 # -*- coding: utf-8 -*- |
|
3 |
|
4 # This Source Code Form is subject to the terms of the Mozilla Public |
|
5 # License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
6 # You can obtain one at http://mozilla.org/MPL/2.0/. |
|
7 |
|
8 import mozdevice |
|
9 import mozlog |
|
10 import unittest |
|
11 from sut import MockAgent |
|
12 |
|
13 class CopyTreeTest(unittest.TestCase): |
|
14 def test_copyFile(self): |
|
15 commands = [('dd if=/mnt/sdcard/tests/test.txt of=/mnt/sdcard/tests/test2.txt', ''), |
|
16 ('isdir /mnt/sdcard/tests', 'TRUE'), |
|
17 ('cd /mnt/sdcard/tests', ''), |
|
18 ('ls', 'test.txt\ntest2.txt')] |
|
19 |
|
20 m = MockAgent(self, commands=commands) |
|
21 d = mozdevice.DroidSUT("127.0.0.1", port=m.port, logLevel=mozlog.DEBUG) |
|
22 |
|
23 self.assertEqual(None, d.copyTree('/mnt/sdcard/tests/test.txt', |
|
24 '/mnt/sdcard/tests/test2.txt')) |
|
25 expected = (commands[3][1].strip()).split('\n') |
|
26 self.assertEqual(expected, d.listFiles('/mnt/sdcard/tests')) |
|
27 |
|
28 def test_copyDir(self): |
|
29 commands = [('dd if=/mnt/sdcard/tests/foo of=/mnt/sdcard/tests/bar', ''), |
|
30 ('isdir /mnt/sdcard/tests', 'TRUE'), |
|
31 ('cd /mnt/sdcard/tests', ''), |
|
32 ('ls', 'foo\nbar')] |
|
33 |
|
34 m = MockAgent(self, commands=commands) |
|
35 d = mozdevice.DroidSUT("127.0.0.1", port=m.port, |
|
36 logLevel=mozlog.DEBUG) |
|
37 |
|
38 self.assertEqual(None, d.copyTree('/mnt/sdcard/tests/foo', |
|
39 '/mnt/sdcard/tests/bar')) |
|
40 expected = (commands[3][1].strip()).split('\n') |
|
41 self.assertEqual(expected, d.listFiles('/mnt/sdcard/tests')) |
|
42 |
|
43 def test_copyNonEmptyDir(self): |
|
44 commands = [('isdir /mnt/sdcard/tests/foo/bar', 'TRUE'), |
|
45 ('dd if=/mnt/sdcard/tests/foo of=/mnt/sdcard/tests/foo2', ''), |
|
46 ('isdir /mnt/sdcard/tests', 'TRUE'), |
|
47 ('cd /mnt/sdcard/tests', ''), |
|
48 ('ls', 'foo\nfoo2'), |
|
49 ('isdir /mnt/sdcard/tests/foo2', 'TRUE'), |
|
50 ('cd /mnt/sdcard/tests/foo2', ''), |
|
51 ('ls', 'bar')] |
|
52 |
|
53 m = MockAgent(self, commands=commands) |
|
54 d = mozdevice.DroidSUT("127.0.0.1", port=m.port, |
|
55 logLevel=mozlog.DEBUG) |
|
56 |
|
57 self.assertTrue(d.dirExists('/mnt/sdcard/tests/foo/bar')) |
|
58 self.assertEqual(None, d.copyTree('/mnt/sdcard/tests/foo', |
|
59 '/mnt/sdcard/tests/foo2')) |
|
60 expected = (commands[4][1].strip()).split('\n') |
|
61 self.assertEqual(expected, d.listFiles('/mnt/sdcard/tests')) |
|
62 self.assertTrue(d.fileExists('/mnt/sdcard/tests/foo2/bar')) |
|
63 |
|
64 if __name__ == "__main__": |
|
65 unittest.main() |