Beispiel #1
0
 def get_upload_algorithms():
     """
     :return: List of StoredAdapter entities
     """
     categories = dao.get_uploader_categories()
     categories_ids = [categ.id for categ in categories]
     return dao.get_adapters_from_categories(categories_ids)
    def test_introspect(self):
        """
        Test that expected categories and groups are found in DB after introspection.
        We also check algorithms introspected during base_testcase.init_test_env
        """

        all_categories = dao.get_algorithm_categories()
        category_ids = [
            cat.id for cat in all_categories
            if cat.displayname == "AdaptersTest"
        ]
        adapters = dao.get_adapters_from_categories(category_ids)
        self.assertEqual(8, len(adapters), "Introspection failed!")
        nr_adapters_mod2 = 0
        for algorithm in adapters:
            self.assertTrue(
                algorithm.module in [
                    'tvb.tests.framework.adapters.testadapter1',
                    'tvb.tests.framework.adapters.testadapter2',
                    'tvb.tests.framework.adapters.testadapter3',
                    'tvb.tests.framework.adapters.ndimensionarrayadapter',
                    'tvb.tests.framework.adapters.testgroupadapter'
                ], "Unknown Adapter module:" + str(algorithm.module))
            self.assertTrue(
                algorithm.classname in [
                    "TestAdapter1", "TestAdapterDatatypeInput", "TestAdapter2",
                    "TestAdapter22", "TestAdapterHugeMemoryRequired",
                    "TestAdapter3", "TestAdapterHDDRequired",
                    "NDimensionArrayAdapter"
                ], "Unknown Adapter Class:" + str(algorithm.classname))
            if algorithm.module == 'tvb.tests.framework.adapters.testadapter2':
                nr_adapters_mod2 += 1
        self.assertEqual(nr_adapters_mod2, 2)
 def get_upload_algorithms():
     """
     :return: List of StoredAdapter entities
     """
     categories = dao.get_uploader_categories()
     categories_ids = [categ.id for categ in categories]
     return dao.get_adapters_from_categories(categories_ids)
 def test_introspect(self):
     """
     Test that expected categories and groups are found in DB after introspection.
     We also check algorithms introspected during base_testcase.init_test_env
     """
     
     all_categories = dao.get_algorithm_categories()
     category_ids = [cat.id for cat in all_categories if cat.displayname == "AdaptersTest"]
     adapters = dao.get_adapters_from_categories(category_ids)
     self.assertEqual(8, len(adapters), "Introspection failed!")
     nr_adapters_mod2 = 0
     for algorithm in adapters:
         self.assertTrue(algorithm.module in ['tvb.tests.framework.adapters.testadapter1',
                                              'tvb.tests.framework.adapters.testadapter2',
                                              'tvb.tests.framework.adapters.testadapter3',
                                              'tvb.tests.framework.adapters.ndimensionarrayadapter',
                                              'tvb.tests.framework.adapters.testgroupadapter'],
                         "Unknown Adapter module:" + str(algorithm.module))
         self.assertTrue(algorithm.classname in ["TestAdapter1", "TestAdapterDatatypeInput",
                                                 "TestAdapter2", "TestAdapter22", "TestAdapterHugeMemoryRequired",
                                                 "TestAdapter3", "TestAdapterHDDRequired",
                                                 "NDimensionArrayAdapter"
                                                 ],
                         "Unknown Adapter Class:" + str(algorithm.classname))
         if algorithm.module == 'tvb.tests.framework.adapters.testadapter2':
             nr_adapters_mod2 += 1
     self.assertEqual(nr_adapters_mod2, 2)
Beispiel #5
0
 def test_default_cancel(self):
     """
     On cancel we should get a redirect to the back page link.
     """
     cherrypy.request.method = "POST"
     categories = dao.get_algorithm_categories()
     algo_groups = dao.get_adapters_from_categories([categories[0].id])
     self._expect_redirect('/project/viewoperations/%i' % self.test_project.id, self.flow_c.default,
                           categories[0].id, algo_groups[0].id, cancel=True, back_page='operations')
 def test_default_cancel(self):
     """
     On cancel we should get a redirect to the back page link.
     """
     cherrypy.request.method = "POST"
     categories = dao.get_algorithm_categories()
     algo_groups = dao.get_adapters_from_categories([categories[0].id])
     self._expect_redirect('/project/viewoperations/%i' % self.test_project.id, self.flow_c.default,
                           categories[0].id, algo_groups[0].id, cancel=True, back_page='operations')
Beispiel #7
0
 def teardown_method(self):
     all_categories = dao.get_algorithm_categories()
     category_ids = [
         cat.id for cat in all_categories
         if cat.displayname == TestCategory.category_name
     ]
     adapters = dao.get_adapters_from_categories(category_ids)
     for algorithm in adapters:
         dao.remove_entity(Algorithm, algorithm.id)
     dao.remove_entity(AlgorithmCategory, category_ids[0])
Beispiel #8
0
 def test_default(self):
     """
     Test default method from step controllers. Check that the submit link is ok, that a mainContent
     is present in result dict and that the isAdapter flag is set to true.
     """
     cherrypy.request.method = "GET"
     categories = dao.get_algorithm_categories()
     for categ in categories:
         algo_groups = dao.get_adapters_from_categories([categ.id])
         for algo in algo_groups:
             result_dict = self.flow_c.default(categ.id, algo.id)
             assert result_dict[common.KEY_SUBMIT_LINK] == '/flow/%i/%i' % (categ.id, algo.id)
             assert 'mainContent' in result_dict
             assert result_dict['isAdapter']
 def test_default(self):
     """
     Test default method from step controllers. Check that the submit link is ok, that a mainContent
     is present in result dict and that the isAdapter flag is set to true.
     """
     cherrypy.request.method = "GET"
     categories = dao.get_algorithm_categories()
     for categ in categories:
         algo_groups = dao.get_adapters_from_categories([categ.id])
         for algo in algo_groups:
             result_dict = self.flow_c.default(categ.id, algo.id)
             self.assertEqual(result_dict[common.KEY_SUBMIT_LINK], '/flow/%i/%i' % (categ.id, algo.id))
             self.assertTrue('mainContent' in result_dict)
             self.assertTrue(result_dict['isAdapter'])
    def get_analyze_groups(self):
        """
        :return: list of AlgorithmTransientGroup entities
        """
        categories = dao.get_launchable_categories(elimin_viewers=True)
        categories_ids = [categ.id for categ in categories]
        stored_adapters = dao.get_adapters_from_categories(categories_ids)

        groups_list = []
        for adapter in stored_adapters:
            # For empty groups, this time, we fill the actual adapter
            group = AlgorithmTransientGroup(adapter.group_name or adapter.displayname,
                                            adapter.group_description or adapter.description)
            group = self._find_group(groups_list, group)
            group.children.append(adapter)
        return categories[0], groups_list
Beispiel #11
0
    def get_analyze_groups(self):
        """
        :return: list of AlgorithmTransientGroup entities
        """
        categories = dao.get_launchable_categories(elimin_viewers=True)
        categories_ids = [categ.id for categ in categories]
        stored_adapters = dao.get_adapters_from_categories(categories_ids)

        groups_list = []
        for adapter in stored_adapters:
            # For empty groups, this time, we fill the actual adapter
            group = AlgorithmTransientGroup(adapter.group_name or adapter.displayname,
                                            adapter.group_description or adapter.description)
            group = self._find_group(groups_list, group)
            group.children.append(adapter)
        return categories[0], groups_list
Beispiel #12
0
 def test_default(self):
     """
     Test default method from step controllers. Check that the submit link is ok, that a mainContent
     is present in result dict and that the isAdapter flag is set to true.
     """
     cherrypy.request.method = "GET"
     categories = dao.get_algorithm_categories()
     for categ in categories:
         # Ignore creators, as those won't go through this flow
         if categ.displayname in [CreateAlgorithmCategoryConfig.category_name]:
             continue
         algo_groups = dao.get_adapters_from_categories([categ.id])
         for algo in algo_groups:
             result_dict = self.flow_c.default(categ.id, algo.id)
             assert result_dict[common.KEY_SUBMIT_LINK] == '/flow/%i/%i' % (categ.id, algo.id)
             assert 'mainContent' in result_dict
             assert result_dict['isAdapter']
Beispiel #13
0
    def test_introspect(self):
        """
        Test that expected categories and groups are found in DB after introspection.
        We also check algorithms introspected during base_testcase.init_test_env
        """
        introspector = Introspector()
        introspector.introspection_registry.ADAPTERS[
            TestCategory] = import_adapters(tvb.tests.framework.adapters,
                                            ALL_TEST_ADAPTERS)
        introspector.introspect()

        all_categories = dao.get_algorithm_categories()
        category_ids = [
            cat.id for cat in all_categories
            if cat.displayname == TestCategory.category_name
        ]
        adapters = dao.get_adapters_from_categories(category_ids)

        assert 5 == len(adapters), "Introspection failed!"
        nr_adapters_mod3 = 0

        for algorithm in adapters:
            assert algorithm.module in [
                'tvb.tests.framework.adapters.testadapter1',
                'tvb.tests.framework.adapters.testadapter2',
                'tvb.tests.framework.adapters.testadapter3'
            ], "Unknown Adapter Module:" + str(algorithm.module)
            assert algorithm.classname in [
                "TestAdapter1", "TestAdapter2",
                "TestAdapterHugeMemoryRequired", "TestAdapter3",
                "TestAdapterHDDRequired"
            ], "Unknown Adapter Class:" + str(algorithm.classname)
            if algorithm.module == 'tvb.tests.framework.adapters.testadapter3':
                nr_adapters_mod3 += 1

        assert nr_adapters_mod3 == 3