Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3610 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|                ADMIN Page                         |
6
'|               Build Service                       |
7
'|                                                   |
8
'=====================================================
9
%>
10
<%
11
Option explicit
12
' Good idea to set when using redirect
13
Response.Expires = 0   ' always load the page, dont store
14
%>
15
<!--#include file="common/conf.asp"-->
16
<!--#include file="common/globals.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
 
20
<%
21
'------------ ACCESS CONTROL ------------------
22
%>
23
<!--#include file="_access_control_general.asp"-->
24
<%
25
'------------ Variable Definition -------------
4028 dpurdie 26
Dim active
4617 dpurdie 27
Dim FileSystemObject
28
Dim dpkgArchiveAvailable
4028 dpurdie 29
 
3610 dpurdie 30
'------------ Constants Declaration -----------
31
'------------ Variable Init -------------------
5061 dpurdie 32
active = canActionControl("ConfigureBuildService")
4028 dpurdie 33
 
4617 dpurdie 34
'   Determine if dpkg_archive can be accessed directly via a UNC
4710 dpurdie 35
If testArchiveAccessPkg("","") Then
4617 dpurdie 36
    dpkgArchiveAvailable = "Exists" 
37
Else
38
    dpkgArchiveAvailable = "Not Accessible" 
39
End If
40
 
3610 dpurdie 41
'----------------------------------------------
3959 dpurdie 42
function testFromRegistry (strRegistryKey )
43
    Dim WSHShell, value
44
 
45
    On Error Resume Next
46
    Set WSHShell = CreateObject("WScript.Shell")
47
    value = WSHShell.RegRead( strRegistryKey )
48
 
49
    testFromRegistry = NOT (err.number <> 0)
50
 
51
    set WSHShell = nothing
4028 dpurdie 52
end function
53
 
4240 dpurdie 54
Function makeAjaxButton( text, script )
55
    If active Then
4246 dpurdie 56
        makeAjaxButton = "&nbsp;&nbsp;<a id="""&script &""" href="""" class=""form_btn"" title=""" &text& """ onclick="""&script&"();return false;"">"&text&"</a>"
4240 dpurdie 57
    Else
4246 dpurdie 58
        makeAjaxButton = "&nbsp;&nbsp;<a class=""form_btn_disabled"" title=""" &text& """>"&text&"</a>"
4240 dpurdie 59
    End If
60
End Function
3610 dpurdie 61
%>
4240 dpurdie 62
<script type="text/javascript" src="scripts/json2.js"></script>
63
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
64
<script type="text/javascript" charset="utf-8">
65
///////////////////////////////////////////////
66
//  Function:    ajaxOpr
67
//  Description: Perform an ajax operation
4477 dpurdie 68
//  Args       :    prog        - Progam to invoke
69
//                  args        - Part of URL to pass to script
4240 dpurdie 70
//                  callback    - Callback on success
71
//                  ecall       - Callback on error            
72
//
4477 dpurdie 73
function ajaxOpr(prog, args, callback, ecall)
4240 dpurdie 74
{
4482 dpurdie 75
    var xmlHttp 
76
    xmlHttp=GetXmlHttpObject(function(){ ajaxOprCallback(xmlHttp,callback, ecall);});
4240 dpurdie 77
    if (xmlHttp==null)
78
    {
79
      alert ("Your browser does not support AJAX!");
80
      return;
81
    }
3610 dpurdie 82
 
4477 dpurdie 83
    var url = prog + "?" + args;
4240 dpurdie 84
 
85
    // Use async request, otherwise the spinner will not work
86
    xmlHttp.open("GET",url,true);  // `false` makes the request synchronous
87
    xmlHttp.send(null);
88
}
89
///////////////////////////////////////////////
90
//  Function:    ajaxOprCallback
91
//  Description: Perform an Ajax operation generic error handling
4482 dpurdie 92
//  Args       :    xmlHttp  - Ajax Object
93
//                  callback - Function to process json results
94
//                             Json has been decoded and is a javascript object
95
//                             Handle errors for the user
96
//                  ecall    - Function called on error. 
97
//                             User should indicate failure
98
//                             This function will issue an alert for the caller
4240 dpurdie 99
//
4482 dpurdie 100
function ajaxOprCallback(xmlHttp,callback, ecall)
4240 dpurdie 101
{
102
    //readyState of 4 or 'complete' represents that data has been returned
103
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
104
    {
105
        // alert("Got to getAllProjectKeysDone"+ xmlHttp.responseText);
106
        if (xmlHttp.status !== 200) {
107
            ecall('Bad Status');
108
            alert("Internal AJAX error: " + xmlHttp.status);
109
        }
110
        else
111
        {
112
            // Gather the results from the callback
113
            var str = xmlHttp.responseText;
114
            try {
115
                var myJson = JSON.parse(str);
116
                //alert("ajaxOprCallback:" + str);
117
                if (myJson.result != 0) {
118
                    ecall('Error');
119
                    alert("AJAX request error: " + myJson.emsgSummary);
120
                }
121
                else {
122
                    callback(myJson);
123
                }
124
            }
125
            catch(e) {
4477 dpurdie 126
                ecall('Error');
127
                alert("JSON Parse Error: " + e);
4240 dpurdie 128
            }
129
        }
130
    }
131
}
132
 
133
///////////////////////////////////////////////
134
//  Function:       jiraTest   
135
//  Description:    Get the list of projects from the Jira Server
136
//
137
function jiraTest()
138
{
139
    //  Show that testing has started
140
    var el = document.getElementById("jiraTest");
4399 dpurdie 141
    el.innerHTML = 'Testing';
4240 dpurdie 142
 
4477 dpurdie 143
    ajaxOpr('_json_jiraIssues.asp',
144
            'Opr=getAllKeys', 
4399 dpurdie 145
            function(myJson){ el.innerHTML = 'Test OK'; },
146
            function(txt){ el.innerHTML = "Test Failed:" + txt}
4240 dpurdie 147
           );
148
}
4477 dpurdie 149
 
150
///////////////////////////////////////////////
151
//  Function:       zipTest   
152
//  Description:    Test that the server can ZIP a file
153
//
154
function zipTest()
155
{
156
    //  Show that testing has started
157
    var el = document.getElementById("zipTest");
158
    el.innerHTML = 'Testing';
159
 
160
    ajaxOpr('_json_RmTests.asp',
161
            'Opr=zipTest', 
162
            function(myJson){ el.innerHTML = 'Test OK'; },
163
            function(txt){ el.innerHTML = "Test Failed:" + txt}
164
           );
165
}
166
 
4482 dpurdie 167
///////////////////////////////////////////////
168
//  Function:       eventTest   
169
//  Description:    Test that the server can send an Event
170
//
171
function eventTest()
172
{
173
    //  Show that testing has started
174
    var el = document.getElementById("eventTest");
175
    el.innerHTML = 'Sending';
4477 dpurdie 176
 
4482 dpurdie 177
    ajaxOpr('_json_RmTests.asp',
178
            'Opr=eventTest', 
179
            function(myJson){ el.innerHTML = 'Sent OK'; },
180
            function(txt){ el.innerHTML = "Test Failed:" + txt}
181
           );
182
}
183
 
184
///////////////////////////////////////////////
185
//  Function:       emailTest   
186
//  Description:    Test that the server can send an email
187
//
188
function emailTest()
189
{
190
    //  Show that testing has started
191
    var el = document.getElementById("emailTest");
192
    el.innerHTML = 'Sending';
193
 
194
    ajaxOpr('_json_RmTests.asp',
195
            'Opr=emailTest', 
196
            function(myJson){ el.innerHTML = 'Sent OK'; },
197
            function(txt){ el.innerHTML = "Test Failed:" + txt}
198
           );
199
}
200
///////////////////////////////////////////////
201
//  Function:       emailTest1   
202
//  Description:    Test that the server can send an email with an attachment
203
//
204
function emailTest1()
205
{
206
    //  Show that testing has started
207
    var el = document.getElementById("emailTest1");
208
    el.innerHTML = 'Sending';
209
 
210
    ajaxOpr('_json_RmTests.asp',
211
            'Opr=emailTest&Mode=Attach', 
212
            function(myJson){ el.innerHTML = 'Sent OK'; },
213
            function(txt){ el.innerHTML = "Test Failed:" + txt}
214
           );
215
}
216
 
217
///////////////////////////////////////////////
218
//  Function:       emailTest2
219
//  Description:    Test that the server can send an email from a WSH script
220
//
221
function emailTest2()
222
{
223
    //  Show that testing has started
224
    var el = document.getElementById("emailTest2");
225
    el.innerHTML = 'Sending';
226
 
227
    ajaxOpr('_json_RmTests.asp',
228
            'Opr=emailWshTest', 
229
            function(myJson){ el.innerHTML = 'Sent OK'; },
230
            function(txt){ el.innerHTML = "Test Failed:" + txt}
231
           );
232
}
233
 
234
///////////////////////////////////////////////
5097 dpurdie 235
//  Function:       ddpTest
236
//  Description:    
237
//
238
function ddpTest()
239
{
240
    //  Show that testing has started
241
    var el = document.getElementById("ddpTest");
242
    el.innerHTML = 'Sending';
243
 
244
    ajaxOpr('_json_RmTests.asp',
245
            'Opr=ddpTest', 
246
            function(myJson){ el.innerHTML = 'Sent OK'; },
247
            function(txt){ el.innerHTML = "Test Failed:" + txt}
248
           );
249
}
250
 
251
 
252
///////////////////////////////////////////////
4482 dpurdie 253
//  Function:       remExec
254
//  Description:    Test Remote Execution (Wsh)
255
//
256
function remExec()
257
{
258
    //  Show that testing has started
259
    var el = document.getElementById("remExec");
260
    el.innerHTML = 'Testing';
261
 
262
    ajaxOpr('_json_RmTests.asp',
263
            'Opr=remExecTest', 
264
            function(myJson){ el.innerHTML = 'Test OK'; },
265
            function(txt){ el.innerHTML = "Test Failed:" + txt}
266
           );
267
}
268
 
269
///////////////////////////////////////////////
270
//  Function:       pkgAccess
271
//  Description:    Test Remote Execution (Wsh)
272
//
273
function pkgAccess()
274
{
275
    //  Show that testing has started
276
    var el = document.getElementById("pkgAccess");
277
    el.innerHTML = 'Testing';
278
 
279
    ajaxOpr('_json_RmTests.asp',
280
            'Opr=pkgAccessTest', 
281
            function(myJson){ el.innerHTML = 'Test OK'; },
282
            function(txt){ el.innerHTML = "Test Failed:" + txt}
283
           );
284
}
285
 
4240 dpurdie 286
</script>
3610 dpurdie 287
<html>
288
<head>
289
 
290
<title>Admin Test Page</title>
291
 
292
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
293
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
294
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
295
<link rel="stylesheet" href="images/navigation.css" type="text/css">
296
<script language="JavaScript" src="images/common.js"></script>
297
<!-- DROPDOWN MENUS -->
298
<!--#include file="_menu_def.asp"-->
299
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
4399 dpurdie 300
<!-- StyleSheet Extensions -->
301
<style>
302
.pagebody {margin-left:auto; margin-right:auto; width:50%;border-width: 0px;border-spacing: 2px; background-color: rgb(255, 204, 0)}
303
.pagebody td{white-space:nowrap;vertical-align: top;text-align: left;padding-left: 3px;padding-right: 3px; background: #f2f0e4}
304
.tablehdr td{background-color: rgb(255, 204, 0)}
305
</style>
3610 dpurdie 306
</head>
307
 
308
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
309
<!-- MENU LAYERS -------------------------------------->
310
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
311
</div>
312
<!-- TIPS LAYERS -------------------------------------->
313
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
314
<!-- HEADER -->
315
<!--#include file="_header.asp"-->
4399 dpurdie 316
<p>
317
<!-- Body of the page -->
318
<table class="pagebody">
319
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
320
   <tr class="body_col tablehdr">
321
      <td>Test</td>
322
      <td>Result</td>
323
   </tr>
3610 dpurdie 324
 
4399 dpurdie 325
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
326
   <tr class="body_row">
327
      <td>User ID</td>
328
      <td><%=objAccessControl.UserId%></td>
3610 dpurdie 329
   </tr>
4399 dpurdie 330
   <tr class="body_row">
331
      <td>User Name</td>
332
      <td><%=objAccessControl.UserName%></td>
333
   </tr>
334
   <tr class="body_row">
335
      <td>User Email</td>
336
      <td><%=objAccessControl.UserEmail%></td>
337
   </tr>
3610 dpurdie 338
 
4399 dpurdie 339
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
340
   <tr class="body_row">
341
      <td>DataBase Name</td>
342
      <td><%=OraDatabase.DatabaseName%></td>
343
   </tr>
4028 dpurdie 344
 
4399 dpurdie 345
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
346
   <tr class="body_row">
347
      <td>Archive Server</td>
348
      <td><%=archive_server%></td>
349
   </tr>
3611 dpurdie 350
 
4399 dpurdie 351
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
352
   <tr class="body_row">
4710 dpurdie 353
      <td>Archive Root: <%=dpkg_archiveURL%></td>
4617 dpurdie 354
      <td><%=dpkgArchiveAvailable%></td>
355
   </tr>
356
 
357
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
358
   <tr class="body_row">
4399 dpurdie 359
      <td>Package Archive Access - Map File System</td>
4482 dpurdie 360
      <td><%=makeAjaxButton("Test", "pkgAccess")%></td>
4399 dpurdie 361
   </tr>
3610 dpurdie 362
 
4399 dpurdie 363
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
364
   <tr class="body_row">
365
      <td>Package Archive Access - Remote cmd execution</td>
4482 dpurdie 366
      <td><%=makeAjaxButton("Test", "remExec")%></td>
4399 dpurdie 367
   </tr>
3959 dpurdie 368
 
4399 dpurdie 369
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
370
   <tr class="body_row">
371
   <%
372
       Dim sKey1, sKey2, sValue1, sValue2, kFragment
373
       kFragment = "rsa2@22:" & archive_server
374
       sKey1 = "HKEY_USERS\S-1-5-20\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
375
       sKey2 = "HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
376
       sValue1 = testFromRegistry(sKey1)
377
       sValue2 = testFromRegistry(sKey2)
378
   %>
379
      <td>Plink Key [<%=sKey1%>]</td>
380
      <td><%=sValue1%></td>
381
   </tr>
382
   <tr class="body_row">
383
      <td>Plink Key [<%=sKey2%>]</td>
384
      <td><%=sValue2%></td>
385
   </tr>
386
 
387
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
388
   <tr class="body_row">
4477 dpurdie 389
     <td>Zip File</td>
390
     <td><%=makeAjaxButton("Test", "zipTest")%></td>
391
   </tr>
392
 
393
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
394
   <tr class="body_row">
4399 dpurdie 395
      <td>Email Server</td>
396
      <td><%=MAIL_SERVER%></td>
397
   </tr>
398
   <tr class="body_row">
399
      <td>Admin Email</td>
400
      <td><%=adminEmail%></td>
401
   </tr>
402
   <tr class="body_row">
403
      <td>Send Email</td>
4482 dpurdie 404
      <td><%=makeAjaxButton("eMail", "emailTest")%></td>
4399 dpurdie 405
   </tr>
406
   <tr class="body_row">
407
      <td>Send Email With attachment</td>
4482 dpurdie 408
      <td><%=makeAjaxButton("eMail", "emailTest1")%></td>
4399 dpurdie 409
   </tr>
410
   <tr class="body_row">
411
     <td>Send Email from WSH script</td>
4482 dpurdie 412
     <td><%=makeAjaxButton("eMail", "emailTest2")%></td>
4399 dpurdie 413
   </tr>
4246 dpurdie 414
 
4399 dpurdie 415
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
416
   <tr class="body_row">
417
    <td>Generate error event</td>
4482 dpurdie 418
    <td><%=makeAjaxButton("Event", "eventTest")%></td>
4399 dpurdie 419
   </tr>
3611 dpurdie 420
 
4399 dpurdie 421
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
422
   <tr class="body_row">
423
      <td>Jira Server</td>
424
      <td><%=JIRA_URL%></td>
425
   </tr>
426
   <tr class="body_row">
427
      <td>Jira Test</td>
428
      <td><%=makeAjaxButton("Test", "jiraTest")%></td>
429
   </tr>
4246 dpurdie 430
 
5097 dpurdie 431
   <tr class="body_row">
432
     <td>DDP TESTING</td>
433
     <td><%=makeAjaxButton("ddpTest", "ddpTest")%></td>
434
   </tr>
435
 
436
 
4399 dpurdie 437
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
438
   <tr class="body_col tablehdr">
439
      <td>End of Tests</td>
440
      <td><a class="form_btn" href="admin_build_test_page.asp" title="Refresh Page">Refresh</a></td>
441
   </tr>
442
 
443
</table>
444
<input type="hidden" name="action" value="true">
445
<p>
3610 dpurdie 446
</body>
447
</html>
448
<!-- FOOTER -->
449
<!--#include file="_footer.asp"-->
450
<%
451
Call Destroy_All_Objects
452
%>