mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Christophe Sovant
30.56.2007 df64d0921c0af34bb4b81e14114718f95885a697
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/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 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 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.xslTemplate = TransformerFactory.newInstance().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)