Exemple #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])
Exemple #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"])
Exemple #3
0
    def testDefaultExcludePatterns(self):
        sourceDir = tempfile.mkdtemp()
        self.createTempFile(sourceDir, "a.py", "a")
        subDir = sourceDir + "/node_modules"
        os.mkdir(subDir)
        self.createTempFile(subDir, "b.py", "b")

        outputFile = tempfile.mkstemp()[1]

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

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(zipfile.ZipFile(outputFile).namelist(), ["a.py"])
Exemple #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(UploadOptions())
        uploadPacker.prepareUpload(sourceDir, outputFile)

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

        self.assertEqual(entries, ["a.py", "b.py"])
Exemple #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(UploadOptions(includeHistory=False))
        uploadPacker.prepareUpload(sourceDir, outputFile)

        self.assertEqual(os.path.exists(outputFile), True)
        self.assertEqual(zipfile.ZipFile(outputFile).namelist(), ["a.py"])
Exemple #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"])
Exemple #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"])
Exemple #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(UploadOptions(includeHistory=True))
        uploadPacker.prepareUpload(sourceDir, outputFile)

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

        self.assertEqual(entries, [".git/b.py", "a.py"])
Exemple #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(UploadOptions())
        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"])
Exemple #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"])