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

neil_a_wilson
16.44.2006 cf77becb4893685f0dd67e76724aa366b6d8f039
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
/*
 * 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
 * by brackets "[]" replaced with your own identifying * information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 */
package org.opends.server;
 
import java.io.*;
import junit.framework.*;
 
 
/**
 * This class defines a base JUnit test case that should be subclassed by all
 * acceptance tests used by the Directory Server.  The primary benefit that it adds is
 * the ability to print error messages and automatically have them include the
 * class name.
 */
public abstract class DirectoryServerAcceptanceTestCase
       extends TestCase
{
  //general variables for all functional tests
  public String dsee_home = "/tmp/OpenDS-0.1";
  public String hostname = "auseng036";
  public String port = "389";
  public String sport = "636";
  public String bindDN = "cn=Directory Manager";
  public String bindPW = "password";
  public String acceptance_test_home = "/export00/dsee7/src/openDS/trunk/opends/tests/integration-tests/src/server/org/opends/server//acceptance";
  public String jks_certdir = acceptance_test_home + "/ssl/jks/certs/server";
  public String jks_certdb = acceptance_test_home + "/ssl/jks/certs/client/" + hostname + "/certdb";
 
  // Object that extends Thread class to start and stop the Directory Server
  DirectoryServerAcceptanceAdmin dsAdmin = null;
 
  // The print stream to use for printing error messages.
  private PrintStream errorStream;
 
  /**
   * Creates a new instance of this JUnit test case with the provided name.
   *
   * @param  name  The name to use for this JUnit test case.
   */
  public DirectoryServerAcceptanceTestCase(String name)
  {
    super(name);
 
    errorStream = System.err;
  }
 
 
 
  /**
   * Prints the provided message to the error stream, prepending the
   * fully-qualified class name.
   *
   * @param  message  The message to be printed to the error stream.
   */
  public void printError(String message)
  {
    errorStream.print(getClass().getName());
    errorStream.print(" -- ");
    errorStream.println(message);
  }
 
 
 
  /**
   * Prints the stack trace for the provided exception to the error stream.
   *
   * @param  exception  The exception to be printed to the error stream.
   */
  public void printException(Throwable exception)
  {
    exception.printStackTrace(errorStream);
  }
 
 
 
  /**
   * Specifies the error stream to which messages will be printed.
   *
   * @param  errorStream  The error stream to which messages will be printed.
   */
  public void setErrorStream(PrintStream errorStream)
  {
    this.errorStream = errorStream;
  }
 
  public String cmdArrayToString(String cmd[])
  {
    String outStr = cmd[0];
    for(int i = 1; i < cmd.length; i++)
    {
      outStr = outStr + " " + cmd[i];
    }
 
    return outStr;
  }
 
  public void compareExitCode(int retCode, int expCode)
  { 
    if (retCode == expCode )
    {
      System.out.println("PASS");
    }
    else
    {
      System.out.println("FAIL" + " - Return code is " + Integer.toString(retCode) + ", expecting " + Integer.toString(expCode));
      fail("Return code is " + Integer.toString(retCode) + ", expecting " + Integer.toString(expCode) + " - FAIL");
    }
  }
 
  public void startDirectoryServer() throws Exception
  {
    dsAdmin = new DirectoryServerAcceptanceAdmin(dsee_home);
 
    System.out.println("OpenDS is starting.....");
    dsAdmin.start();
    dsAdmin.sleep(20000);
    System.out.println("OpenDS has started.");
  }
 
  public void stopDirectoryServer() throws Exception
  {
    if(dsAdmin == null)
    {
      dsAdmin = new DirectoryServerAcceptanceAdmin(dsee_home);
    }
 
    System.out.println("OpenDS is stopping.....");
    dsAdmin.stopDS();
    dsAdmin.sleep(20000);
    System.out.println("OpenDS has stopped.");
 
    dsAdmin = null;
  }
 
  public void prepDBEnv() throws Exception
  {
    DirectoryServerAcceptanceAdmin.prepEnv(dsee_home);
  }
 
  public void undoDBEnv() throws Exception
  {
    DirectoryServerAcceptanceAdmin.undoEnv();
  }
 
}