예제 #1
0
    def test_download(self, tmpdir, filename, httpauth):
        url = 'http://example.org/test/file.dat'
        filesize = 2 * 1024 * 1024 + 1
        self.mox.StubOutWithMock(fileutils, 'open_url')
        if httpauth:
            fileutils.open_url(url, httpuser='******', httppassword='******'
                               ).AndReturn(self.MockResponse(filesize))
        else:
            fileutils.open_url(url).AndReturn(self.MockResponse(filesize))
        self.mox.ReplayAll()

        with tmpdir.as_cwd():
            if filename:
                output = 'test.name'
                if httpauth:
                    f = f = fileutils.download(url, output, httpuser='******',
                                               httppassword='******')
                else:
                    f = fileutils.download(url, output)
            else:
                output = 'file.dat'
                if httpauth:
                    f = f = fileutils.download(url, output, httpuser='******',
                                               httppassword='******')
                else:
                    f = fileutils.download(url)

            assert f == output
            assert os.path.exists(output)
            assert os.path.getsize(output) == filesize

        self.mox.VerifyAll()
예제 #2
0
 def partial_mock_artifacts(self, matrix):
     # JenkinsArtifacts.__init__ does a lot of work, so we can't just
     # stubout methods after constructing it
     self.mox.StubOutWithMock(fileutils, 'open_url')
     if matrix:
         fileutils.open_url(MockUrl.unlabelledurl + 'api/xml').AndReturn(
             MockUrl(True))
     fileutils.open_url(MockUrl.labelledurl + 'api/xml').AndReturn(
         MockUrl(False))
     self.mox.ReplayAll()
     return JenkinsArtifacts(Args(matrix))
예제 #3
0
 def partial_mock_artifacts(self, matrix):
     # Artifacts.__init__ does a lot of work, so we can't just
     # stubout methods after constructing it
     self.mox.StubOutWithMock(fileutils, 'open_url')
     if matrix:
         fileutils.open_url(
             self.MockUrl.unlabelledurl + 'api/xml').AndReturn(
             self.MockUrl(True))
     fileutils.open_url(
         self.MockUrl.labelledurl + 'api/xml').AndReturn(
         self.MockUrl(False))
     self.mox.ReplayAll()
     return Artifacts(self.Args(matrix))
예제 #4
0
    def test_read_downloads(self):
        self.mox.StubOutWithMock(fileutils, 'open_url')
        fileutils.open_url(MockDownloadUrl.pageurl).AndReturn(
            MockDownloadUrl(True))
        self.mox.ReplayAll()

        fullpath = '%s%s' % (MockDownloadUrl.pageurl,
                             MockDownloadUrl.artifactpath)
        assert ReleaseArtifacts.read_downloads(MockDownloadUrl.pageurl) == {
            'ice34': [fullpath + MockDownloadUrl.artifactnames[0]],
            'ice35': [fullpath + MockDownloadUrl.artifactnames[1]]
        }
        self.mox.VerifyAll()
예제 #5
0
    def test_read_downloads(self):
        self.mox.StubOutWithMock(fileutils, 'open_url')
        fileutils.open_url(
            MockDownloadUrl.pageurl).AndReturn(
            MockDownloadUrl(True))
        self.mox.ReplayAll()

        fullpath = '%s%s' % (
            MockDownloadUrl.pageurl, MockDownloadUrl.artifactpath)
        assert ReleaseArtifacts.read_downloads(MockDownloadUrl.pageurl) == {
            'ice34': [fullpath + MockDownloadUrl.artifactnames[0]],
            'ice35': [fullpath + MockDownloadUrl.artifactnames[1]]
            }
        self.mox.VerifyAll()
예제 #6
0
 def partial_mock_artifacts(self, matrix):
     # JenkinsArtifacts.__init__ does a lot of work, so we can't just
     # stubout methods after constructing it
     self.mox.StubOutWithMock(fileutils, 'open_url')
     if matrix:
         fileutils.open_url(
             MockUrl.unlabelledurl + 'api/xml',
             httpuser=MockAuth.httpuser,
             httppassword=MockAuth.httppassword).AndReturn(
             MockUrl(True))
     fileutils.open_url(
         MockUrl.labelledurl + 'api/xml',
         httpuser=MockAuth.httpuser,
         httppassword=MockAuth.httppassword).AndReturn(
         MockUrl(False))
     self.mox.ReplayAll()
     return JenkinsArtifacts(Args(matrix))
예제 #7
0
    def partial_mock_artifacts(self, release):
        # ReleaseArtifacts.__init__ does a lot of work, so we can't just
        # stubout methods after constructing it
        self.mox.StubOutWithMock(fileutils, 'dereference_url')
        if release == 'latest':
            fileutils.dereference_url(MockDownloadUrl.latesturl).AndReturn(
                MockDownloadUrl.pageurl)
        if release == '0.0':
            fileutils.dereference_url(MockDownloadUrl.latesturl +
                                      '0.0').AndReturn(MockDownloadUrl.pageurl)

        self.mox.StubOutWithMock(fileutils, 'open_url')
        fileutils.open_url(MockDownloadUrl.pageurl).AndReturn(
            MockDownloadUrl(True))
        self.mox.ReplayAll()
        args = Args(False)
        args.branch = release
        return ReleaseArtifacts(args)
예제 #8
0
    def partial_mock_artifacts(self, release):
        # ReleaseArtifacts.__init__ does a lot of work, so we can't just
        # stubout methods after constructing it
        self.mox.StubOutWithMock(fileutils, 'dereference_url')
        if release == 'latest':
            fileutils.dereference_url(MockDownloadUrl.latesturl).AndReturn(
                MockDownloadUrl.pageurl)
        if release == '0.0':
            fileutils.dereference_url(
                MockDownloadUrl.latesturl + '0.0').AndReturn(
                    MockDownloadUrl.pageurl)

        self.mox.StubOutWithMock(fileutils, 'open_url')
        fileutils.open_url(
            MockDownloadUrl.pageurl).AndReturn(
            MockDownloadUrl(True))
        self.mox.ReplayAll()
        args = Args(False)
        args.branch = release
        return ReleaseArtifacts(args)