Esempio n. 1
0
 def testErrorIfUploadExceedsMaximumSize(self):
     sourceDir = tempfile.mkdtemp()
     with open(sourceDir + "/a.py", "wb") as f:
         f.write(os.urandom(2000000))
         
     uploadPacker = SystemUploadPacker(UploadOptions())
     uploadPacker.MAX_UPLOAD_SIZE_MB = 1
 
     self.assertRaises(Exception, uploadPacker.prepareUpload, sourceDir, tempfile.mkstemp()[1])
Esempio n. 2
0
    def testLogMessageWhenUploadTooSmall(self):
        LOG_HISTORY.clear()

        sourceDir = tempfile.mkdtemp()
        with open(sourceDir + "/a.py", "wb") as f:
            f.write(os.urandom(1))

        uploadPacker = SystemUploadPacker(UploadOptions())
        uploadPacker.prepareUpload(sourceDir, tempfile.mkstemp()[1])

        self.assertEqual(LOG_HISTORY, ["Upload size is 1 MB", \
            "Warning: Upload is very small, source directory might not contain all source code"])
Esempio n. 3
0
    def testCustomExcludePatterns(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        subDir = sourceDir + "/b"
        os.mkdir(subDir)
        self.createTempFile(subDir, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker(["b/"])
        uploadPacker.prepareUpload(sourceDir, outputFile)

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(zipfile.ZipFile(outputFile).namelist(), ["a.py"])
Esempio n. 4
0
    def testCreateZipFromDirectory(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        self.createTempFile(sourceDir, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker()
        uploadPacker.prepareUpload(sourceDir, outputFile)

        entries = zipfile.ZipFile(outputFile).namelist()
        entries.sort()

        self.assertEqual(entries, ["a.py", "b.py"])
Esempio n. 5
0
    def testExcludeGitHistory(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        subDir = sourceDir + "/.git"
        os.mkdir(subDir)
        self.createTempFile(subDir, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker([], False)
        uploadPacker.prepareUpload(sourceDir, outputFile)

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(zipfile.ZipFile(outputFile).namelist(), ["a.py"])
Esempio n. 6
0
    def testPathPrefixDoesNotLeadToDoubleSlash(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        
        outputFile = tempfile.mkstemp()[1]
        
        uploadPacker = SystemUploadPacker(UploadOptions(pathPrefix="/backend/"))
        uploadPacker.prepareUpload(sourceDir, outputFile)
        
        entries = zipfile.ZipFile(outputFile).namelist()
        entries.sort()

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(entries, ["backend/a.py"])
Esempio n. 7
0
    def testLogUploadContents(self):
        LOG_HISTORY.clear()

        sourceDir = tempfile.mkdtemp()
        with open(sourceDir + "/a.py", "wb") as f:
            f.write(os.urandom(1))
        with open(sourceDir + "/b.py", "wb") as f:
            f.write(os.urandom(1))

        uploadPacker = SystemUploadPacker(UploadOptions(showContents=True))
        uploadPacker.prepareUpload(sourceDir, tempfile.mkstemp()[1])

        self.assertEqual(LOG_HISTORY, ["Adding file to upload: a.py", "Adding file to upload: b.py", \
            "Upload size is 1 MB", \
            "Warning: Upload is very small, source directory might not contain all source code"])
Esempio n. 8
0
    def testIncludeGitHistory(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        subDir = sourceDir + "/.git"
        os.mkdir(subDir)
        self.createTempFile(subDir, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker([], True)
        uploadPacker.prepareUpload(sourceDir, outputFile)

        entries = zipfile.ZipFile(outputFile).namelist()
        entries.sort()

        self.assertEqual(entries, [".git/b.py", "a.py"])
Esempio n. 9
0
    def testPreserveDirectoryStructureInUpload(self):
        sourceDir = tempfile.mkdtemp()
        subDirA = sourceDir + "/a"
        os.mkdir(subDirA)
        self.createTempFile(subDirA, "a.py", "a")
        subDirB = sourceDir + "/b"
        os.mkdir(subDirB)
        self.createTempFile(subDirB, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker()
        uploadPacker.prepareUpload(sourceDir, outputFile)

        entries = zipfile.ZipFile(outputFile).namelist()
        entries.sort()

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(entries, ["a/a.py", "b/b.py"])
Esempio n. 10
0
    def testUsePathPrefixInUpload(self):
        sourceDir = tempfile.mkdtemp()
        subDirA = sourceDir + "/a"
        os.mkdir(subDirA)
        self.createTempFile(subDirA, "a.py", "a")
        subDirB = sourceDir + "/b"
        os.mkdir(subDirB)
        self.createTempFile(subDirB, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

        uploadPacker = SystemUploadPacker(UploadOptions(pathPrefix="frontend"))
        uploadPacker.prepareUpload(sourceDir, outputFile)

        entries = zipfile.ZipFile(outputFile).namelist()
        entries.sort()

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(entries, ["frontend/a/a.py", "frontend/b/b.py"])