Exemple #1
0
    def test__get_projects_from_url(self):
        """Test downloading projects from an URL """
        setup_http_server()

        projects_url = 'http://localhost/projects.json'
        config = Config(CONF_FILE)
        config.set_param('projects', 'projects_url', projects_url)
        task = TaskProjects(config)
        self.assertEqual(task.execute(), None)

        projects = task.get_projects()
        self.assertTrue(URL_PROJECTS_MAIN in projects)
    def test_run_eclipse(self):
        """Test whether the Task could be run getting projects from Eclipse"""
        setup_http_server()

        # Create a empty projects file for testing
        projects_file = 'test-projects-eclipse.json'

        config = Config(CONF_FILE)
        config.set_param('projects', 'load_eclipse', True)
        config.set_param('projects', 'projects_file', projects_file)
        task = TaskProjects(config)

        self.assertEqual(task.execute(), None)
        self.assertEqual(len(task.get_projects().keys()), 302)

        remove(projects_file)
    def test_convert_from_eclipse(self):
        """Test the conversion from eclipse projects to grimoire projects"""
        setup_http_server()

        projects_file = 'test-projects-eclipse.json'
        config = Config(CONF_FILE)
        config.set_param('projects', 'load_eclipse', True)
        config.set_param('projects', 'projects_file', projects_file)
        task = TaskProjects(config)
        self.assertEqual(task.execute(), None)

        projects = task.get_projects()
        self.assertTrue(TaskProjects.GLOBAL_PROJECT in projects)

        self.assertEqual(projects['birt']['github'][0],
                         'https://github.com/eclipse/birt')

        remove(projects_file)
Exemple #4
0
    def test_get_repos_by_backend_sections_unknown(self):
        """Test whether the repos of each section are properly loaded when the unknown section is present"""

        config = Config(CONF_FILE_UNKNOWN)
        task = TaskProjects(config)
        self.assertEqual(task.execute(), None)

        # repos not in unknown
        expected_list = ["https://github.com/chaoss/grimoirelab-perceval"]

        repos = task.get_repos_by_backend_section("git")
        self.assertListEqual(repos, expected_list)

        repos = task.get_repos_by_backend_section("git", raw=False)
        self.assertListEqual(repos, expected_list)

        # repos only in unknown
        expected_list = ["https://bugzilla.mozilla.org"]

        repos = task.get_repos_by_backend_section("bugzillarest")
        self.assertListEqual(repos, expected_list)

        repos = task.get_repos_by_backend_section("bugzillarest", raw=False)
        self.assertListEqual(repos, expected_list)

        # repos in unknown and other section
        expected_list = ["gerrit.onosproject.org"]

        repos = task.get_repos_by_backend_section("gerrit:onos")
        self.assertListEqual(repos, expected_list)

        expected_list = [
            "gerrit.onosproject.org --filter-raw=data.project:OnosSystemTest",
            "gerrit.onosproject.org --filter-raw=data.project:OnosSystemTestJenkins",
            "gerrit.onosproject.org --filter-raw=data.project:cord-openwrt",
            "gerrit.onosproject.org --filter-raw=data.project:fabric-control",
            "gerrit.onosproject.org --filter-raw=data.project:manifest"
        ]

        repos = task.get_repos_by_backend_section("gerrit:onos", raw=False)
        repos.sort()
        expected_list.sort()
        self.assertListEqual(repos, expected_list)
Exemple #5
0
 def test_run(self):
     """Test whether the Task could be run"""
     config = Config(CONF_FILE)
     task = TaskProjects(config)
     self.assertEqual(task.execute(), None)
     self.assertEqual(len(task.get_projects().keys()), 1)
Exemple #6
0
    def test_get_repos_by_backend_section(self):
        """Test whether the repos of each section are properly loaded"""

        config = Config(CONF_FILE)
        task = TaskProjects(config)
        self.assertEqual(task.execute(), None)

        config.conf.keys()
        backend_sections = list(set([sect for sect in config.conf.keys()
                                     for backend_section in Config.get_backend_sections()
                                     if sect and sect.startswith(backend_section)]))
        backend_sections.sort()
        backend = backend_sections[0]

        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'askbot')
        self.assertEqual(repos, ['https://ask.puppet.com'])

        backend = backend_sections[1]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'bugzilla')
        self.assertEqual(repos, ['https://bugs.eclipse.org/bugs/'])

        backend = backend_sections[2]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'bugzillarest')
        self.assertEqual(repos, ['https://bugzilla.mozilla.org'])

        backend = backend_sections[3]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'confluence')
        self.assertEqual(repos, ['https://wiki.open-o.org/'])

        backend = backend_sections[4]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'discourse')
        self.assertEqual(repos, ['https://foro.mozilla-hispano.org/'])

        backend = backend_sections[5]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'dockerhub')
        self.assertEqual(repos, ['bitergia kibiter'])

        backend = backend_sections[6]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'functest')
        self.assertEqual(repos, ['http://testresults.opnfv.org/test/'])

        backend = backend_sections[7]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'gerrit')
        self.assertEqual(repos, ['review.openstack.org'])

        backend = backend_sections[8]
        repos = task.get_repos_by_backend_section(backend)
        repos.sort()
        expected_list = [
            "https://github.com/VizGrimoire/GrimoireLib "
            "--filter-raw-prefix=data.files.file:grimoirelib_alch,data.files.file:README.md",
            "https://github.com/MetricsGrimoire/CMetrics"]
        expected_list.sort()
        self.assertEqual(backend, 'git')
        self.assertEqual(repos, expected_list)

        backend = backend_sections[9]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'github')
        self.assertEqual(repos, ['https://github.com/grimoirelab/perceval'])

        backend = backend_sections[10]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'github:pull')
        self.assertEqual(repos, ['https://github.com/grimoirelab/perceval'])

        backend = backend_sections[11]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'gitlab')
        self.assertEqual(repos, ['https://gitlab.com/inkscape/inkscape-web'])

        backend = backend_sections[12]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'google_hits')
        self.assertEqual(repos, ['bitergia grimoirelab'])

        backend = backend_sections[13]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'hyperkitty')
        self.assertEqual(repos,
                         ['https://lists.mailman3.org/archives/list/[email protected]'])

        backend = backend_sections[14]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'jenkins')
        self.assertEqual(repos, ['https://build.opnfv.org/ci'])

        backend = backend_sections[15]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'jira')
        self.assertEqual(repos, ['https://jira.opnfv.org'])

        backend = backend_sections[16]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mattermost')
        self.assertEqual(repos, ['https://chat.openshift.io 8j366ft5affy3p36987pcugaoa'])

        backend = backend_sections[17]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mattermost:group1')
        self.assertEqual(repos, ['https://chat.openshift.io 8j366ft5affy3p36987cip'])

        backend = backend_sections[18]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mattermost:group2')
        self.assertEqual(repos, ['https://chat.openshift.io 8j366ft5affy3p36987ciop'])

        backend = backend_sections[19]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mbox')
        self.assertEqual(repos, ['metrics-grimoire ~/.perceval/mbox'])

        backend = backend_sections[20]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mediawiki')
        self.assertEqual(repos, ['https://wiki.mozilla.org'])

        backend = backend_sections[21]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'meetup')
        self.assertEqual(repos, ['South-East-Puppet-User-Group'])

        backend = backend_sections[22]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'mozillaclub')
        self.assertEqual(repos,
                         ['https://spreadsheets.google.com/feeds/cells/'
                          '1QHl2bjBhMslyFzR5XXPzMLdzzx7oeSKTbgR5PM8qp64/ohaibtm/public/values?alt=json'])

        backend = backend_sections[23]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'nntp')
        self.assertEqual(repos, ['news.mozilla.org mozilla.dev.project-link'])

        backend = backend_sections[24]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'phabricator')
        self.assertEqual(repos, ['https://phabricator.wikimedia.org'])

        backend = backend_sections[25]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'pipermail')
        self.assertEqual(repos, ['https://mail.gnome.org/archives/libart-hackers/'])

        backend = backend_sections[26]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'puppetforge')
        self.assertEqual(repos, [''])

        backend = backend_sections[27]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'redmine')
        self.assertEqual(repos, ['http://tracker.ceph.com/'])

        backend = backend_sections[28]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'remo')
        self.assertEqual(repos, ['https://reps.mozilla.org'])

        backend = backend_sections[29]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'remo:activities')
        self.assertEqual(repos, ['https://reps.mozilla.org'])

        backend = backend_sections[30]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'rss')
        self.assertEqual(repos, ['https://blog.bitergia.com/feed/'])

        backend = backend_sections[31]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'slack')
        self.assertEqual(repos, ['C7LSGB0AU'])

        backend = backend_sections[32]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'stackexchange')

        repos.sort()
        expected_list = [
            "https://stackoverflow.com/questions/tagged/ovirt",
            "https://stackoverflow.com/questions/tagged/rdo",
            "https://stackoverflow.com/questions/tagged/kibana"
        ]
        expected_list.sort()
        self.assertEqual(repos, expected_list)

        backend = backend_sections[33]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'supybot')
        self.assertEqual(repos,
                         ['openshift ~/.perceval/irc/percevalbot/logs/ChannelLogger/freenode/#openshift/'])

        backend = backend_sections[34]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'telegram')
        self.assertEqual(repos, ['Mozilla_analytics'])

        backend = backend_sections[35]
        repos = task.get_repos_by_backend_section(backend)
        self.assertEqual(backend, 'twitter')
        self.assertEqual(repos, ['bitergia'])