#!/usr/bin/python # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # You can obtain a copy of the license at # trunk/opends/resource/legal-notices/OpenDS.LICENSE # or https://OpenDS.dev.java.net/OpenDS.LICENSE. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at # trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, # add the following below this CDDL HEADER, with the fields enclosed # information: # Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Portions Copyright 2007-2008 Sun Microsystems, Inc. __version__ = "$Revision$" # $Source$ # public symbols __all__ = [ "format_testcase", "directory_server_information", "test_time", "report_generation" ] class format_testcase: 'Format the Test name objects' def group(self,string): self.group=string.lower() self.group=self.group.strip() return '%s' % self.group def suite(self,string): self.suite=string.lower() self.suite=self.suite.strip() self.suite=self.suite.replace(' ','-') return '%s' % self.suite def name(self,string): self.name=string.strip() self.name=self.name.replace(' ','-') return '%s' % self.name class directory_server_information: 'Container for Information about Directory Servers' def __init__(self): self.line='' self.key='' self.value='' self.VersionList=[] self.SystemList=[] self.ServerDict={} self.SystemDict={} def getServerVersion(self,string): return string.replace("OpenDS Directory Server ","") def getServerBuildId(self,string): return string.replace("Build ","") def getServerOSName(self,string): return string[0:string.find(' ')].strip() def getServerArch(self,string): return string[string.rfind(' ') +1:len(string)].strip() def getServerJavaMajorMinor(self,string): return string[0:string.rfind('.')] def getServerValueFromString(self,string): return string[string.find(':') +1:len(string)].strip() def getServerValueFromKey(self,string,result): return result[string] class test_time: 'Simple time related manipulation objects' def __init__(self): self.seconds=0 self.minutes=0 self.hours=0 def timeToSeconds(self,clocktime): self.hours,self.minutes,self.seconds=clocktime.split(':') return int(self.hours)*7200+int(self.minutes)*60+int(self.seconds) class basic_utils: 'Some simple basic utilities' def printKey(self,keypair): self.key=keypair.keys()[0] return self.key def printKeyValue(self,keypair): self.key=keypair.keys()[0] self.keyvalue=keypair[self.key] return self.keyvalue class report_generation: 'Test Report Generation' def transformReport(self,stylesheet,xml,output): from java.io import FileInputStream from java.io import FileOutputStream from java.io import ByteArrayOutputStream from javax.xml.transform import TransformerFactory from javax.xml.transform.stream import StreamSource from javax.xml.transform.stream import StreamResult self.xslSource = StreamSource(FileInputStream("%s" % stylesheet)) self.tfactory = TransformerFactory.newInstance() self.xslTemplate = self.tfactory.newTemplates(self.xslSource) self.transformer = self.xslTemplate.newTransformer() self.source = StreamSource(FileInputStream("%s" % xml)) self.result = StreamResult(FileOutputStream("%s" % output)) self.transformer.transform(self.source, self.result) def transformSuitesReport(self,stylesheet,xml,output,params): from java.io import FileInputStream from java.io import FileOutputStream from java.io import ByteArrayOutputStream from javax.xml.transform import TransformerFactory from javax.xml.transform.stream import StreamSource from javax.xml.transform.stream import StreamResult self.xslSource = StreamSource(FileInputStream("%s" % stylesheet)) self.tfactory = TransformerFactory.newInstance() self.xslTemplate = self.tfactory.newTemplates(self.xslSource) self.transformer = self.xslTemplate.newTransformer() self.source = StreamSource(FileInputStream("%s" % xml)) self.result = StreamResult(FileOutputStream("%s" % output)) self.myAttr = basic_utils().printKey(params) self.myValue = basic_utils().printKeyValue(params) self.transformer.setParameter(self.myAttr, self.myValue) self.transformer.transform(self.source, self.result)