def setUp(self):
        import tempfile
        from collective.eggproxy.utils import IndexProxy
        from collective.eggproxy.config import config

        self.tempdir = tempfile.mkdtemp()
        self.base_index = os.path.join(self.tempdir, "index.html")
        config["eggs_directory"] = self.tempdir
        self.index = IndexProxy(config)
def updateCache(*args):

    config.initialize()

    # A file is outdated if it does not exists or if its modification date is
    # older than now - update_interval
    isOutDated = lambda fn: not (os.path.exists(fn) and
            os.path.getmtime(fn) > int(time()) - config.update_interval * 3600)
    eggs_index_proxy = IndexProxy(config)

    if isOutDated(os.path.join(config.eggs_directory, 'index.html')):
        eggs_index_proxy.updateBaseIndex()

    for package_name in os.listdir(config.eggs_directory):
        dir_path = os.path.join(config.eggs_directory, package_name)
        if not os.path.isdir(dir_path):
            continue

        if isOutDated(os.path.join(dir_path, 'index.html')):
            try:
                eggs_index_proxy.updatePackageIndex(package_name)
            except PackageNotFound, msg:
                # FIXME: use logging
                print msg
Esempio n. 3
0
# -*- coding: utf-8 -*-
from collective.eggproxy.utils import IndexProxy
from collective.eggproxy.tests import *

index = IndexProxy()


@with_setup(setup_func, teardown_func)
def test_index():
    # assume non-existence
    assert os.path.isfile(os.path.join(tempdir, 'index.html')) == False

    index.updateBaseIndex(tempdir)

    # assume existence
    assert os.path.isfile(os.path.join(tempdir, 'index.html')) == True

    page = open(os.path.join(tempdir, 'index.html')).read()

    # check case
    assert 'auth' in page


@with_setup(setup_func, teardown_func)
def test_local_index():
    dirname = os.path.join(tempdir, 'my.eggproxy.test.package')
    os.mkdir(dirname)

    index.updateBaseIndex(tempdir)

    page = open(os.path.join(tempdir, 'index.html')).read()
class TestUtils(unittest.TestCase):
    def setUp(self):
        import tempfile
        from collective.eggproxy.utils import IndexProxy
        from collective.eggproxy.config import config

        self.tempdir = tempfile.mkdtemp()
        self.base_index = os.path.join(self.tempdir, "index.html")
        config["eggs_directory"] = self.tempdir
        self.index = IndexProxy(config)

    def tearDown(self):
        import shutil

        shutil.rmtree(self.tempdir)

    def test_index(self):
        # assume non-existence
        assert os.path.isfile(self.base_index) is False

        self.index.updateBaseIndex(self.tempdir)

        # assume existence
        assert os.path.isfile(self.base_index) is True

        page = open(self.base_index).read()

        # check case
        assert "PasteDeploy" in page

    def test_local_index(self):
        dirname = os.path.join(self.tempdir, "my.eggproxy.test.package")
        os.mkdir(dirname)

        self.index.updateBaseIndex(self.tempdir)

        page = open(self.base_index).read()
        assert '<a href="my.eggproxy.test.package/">' "my.eggproxy.test.package</a>" in page

    def test_package(self):
        self.index.updatePackageIndex("collective.eggproxy", self.tempdir)
        dirname = os.path.join(self.tempdir, "collective.eggproxy")

        assert os.path.isdir(dirname) is True

        assert os.listdir(dirname) == ["index.html"]
        ["index.html"]

        page = open(os.path.join(dirname, "index.html")).read()
        assert "<html><head><title>Links for collective.eggproxy" "</title></head>" in page

    def test_local_packages(self):
        dirname = os.path.join(self.tempdir, "collective.eggproxy")
        os.mkdir(dirname)
        dummy = open(os.path.join(dirname, "collective.eggproxy-0.0.0.tar.gz"), "w")
        dummy.write("")
        dummy.close()

        self.index.updatePackageIndex("collective.eggproxy", self.tempdir)

        page = open(os.path.join(dirname, "index.html")).read()
        assert (
            '<a href="collective.eggproxy-0.0.0.tar.gz" rel="download">' "collective.eggproxy-0.0.0.tar.gz</a>" in page
        )

    def test_package_case_sensitive(self):
        self.index.updatePackageIndex("Paste", self.tempdir)
        dirname = os.path.join(self.tempdir, "Paste")

        assert os.path.isdir(dirname) is True

        assert os.listdir(dirname) == ["index.html"]
        ["index.html"]

        page = open(os.path.join(dirname, "index.html")).read()
        assert "<html><head><title>Links for Paste</title></head>" in page
Esempio n. 5
0
# -*- coding: utf-8 -*-
## Copyright (C) 2008 Ingeniweb

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program; see the file COPYING. If not, write to the
## Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
from collective.eggproxy.utils import PackageNotFound
from collective.eggproxy.utils import IndexProxy
eggs_index_proxy = IndexProxy()