Exemple #1
0
class TestProjectServiceCachedMethods(unittest.TestCase):
    """
    Tests ProjectService getter Methods
    """
    @classmethod
    def setUpClass(self):
        """
        setup ProjectService
        """
        sys.stderr.write("\nsetUpClass\n")
        self.PrjMng = ProjectService()
        self.test_config = ConfigParser()
        self.test_config.read(afs.CONFIG.setup)
        self.ProjectName = self.test_config.get("ProjectService", "ProjectName")
        self.ProjectDescription = self.test_config.get("ProjectService", "ProjectDescription")
        self.ProjectServerPart = tuple(self.test_config.get("ProjectService", "ServerPart").split(","))
        sys.stderr.write("ProjectName: %s\n" % self.ProjectName)
        if self.PrjMng.get_project_by_name(self.ProjectName) != None :
            sys.stderr.write("Test-project of name already exists!\n")
            sys.stderr.write("cleanup the mess yourself.\n")
            sys.exit(1)
        self.Prj = self.PrjMng.create_project(self.ProjectName, self.ProjectDescription)
        return    

    @classmethod
    def tearDownClass(self) :
        """
        cleanup
        """
        sys.stderr.write("\ntearDownClass\n")
        #self.PrjMng.delete_project(self.Prj)
        return

    def test_get_project_by_name(self) :
        Prj = self.PrjMng.get_project_by_name(self.ProjectName)
        #sys.stderr.write("\nPrj=%s\n" % Prj)
        self.assertTrue( type(Prj) != type(None) )

    def test_add_remove_server_partitions(self) :
        Prj = self.PrjMng.add_server_partition(self.Prj, self.ProjectServerPart, "RW") 
        rw_serverparts, ro_serverparts = self.PrjMng.get_server_partitions(Prj)
        self.assertEqual(rw_serverparts, [self.ProjectServerPart])
        Prj = self.PrjMng.remove_server_partition(self.Prj, self.ProjectServerPart, "RW") 
        rw_serverparts, ro_serverparts = self.PrjMng.get_server_partitions(Prj)
        self.assertEqual(rw_serverparts, [])

    def test_set_remove_parent(self) :
        parent_project = self.PrjMng.create_project("parent_of_%s" % self.ProjectName, "test-parent")
        #sys.stderr.write("\nparent.db_id=%s\n" % parent_project.db_id)
        Prj = self.PrjMng.set_parent(self.Prj, parent_project)
        #sys.stderr.write("\nparent_db_id=%s\n" % Prj.parent_db_id)
        other_parent = self.PrjMng.get_parent(self.Prj)
        self.assertEqual(parent_project.db_id, other_parent.db_id)
        self.PrjMng.remove_parent(Prj) 
        other_parent = self.PrjMng.get_parent(self.Prj)
        self.assertEqual(other_parent, None)

    def test_add_remove_location(self) :
        Prj = self.PrjMng.add_location(self.Prj, self.ProjectName, "RW")   
        self.assertEqual(Prj.rw_locations, [self.ProjectName])
        Prj = self.PrjMng.remove_location(Prj, self.ProjectName, "RW")
        self.assertEqual(Prj.rw_locations, [])

    def test_set_owner(self) :
        Prj = self.PrjMng.set_owner(self.Prj, self.ProjectName)   
        other_prj = self.PrjMng.get_project_by_name(self.Prj.name)
        self.assertEqual(other_prj.owner, self.ProjectName)