summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozdevice/sut_tests/test_push2.py
blob: 5ccea509ec4349907800f0b5dd0cd7dbb44f7377 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import os
import posixpath

from dmunit import DeviceManagerTestCase


class Push2TestCase(DeviceManagerTestCase):

    def runTest(self):
        """This tests copying a directory structure with files to the device.
        """
        testroot = posixpath.join(self.dm.deviceRoot, 'infratest')
        self.dm.removeDir(testroot)
        self.dm.mkDir(testroot)
        path = posixpath.join(testroot, 'push2')
        self.dm.pushDir(os.path.join('test-files', 'push2'), path)

        # Let's walk the tree and make sure everything is there
        # though it's kind of cheesy, we'll use the validate file to compare
        # hashes - we use the client side hashing when testing the cat command
        # specifically, so that makes this a little less cheesy, I guess.
        self.assertTrue(
            self.dm.dirExists(posixpath.join(testroot, 'push2', 'sub1')))
        self.assertTrue(self.dm.validateFile(
            posixpath.join(testroot, 'push2', 'sub1', 'file1.txt'),
            os.path.join('test-files', 'push2', 'sub1', 'file1.txt')))
        self.assertTrue(self.dm.validateFile(
            posixpath.join(testroot, 'push2', 'sub1', 'sub1.1', 'file2.txt'),
            os.path.join('test-files', 'push2', 'sub1', 'sub1.1', 'file2.txt')))
        self.assertTrue(self.dm.validateFile(
            posixpath.join(testroot, 'push2', 'sub2', 'file3.txt'),
            os.path.join('test-files', 'push2', 'sub2', 'file3.txt')))
        self.assertTrue(self.dm.validateFile(
            posixpath.join(testroot, 'push2', 'file4.bin'),
            os.path.join('test-files', 'push2', 'file4.bin')))