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
///////////////////////////////////////////////
5168 dpurdie 185
//  Function:       eventTestWsh
186
//  Description:    Test that the server can send an Event via the WSH subsystem
187
//
188
function eventTestWsh()
189
{
190
    //  Show that testing has started
191
    var el = document.getElementById("eventTestWsh");
192
    el.innerHTML = 'Sending';
193
 
194
    ajaxOpr('_json_RmTests.asp',
195
            'Opr=eventTestWsh', 
196
            function(myJson){ el.innerHTML = 'Sent OK'; },
197
            function(txt){ el.innerHTML = "Test Failed:" + txt}
198
           );
199
}
200
 
201
///////////////////////////////////////////////
202
//  Function:       reportEvent
203
//  Description:    Test that the server can report and event
204
//
205
function reportEvent()
206
{
207
    //  Show that testing has started
208
    var el = document.getElementById("reportEvent");
209
    el.innerHTML = 'Reporting';
210
 
211
    ajaxOpr('_json_RmTests.asp',
212
            'Opr=reportEvent', 
213
            function(myJson){ el.innerHTML = 'Reported OK'; },
214
            function(txt){ el.innerHTML = "Test Failed:" + txt}
215
           );
216
}
217
 
218
///////////////////////////////////////////////
4482 dpurdie 219
//  Function:       emailTest   
220
//  Description:    Test that the server can send an email
221
//
222
function emailTest()
223
{
224
    //  Show that testing has started
225
    var el = document.getElementById("emailTest");
226
    el.innerHTML = 'Sending';
227
 
228
    ajaxOpr('_json_RmTests.asp',
229
            'Opr=emailTest', 
230
            function(myJson){ el.innerHTML = 'Sent OK'; },
231
            function(txt){ el.innerHTML = "Test Failed:" + txt}
232
           );
233
}
234
///////////////////////////////////////////////
235
//  Function:       emailTest1   
236
//  Description:    Test that the server can send an email with an attachment
237
//
238
function emailTest1()
239
{
240
    //  Show that testing has started
241
    var el = document.getElementById("emailTest1");
242
    el.innerHTML = 'Sending';
243
 
244
    ajaxOpr('_json_RmTests.asp',
245
            'Opr=emailTest&Mode=Attach', 
246
            function(myJson){ el.innerHTML = 'Sent OK'; },
247
            function(txt){ el.innerHTML = "Test Failed:" + txt}
248
           );
249
}
250
 
251
///////////////////////////////////////////////
252
//  Function:       emailTest2
253
//  Description:    Test that the server can send an email from a WSH script
254
//
255
function emailTest2()
256
{
257
    //  Show that testing has started
258
    var el = document.getElementById("emailTest2");
259
    el.innerHTML = 'Sending';
260
 
261
    ajaxOpr('_json_RmTests.asp',
262
            'Opr=emailWshTest', 
263
            function(myJson){ el.innerHTML = 'Sent OK'; },
264
            function(txt){ el.innerHTML = "Test Failed:" + txt}
265
           );
266
}
267
 
268
///////////////////////////////////////////////
5097 dpurdie 269
//  Function:       ddpTest
270
//  Description:    
271
//
272
function ddpTest()
273
{
274
    //  Show that testing has started
275
    var el = document.getElementById("ddpTest");
276
    el.innerHTML = 'Sending';
277
 
278
    ajaxOpr('_json_RmTests.asp',
279
            'Opr=ddpTest', 
280
            function(myJson){ el.innerHTML = 'Sent OK'; },
5168 dpurdie 281
            function(txt){ el.innerHTML = 'Test Failed:' + txt}
5097 dpurdie 282
           );
283
}
284
 
285
///////////////////////////////////////////////
4482 dpurdie 286
//  Function:       remExec
287
//  Description:    Test Remote Execution (Wsh)
288
//
289
function remExec()
290
{
291
    //  Show that testing has started
292
    var el = document.getElementById("remExec");
293
    el.innerHTML = 'Testing';
294
 
295
    ajaxOpr('_json_RmTests.asp',
296
            'Opr=remExecTest', 
297
            function(myJson){ el.innerHTML = 'Test OK'; },
298
            function(txt){ el.innerHTML = "Test Failed:" + txt}
299
           );
300
}
301
 
302
///////////////////////////////////////////////
303
//  Function:       pkgAccess
304
//  Description:    Test Remote Execution (Wsh)
305
//
306
function pkgAccess()
307
{
308
    //  Show that testing has started
309
    var el = document.getElementById("pkgAccess");
310
    el.innerHTML = 'Testing';
311
 
312
    ajaxOpr('_json_RmTests.asp',
313
            'Opr=pkgAccessTest', 
314
            function(myJson){ el.innerHTML = 'Test OK'; },
315
            function(txt){ el.innerHTML = "Test Failed:" + txt}
316
           );
317
}
318
 
4240 dpurdie 319
</script>
3610 dpurdie 320
<html>
321
<head>
322
 
323
<title>Admin Test Page</title>
324
 
325
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
326
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
327
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
328
<link rel="stylesheet" href="images/navigation.css" type="text/css">
329
<script language="JavaScript" src="images/common.js"></script>
330
<!-- DROPDOWN MENUS -->
331
<!--#include file="_menu_def.asp"-->
332
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
4399 dpurdie 333
<!-- StyleSheet Extensions -->
334
<style>
335
.pagebody {margin-left:auto; margin-right:auto; width:50%;border-width: 0px;border-spacing: 2px; background-color: rgb(255, 204, 0)}
336
.pagebody td{white-space:nowrap;vertical-align: top;text-align: left;padding-left: 3px;padding-right: 3px; background: #f2f0e4}
337
.tablehdr td{background-color: rgb(255, 204, 0)}
338
</style>
3610 dpurdie 339
</head>
340
 
341
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" >
342
<!-- MENU LAYERS -------------------------------------->
343
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
344
</div>
345
<!-- TIPS LAYERS -------------------------------------->
346
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
347
<!-- HEADER -->
348
<!--#include file="_header.asp"-->
4399 dpurdie 349
<p>
350
<!-- Body of the page -->
351
<table class="pagebody">
352
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
353
   <tr class="body_col tablehdr">
354
      <td>Test</td>
355
      <td>Result</td>
356
   </tr>
3610 dpurdie 357
 
4399 dpurdie 358
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
359
   <tr class="body_row">
360
      <td>User ID</td>
361
      <td><%=objAccessControl.UserId%></td>
3610 dpurdie 362
   </tr>
4399 dpurdie 363
   <tr class="body_row">
364
      <td>User Name</td>
365
      <td><%=objAccessControl.UserName%></td>
366
   </tr>
367
   <tr class="body_row">
368
      <td>User Email</td>
369
      <td><%=objAccessControl.UserEmail%></td>
370
   </tr>
3610 dpurdie 371
 
4399 dpurdie 372
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
373
   <tr class="body_row">
374
      <td>DataBase Name</td>
375
      <td><%=OraDatabase.DatabaseName%></td>
376
   </tr>
4028 dpurdie 377
 
4399 dpurdie 378
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
379
   <tr class="body_row">
380
      <td>Archive Server</td>
381
      <td><%=archive_server%></td>
382
   </tr>
3611 dpurdie 383
 
4399 dpurdie 384
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
385
   <tr class="body_row">
4710 dpurdie 386
      <td>Archive Root: <%=dpkg_archiveURL%></td>
4617 dpurdie 387
      <td><%=dpkgArchiveAvailable%></td>
388
   </tr>
389
 
390
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
391
   <tr class="body_row">
4399 dpurdie 392
      <td>Package Archive Access - Map File System</td>
4482 dpurdie 393
      <td><%=makeAjaxButton("Test", "pkgAccess")%></td>
4399 dpurdie 394
   </tr>
3610 dpurdie 395
 
4399 dpurdie 396
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
397
   <tr class="body_row">
398
      <td>Package Archive Access - Remote cmd execution</td>
4482 dpurdie 399
      <td><%=makeAjaxButton("Test", "remExec")%></td>
4399 dpurdie 400
   </tr>
3959 dpurdie 401
 
4399 dpurdie 402
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
403
   <tr class="body_row">
404
   <%
405
       Dim sKey1, sKey2, sValue1, sValue2, kFragment
406
       kFragment = "rsa2@22:" & archive_server
407
       sKey1 = "HKEY_USERS\S-1-5-20\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
408
       sKey2 = "HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys\" & kFragment
409
       sValue1 = testFromRegistry(sKey1)
410
       sValue2 = testFromRegistry(sKey2)
411
   %>
412
      <td>Plink Key [<%=sKey1%>]</td>
413
      <td><%=sValue1%></td>
414
   </tr>
415
   <tr class="body_row">
416
      <td>Plink Key [<%=sKey2%>]</td>
417
      <td><%=sValue2%></td>
418
   </tr>
419
 
420
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
421
   <tr class="body_row">
4477 dpurdie 422
     <td>Zip File</td>
423
     <td><%=makeAjaxButton("Test", "zipTest")%></td>
424
   </tr>
425
 
426
  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
427
   <tr class="body_row">
4399 dpurdie 428
      <td>Email Server</td>
429
      <td><%=MAIL_SERVER%></td>
430
   </tr>
431
   <tr class="body_row">
432
      <td>Admin Email</td>
433
      <td><%=adminEmail%></td>
434
   </tr>
435
   <tr class="body_row">
5168 dpurdie 436
      <td>Fault Email List</td>
437
      <td><%=FAULT_EMAIL_LIST%></td>
438
   </tr>
439
   <tr class="body_row">
4399 dpurdie 440
      <td>Send Email</td>
4482 dpurdie 441
      <td><%=makeAjaxButton("eMail", "emailTest")%></td>
4399 dpurdie 442
   </tr>
443
   <tr class="body_row">
444
      <td>Send Email With attachment</td>
4482 dpurdie 445
      <td><%=makeAjaxButton("eMail", "emailTest1")%></td>
4399 dpurdie 446
   </tr>
447
   <tr class="body_row">
448
     <td>Send Email from WSH script</td>
4482 dpurdie 449
     <td><%=makeAjaxButton("eMail", "emailTest2")%></td>
4399 dpurdie 450
   </tr>
4246 dpurdie 451
 
4399 dpurdie 452
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
453
   <tr class="body_row">
454
    <td>Generate error event</td>
4482 dpurdie 455
    <td><%=makeAjaxButton("Event", "eventTest")%></td>
4399 dpurdie 456
   </tr>
3611 dpurdie 457
 
5168 dpurdie 458
   <tr class="body_row">
459
    <td>Generate error event via WSH script</td>
460
    <td><%=makeAjaxButton("Event", "eventTestWsh")%></td>
461
   </tr>
462
 
463
   <tr class="body_row">
464
    <td>Report Event</td>
465
    <td><%=makeAjaxButton("Report", "reportEvent")%></td>
466
   </tr>
467
 
4399 dpurdie 468
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
469
   <tr class="body_row">
470
      <td>Jira Server</td>
471
      <td><%=JIRA_URL%></td>
472
   </tr>
473
   <tr class="body_row">
474
      <td>Jira Test</td>
475
      <td><%=makeAjaxButton("Test", "jiraTest")%></td>
476
   </tr>
4246 dpurdie 477
 
5097 dpurdie 478
   <tr class="body_row">
479
     <td>DDP TESTING</td>
480
     <td><%=makeAjaxButton("ddpTest", "ddpTest")%></td>
481
   </tr>
482
 
483
 
4399 dpurdie 484
   <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
485
   <tr class="body_col tablehdr">
486
      <td>End of Tests</td>
487
      <td><a class="form_btn" href="admin_build_test_page.asp" title="Refresh Page">Refresh</a></td>
488
   </tr>
489
 
490
</table>
491
<input type="hidden" name="action" value="true">
492
<p>
3610 dpurdie 493
</body>
494
</html>
495
<!-- FOOTER -->
496
<!--#include file="_footer.asp"-->
497
<%
498
Call Destroy_All_Objects
499
%>