def __init__(self,url,username,token):
     """ init of functional testing
     @param url: base url of jenkins instance
     @param username: String username
     @param token: String token to login  
     """
     self.url      = url
     self.username = username
     self.token    = token
     self.job      = Actions(self.url,self.username,self.token)
class Functional(object):
    ''' All functional testing is performed here
    '''
    def __init__(self,url,username,token):
        """ init of functional testing
        @param url: base url of jenkins instance
        @param username: String username
        @param token: String token to login  
        """
        self.url      = url
        self.username = username
        self.token    = token
        self.job      = Actions(self.url,self.username,self.token)
          
    def _job_lifecycle(self,file_path,job_name,parameters):
        """ Performs Creation, Start, Run Status and Deletion of jenkins job
        @param file_path: String, path to config.xml job to be tested
        @param job_name: String, name of the job to init
        @param parameters: Dict, list of parameters to init with job   
        """
        job_info = {}
        create = self.job.create_from(file_path, job_name)
        start  = self.job.start(job_name, parameters)
        time.sleep(3)
        status = self.job.build_latest_result(job_name)
        time.sleep(5)
        delete = self.job.delete(job_name)
        return [{"create":create},{"start":start},{"status":status},{"delete":delete}]
        
    def svn_checkout_master(self):
        """ Creates a svn job which checks out a code using Jenkins master node
        """
        file_path = 'tests/configs/svn_checkout_master.xml'
        job_name  = 'svn_checkout_master'
        parameters= {}
        output = self._job_lifecycle(file_path, job_name, parameters)
        print "[svn_checkout_master]"
        for test in output:
            print test