Files @ d7488551578e
Branch filter:

Location: kallithea/rhodecode/tests/functional/test_summary.py - annotation

Marcin Kuzminski
synced vcs with upstream

- moved subprocessio module to VCS
- many small changes to make embedded vcs as similar to to external lib
- use only absolute imports
- patch vcs config during load pylons env
1e757ac98988
8a86836fad64
c334e972f459
1670ee0aded7
1670ee0aded7
6843cabe9925
1e757ac98988
8a86836fad64
8a86836fad64
a8c66e870bd0
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
a8c66e870bd0
9c0f5d558789
cf51bbfb120e
a8c66e870bd0
8acbfa837180
8acbfa837180
b7adbd5456c2
b7adbd5456c2
402a96fcfa22
402a96fcfa22
b7adbd5456c2
b7adbd5456c2
b7adbd5456c2
ec6354949623
b7adbd5456c2
b7adbd5456c2
8acbfa837180
8acbfa837180
9c0f5d558789
c334e972f459
6843cabe9925
9c0f5d558789
9c0f5d558789
b7adbd5456c2
d7488551578e
d7488551578e
d7488551578e
b7adbd5456c2
d7488551578e
d7488551578e
d7488551578e
d7488551578e
d7488551578e
d7488551578e
b7adbd5456c2
8acbfa837180
8acbfa837180
f4ce9416cbd5
f4ce9416cbd5
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
51127b2efb33
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
ec6354949623
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
f4ce9416cbd5
f4ce9416cbd5
402a96fcfa22
402a96fcfa22
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
cf51bbfb120e
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
a8c66e870bd0
ec6354949623
a8c66e870bd0
51127b2efb33
1670ee0aded7
1670ee0aded7
8a86836fad64
1670ee0aded7
1670ee0aded7
1670ee0aded7
1670ee0aded7
1670ee0aded7
8a86836fad64
1670ee0aded7
1670ee0aded7
1670ee0aded7
1670ee0aded7
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
402a96fcfa22
9492ab68331f
402a96fcfa22
ec6354949623
402a96fcfa22
402a96fcfa22
c334e972f459
04027bdb876c
c334e972f459
d7488551578e
d7488551578e
from rhodecode.tests import *
from rhodecode.tests.fixture import Fixture
from rhodecode.model.db import Repository
from rhodecode.model.repo import RepoModel
from rhodecode.model.meta import Session
from rhodecode.model.scm import ScmModel

fixture = Fixture()


class TestSummaryController(TestController):

    def test_index(self):
        self.log_user()
        ID = Repository.get_by_repo_name(HG_REPO).repo_id
        response = self.app.get(url(controller='summary',
                                    action='index',
                                    repo_name=HG_REPO))

        #repo type
        response.mustcontain(
            """<img style="margin-bottom:2px" class="icon" """
            """title="Mercurial repository" alt="Mercurial repository" """
            """src="/images/icons/hgicon.png"/>"""
        )
        response.mustcontain(
            """<img style="margin-bottom:2px" class="icon" """
            """title="Public repository" alt="Public """
            """repository" src="/images/icons/lock_open.png"/>"""
        )

        #codes stats
        self._enable_stats()

        ScmModel().mark_for_invalidation(HG_REPO)
        response = self.app.get(url(controller='summary', action='index',
                                    repo_name=HG_REPO))
        response.mustcontain(
            """var data = [["py", {"count": 68, "desc": ["Python"]}], """
            """["rst", {"count": 16, "desc": ["Rst"]}], """
            """["css", {"count": 2, "desc": ["Css"]}], """
            """["sh", {"count": 2, "desc": ["Bash"]}], """
            """["yml", {"count": 1, "desc": ["Yaml"]}], """
            """["makefile", {"count": 1, "desc": ["Makefile", "Makefile"]}], """
            """["js", {"count": 1, "desc": ["Javascript"]}], """
            """["cfg", {"count": 1, "desc": ["Ini"]}], """
            """["ini", {"count": 1, "desc": ["Ini"]}], """
            """["html", {"count": 1, "desc": ["EvoqueHtml", "Html"]}]];"""
        )

        # clone url...
        response.mustcontain('''id="clone_url" readonly="readonly" value="http://test_admin@localhost:80/%s"''' % HG_REPO)
        response.mustcontain('''id="clone_url_id" readonly="readonly" value="http://test_admin@localhost:80/_%s"''' % ID)

    def test_index_git(self):
        self.log_user()
        ID = Repository.get_by_repo_name(GIT_REPO).repo_id
        response = self.app.get(url(controller='summary',
                                    action='index',
                                    repo_name=GIT_REPO))

        #repo type
        response.mustcontain(
            """<img style="margin-bottom:2px" class="icon" """
            """title="Git repository" alt="Git repository" """
            """src="/images/icons/giticon.png"/>"""
        )
        response.mustcontain(
            """<img style="margin-bottom:2px" class="icon" """
            """title="Public repository" alt="Public """
            """repository" src="/images/icons/lock_open.png"/>"""
        )

        # clone url...
        response.mustcontain('''id="clone_url" readonly="readonly" value="http://test_admin@localhost:80/%s"''' % GIT_REPO)
        response.mustcontain('''id="clone_url_id" readonly="readonly" value="http://test_admin@localhost:80/_%s"''' % ID)

    def test_index_by_id_hg(self):
        self.log_user()
        ID = Repository.get_by_repo_name(HG_REPO).repo_id
        response = self.app.get(url(controller='summary',
                                    action='index',
                                    repo_name='_%s' % ID))

        #repo type
        response.mustcontain("""<img style="margin-bottom:2px" class="icon" """
                        """title="Mercurial repository" alt="Mercurial """
                        """repository" src="/images/icons/hgicon.png"/>""")
        response.mustcontain("""<img style="margin-bottom:2px" class="icon" """
                        """title="Public repository" alt="Public """
                        """repository" src="/images/icons/lock_open.png"/>""")

    def test_index_by_repo_having_id_path_in_name_hg(self):
        self.log_user()
        fixture.create_repo(name='repo_1')
        response = self.app.get(url(controller='summary',
                                    action='index',
                                    repo_name='repo_1'))

        try:
            response.mustcontain("repo_1")
        finally:
            RepoModel().delete(Repository.get_by_repo_name('repo_1'))
            Session().commit()

    def test_index_by_id_git(self):
        self.log_user()
        ID = Repository.get_by_repo_name(GIT_REPO).repo_id
        response = self.app.get(url(controller='summary',
                                    action='index',
                                    repo_name='_%s' % ID))

        #repo type
        response.mustcontain("""<img style="margin-bottom:2px" class="icon" """
                        """title="Git repository" alt="Git """
                        """repository" src="/images/icons/giticon.png"/>""")
        response.mustcontain("""<img style="margin-bottom:2px" class="icon" """
                        """title="Public repository" alt="Public """
                        """repository" src="/images/icons/lock_open.png"/>""")

    def _enable_stats(self):
        r = Repository.get_by_repo_name(HG_REPO)
        r.enable_statistics = True
        Session().add(r)
        Session().commit()