mu 5.7.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Mu_Gem.html +1591 -0
- data/bin/mu +11 -0
- data/lib/mu.rb +65 -0
- data/lib/mu/api/ddt.rb +233 -0
- data/lib/mu/api/homepage.rb +54 -0
- data/lib/mu/api/muapi.rb +231 -0
- data/lib/mu/api/netconfig.rb +233 -0
- data/lib/mu/api/scale.rb +199 -0
- data/lib/mu/api/system.rb +40 -0
- data/lib/mu/client.rb +31 -0
- data/lib/mu/command.rb +28 -0
- data/lib/mu/command/api.rb +95 -0
- data/lib/mu/command/cmd_appid.rb +486 -0
- data/lib/mu/command/cmd_cli.rb +151 -0
- data/lib/mu/command/cmd_ddt.rb +449 -0
- data/lib/mu/command/cmd_homepage.rb +146 -0
- data/lib/mu/command/cmd_muapi.rb +361 -0
- data/lib/mu/command/cmd_netconfig.rb +262 -0
- data/lib/mu/command/cmd_runscale.rb +533 -0
- data/lib/mu/command/cmd_runscenario.rb +258 -0
- data/lib/mu/command/cmd_runverify.rb +336 -0
- data/lib/mu/command/cmd_scale.rb +333 -0
- data/lib/mu/command/cmd_system.rb +127 -0
- data/lib/mu/command/curl.rb +246 -0
- data/lib/mu/command/help.rb +29 -0
- data/lib/mu/curl/error.rb +54 -0
- data/lib/mu/curl/verify.rb +137 -0
- data/lib/mu/helper.rb +55 -0
- data/lib/mu/http_helper.rb +232 -0
- data/rdoc/classes/Mu.html +305 -0
- data/rdoc/classes/Mu/Client.html +265 -0
- data/rdoc/classes/Mu/Command.html +208 -0
- data/rdoc/classes/Mu/Command/API.html +524 -0
- data/rdoc/classes/Mu/Command/Cmd_appid.html +934 -0
- data/rdoc/classes/Mu/Command/Cmd_cli.html +515 -0
- data/rdoc/classes/Mu/Command/Cmd_ddt.html +1169 -0
- data/rdoc/classes/Mu/Command/Cmd_homepage.html +489 -0
- data/rdoc/classes/Mu/Command/Cmd_muapi.html +968 -0
- data/rdoc/classes/Mu/Command/Cmd_netconfig.html +743 -0
- data/rdoc/classes/Mu/Command/Cmd_runscale.html +970 -0
- data/rdoc/classes/Mu/Command/Cmd_runscenario.html +530 -0
- data/rdoc/classes/Mu/Command/Cmd_runverify.html +621 -0
- data/rdoc/classes/Mu/Command/Cmd_scale.html +939 -0
- data/rdoc/classes/Mu/Command/Cmd_system.html +426 -0
- data/rdoc/classes/Mu/Command/Curl.html +524 -0
- data/rdoc/classes/Mu/Command/Help.html +166 -0
- data/rdoc/classes/Mu/Curl.html +116 -0
- data/rdoc/classes/Mu/Curl/Error.html +157 -0
- data/rdoc/classes/Mu/Curl/Error/Authorize.html +178 -0
- data/rdoc/classes/Mu/Curl/Error/Connect.html +149 -0
- data/rdoc/classes/Mu/Curl/Error/DNS.html +113 -0
- data/rdoc/classes/Mu/Curl/Error/Region.html +160 -0
- data/rdoc/classes/Mu/Curl/Error/Status.html +149 -0
- data/rdoc/classes/Mu/Curl/Error/Timeout.html +149 -0
- data/rdoc/classes/Mu/Curl/Verify.html +282 -0
- data/rdoc/classes/Mu/Curl/Verify/Request.html +227 -0
- data/rdoc/classes/Mu/Curl/Verify/Response.html +187 -0
- data/rdoc/classes/Mu/Curl/Verify/Result.html +188 -0
- data/rdoc/classes/Mu/Ddt.html +914 -0
- data/rdoc/classes/Mu/Helper.html +308 -0
- data/rdoc/classes/Mu/Homepage.html +377 -0
- data/rdoc/classes/Mu/HttpHelper.html +639 -0
- data/rdoc/classes/Mu/Muapi.html +816 -0
- data/rdoc/classes/Mu/Netconfig.html +781 -0
- data/rdoc/classes/Mu/Scale.html +832 -0
- data/rdoc/classes/Mu/System.html +281 -0
- data/rdoc/classes/Object.html +148 -0
- data/rdoc/classes/TCTestMu.html +1793 -0
- data/rdoc/classes/Test.html +107 -0
- data/rdoc/classes/Test/Unit.html +107 -0
- data/rdoc/classes/Test/Unit/TestCase.html +113 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/lib/mu/api/ddt_rb.html +101 -0
- data/rdoc/files/lib/mu/api/homepage_rb.html +101 -0
- data/rdoc/files/lib/mu/api/muapi_rb.html +101 -0
- data/rdoc/files/lib/mu/api/netconfig_rb.html +101 -0
- data/rdoc/files/lib/mu/api/scale_rb.html +101 -0
- data/rdoc/files/lib/mu/api/system_rb.html +101 -0
- data/rdoc/files/lib/mu/client_rb.html +101 -0
- data/rdoc/files/lib/mu/command/api_rb.html +101 -0
- data/rdoc/files/lib/mu/command/cmd_appid_rb.html +119 -0
- data/rdoc/files/lib/mu/command/cmd_cli_rb.html +108 -0
- data/rdoc/files/lib/mu/command/cmd_ddt_rb.html +117 -0
- data/rdoc/files/lib/mu/command/cmd_homepage_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_muapi_rb.html +116 -0
- data/rdoc/files/lib/mu/command/cmd_netconfig_rb.html +116 -0
- data/rdoc/files/lib/mu/command/cmd_runscale_rb.html +119 -0
- data/rdoc/files/lib/mu/command/cmd_runscenario_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_runverify_rb.html +117 -0
- data/rdoc/files/lib/mu/command/cmd_scale_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_system_rb.html +116 -0
- data/rdoc/files/lib/mu/command/curl_rb.html +101 -0
- data/rdoc/files/lib/mu/command/help_rb.html +101 -0
- data/rdoc/files/lib/mu/command_rb.html +107 -0
- data/rdoc/files/lib/mu/curl/error_rb.html +101 -0
- data/rdoc/files/lib/mu/curl/verify_rb.html +101 -0
- data/rdoc/files/lib/mu/helper_rb.html +101 -0
- data/rdoc/files/lib/mu/http_helper_rb.html +101 -0
- data/rdoc/files/lib/mu_rb.html +121 -0
- data/rdoc/files/test/helper_rb.html +112 -0
- data/rdoc/files/test/tc_test_mu_rb.html +111 -0
- data/rdoc/fr_class_index.html +68 -0
- data/rdoc/fr_file_index.html +55 -0
- data/rdoc/fr_method_index.html +374 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/test/data/app_id_stats.csv +1 -0
- data/test/data/data_cgi.msl +94 -0
- data/test/data/data_cgi.xml +322 -0
- data/test/data/default_test.csv +3 -0
- data/test/data/ftp_with_channel.xml +1643 -0
- data/test/data/irc.xml +3837 -0
- data/test/data/scale_configuration.json +25 -0
- data/test/data/test_data_cgi_error.xml +35 -0
- data/test/helper.rb +18 -0
- data/test/tc_test_mu.rb +716 -0
- metadata +322 -0
data/rdoc/rdoc-style.css
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
|
2
|
+
body {
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
4
|
+
font-size: 90%;
|
5
|
+
margin: 0;
|
6
|
+
margin-left: 40px;
|
7
|
+
padding: 0;
|
8
|
+
background: white;
|
9
|
+
}
|
10
|
+
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
12
|
+
h1 { font-size: 150%; }
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
14
|
+
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
16
|
+
a:hover { background: #039; color: #eef; }
|
17
|
+
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
19
|
+
td > a {
|
20
|
+
background: transparent;
|
21
|
+
color: #039;
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* and inside a section title */
|
26
|
+
.section-title > a {
|
27
|
+
background: transparent;
|
28
|
+
color: #eee;
|
29
|
+
text-decoration: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
/* === Structural elements =================================== */
|
33
|
+
|
34
|
+
div#index {
|
35
|
+
margin: 0;
|
36
|
+
margin-left: -40px;
|
37
|
+
padding: 0;
|
38
|
+
font-size: 90%;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
div#index a {
|
43
|
+
margin-left: 0.7em;
|
44
|
+
}
|
45
|
+
|
46
|
+
div#index .section-bar {
|
47
|
+
margin-left: 0px;
|
48
|
+
padding-left: 0.7em;
|
49
|
+
background: #ccc;
|
50
|
+
font-size: small;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
div#classHeader, div#fileHeader {
|
55
|
+
width: auto;
|
56
|
+
color: white;
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
58
|
+
margin: 0;
|
59
|
+
margin-left: -40px;
|
60
|
+
border-bottom: 3px solid #006;
|
61
|
+
}
|
62
|
+
|
63
|
+
div#classHeader a, div#fileHeader a {
|
64
|
+
background: inherit;
|
65
|
+
color: white;
|
66
|
+
}
|
67
|
+
|
68
|
+
div#classHeader td, div#fileHeader td {
|
69
|
+
background: inherit;
|
70
|
+
color: white;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
div#fileHeader {
|
75
|
+
background: #057;
|
76
|
+
}
|
77
|
+
|
78
|
+
div#classHeader {
|
79
|
+
background: #048;
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
.class-name-in-header {
|
84
|
+
font-size: 180%;
|
85
|
+
font-weight: bold;
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
|
+
div#bodyContent {
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
91
|
+
}
|
92
|
+
|
93
|
+
div#description {
|
94
|
+
padding: 0.5em 1.5em;
|
95
|
+
background: #efefef;
|
96
|
+
border: 1px dotted #999;
|
97
|
+
}
|
98
|
+
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
100
|
+
color: #125;;
|
101
|
+
background: transparent;
|
102
|
+
}
|
103
|
+
|
104
|
+
div#validator-badges {
|
105
|
+
text-align: center;
|
106
|
+
}
|
107
|
+
div#validator-badges img { border: 0; }
|
108
|
+
|
109
|
+
div#copyright {
|
110
|
+
color: #333;
|
111
|
+
background: #efefef;
|
112
|
+
font: 0.75em sans-serif;
|
113
|
+
margin-top: 5em;
|
114
|
+
margin-bottom: 0;
|
115
|
+
padding: 0.5em 2em;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/* === Classes =================================== */
|
120
|
+
|
121
|
+
table.header-table {
|
122
|
+
color: white;
|
123
|
+
font-size: small;
|
124
|
+
}
|
125
|
+
|
126
|
+
.type-note {
|
127
|
+
font-size: small;
|
128
|
+
color: #DEDEDE;
|
129
|
+
}
|
130
|
+
|
131
|
+
.xxsection-bar {
|
132
|
+
background: #eee;
|
133
|
+
color: #333;
|
134
|
+
padding: 3px;
|
135
|
+
}
|
136
|
+
|
137
|
+
.section-bar {
|
138
|
+
color: #333;
|
139
|
+
border-bottom: 1px solid #999;
|
140
|
+
margin-left: -20px;
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
.section-title {
|
145
|
+
background: #79a;
|
146
|
+
color: #eee;
|
147
|
+
padding: 3px;
|
148
|
+
margin-top: 2em;
|
149
|
+
margin-left: -30px;
|
150
|
+
border: 1px solid #999;
|
151
|
+
}
|
152
|
+
|
153
|
+
.top-aligned-row { vertical-align: top }
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
155
|
+
|
156
|
+
/* --- Context section classes ----------------------- */
|
157
|
+
|
158
|
+
.context-row { }
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
162
|
+
|
163
|
+
/* --- Method classes -------------------------- */
|
164
|
+
.method-detail {
|
165
|
+
background: #efefef;
|
166
|
+
padding: 0;
|
167
|
+
margin-top: 0.5em;
|
168
|
+
margin-bottom: 1em;
|
169
|
+
border: 1px dotted #ccc;
|
170
|
+
}
|
171
|
+
.method-heading {
|
172
|
+
color: black;
|
173
|
+
background: #ccc;
|
174
|
+
border-bottom: 1px solid #666;
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
176
|
+
}
|
177
|
+
.method-signature { color: black; background: inherit; }
|
178
|
+
.method-name { font-weight: bold; }
|
179
|
+
.method-args { font-style: italic; }
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
181
|
+
|
182
|
+
/* --- Source code sections -------------------- */
|
183
|
+
|
184
|
+
a.source-toggle { font-size: 90%; }
|
185
|
+
div.method-source-code {
|
186
|
+
background: #262626;
|
187
|
+
color: #ffdead;
|
188
|
+
margin: 1em;
|
189
|
+
padding: 0.5em;
|
190
|
+
border: 1px dashed #999;
|
191
|
+
overflow: hidden;
|
192
|
+
}
|
193
|
+
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
195
|
+
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
197
|
+
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
199
|
+
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
@@ -0,0 +1 @@
|
|
1
|
+
data_cgi.msl,36097,0,0,15156068.0,36172,14871964.0,36097,14890916.0,36143,15143917.0,36143
|
@@ -0,0 +1,94 @@
|
|
1
|
+
scenario(name: "data_cgi") {
|
2
|
+
hosts {
|
3
|
+
# a2/192.168.40.217|
|
4
|
+
&host_0 = host(type: v4)
|
5
|
+
# 192.168.40.9|
|
6
|
+
&host_1 = host(type: v4)
|
7
|
+
}
|
8
|
+
|
9
|
+
options {
|
10
|
+
# data_length|data length
|
11
|
+
$data_length = "3"
|
12
|
+
# data|data
|
13
|
+
$data = "123"
|
14
|
+
# data_type|data type
|
15
|
+
$data_type = "numbers"
|
16
|
+
# url|url
|
17
|
+
$url = "/whats_my_data.cgi?data"
|
18
|
+
# http_port|http_port
|
19
|
+
$http_port = "80"
|
20
|
+
}
|
21
|
+
|
22
|
+
steps {
|
23
|
+
HTTP_80 = tcp(timeout: 10000, src: &host_0, dst: &host_1, dst_port: $http_port)
|
24
|
+
|
25
|
+
# GET /whats_my_data.cgi?data=123 HTTP/1.1
|
26
|
+
HTTP_GET_Client_Send = HTTP_80.client_send {
|
27
|
+
# get|GET /whats_my_data.cgi?data=123 HTTP/1.1\r\n
|
28
|
+
line [
|
29
|
+
dsv(delimiter: " ") [
|
30
|
+
# request_method|Request Method: GET
|
31
|
+
"GET"
|
32
|
+
dsv(delimiter: "=") [
|
33
|
+
$url
|
34
|
+
$data
|
35
|
+
]
|
36
|
+
"HTTP/1.1"
|
37
|
+
]
|
38
|
+
]
|
39
|
+
# host|Host: dell-9\r\n
|
40
|
+
"Host: dell-9\r\n"
|
41
|
+
# user_agent|User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3\r\n
|
42
|
+
"User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3\r\n"
|
43
|
+
# accept|Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
|
44
|
+
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
|
45
|
+
# accept_language|Accept-Language: en-us,en;q=0.5\r\n
|
46
|
+
"Accept-Language: en-us,en;q=0.5\r\n"
|
47
|
+
# accept_encoding|Accept-Encoding: gzip,deflate\r\n
|
48
|
+
"Accept-Encoding: gzip,deflate\r\n"
|
49
|
+
# accept_charset|Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
|
50
|
+
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
|
51
|
+
# keep_alive|Keep-Alive: 300\r\n
|
52
|
+
"Keep-Alive: 300\r\n"
|
53
|
+
# connection|Connection: keep-alive\r\n
|
54
|
+
"Connection: keep-alive\r\n"
|
55
|
+
# cache_control|Cache-Control: max-age=0\r\n
|
56
|
+
"Cache-Control: max-age=0\r\n"
|
57
|
+
# |\r\n
|
58
|
+
"\r\n"
|
59
|
+
}
|
60
|
+
|
61
|
+
# GET /whats_my_data.cgi?data=123 HTTP/1.1
|
62
|
+
HTTP_GET_Server_Receive = HTTP_GET_Client_Send.server_receive
|
63
|
+
|
64
|
+
# HTTP/1.1 200 OK (text/html)
|
65
|
+
HTTP_Server_Send = HTTP_80.server_send {
|
66
|
+
# http|HTTP/1.1 200 OK\r\n
|
67
|
+
"HTTP/1.1 200 OK\r\n"
|
68
|
+
# date|Date: Wed, 16 Sep 2009 00:09:17 GMT\r\n
|
69
|
+
"Date: Wed, 16 Sep 2009 00:09:17 GMT\r\n"
|
70
|
+
# server|Server: Apache/2.0.52 (CentOS)\r\n
|
71
|
+
"Server: Apache/2.0.52 (CentOS)\r\n"
|
72
|
+
# content_length_header|Content-Length: 243\r\n
|
73
|
+
"Content-Length: 243\r\n"
|
74
|
+
# connection|Connection: close\r\n
|
75
|
+
"Connection: close\r\n"
|
76
|
+
# content_type|Content-Type: text/html; charset=UTF-8\r\n
|
77
|
+
"Content-Type: text/html; charset=UTF-8\r\n"
|
78
|
+
# |\r\n
|
79
|
+
"\r\n"
|
80
|
+
"<"
|
81
|
+
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"><HTML><HEAD><TITLE>What\'s My Data?</TITLE></HEAD><BODY><H1>Data has been analyzed</H1><P>Input: 123</P><P>Length: 3</P><P>Type: numbers</P></BODY></HTML>"
|
82
|
+
}
|
83
|
+
|
84
|
+
# HTTP/1.1 200 OK (text/html)
|
85
|
+
HTTP_Client_Receive = HTTP_Server_Send.client_receive {
|
86
|
+
assertions {
|
87
|
+
# data type check
|
88
|
+
string(/Type: (.+?)</:1) == $data_type
|
89
|
+
# data length check
|
90
|
+
string(/Length: (.+?)</:1) >= $data_length
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
@@ -0,0 +1,322 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<mu_config version="5.0">
|
3
|
+
<templates>
|
4
|
+
<scenario name="data_cgi" uuid="ef6fe3eb-4e9f-44b5-a99e-c431d82e4eeb" version="6">
|
5
|
+
<hosts>
|
6
|
+
<host>
|
7
|
+
<id>host_0</id>
|
8
|
+
<role>192.168.40.217</role>
|
9
|
+
<type>v4</type>
|
10
|
+
</host>
|
11
|
+
<host>
|
12
|
+
<id>host_1</id>
|
13
|
+
<role>192.168.40.9</role>
|
14
|
+
<type>v4</type>
|
15
|
+
</host>
|
16
|
+
</hosts>
|
17
|
+
<options>
|
18
|
+
<string>
|
19
|
+
<description>data length</description>
|
20
|
+
<id>data_length</id>
|
21
|
+
<name>data_length</name>
|
22
|
+
<value>3</value>
|
23
|
+
</string>
|
24
|
+
<string>
|
25
|
+
<description>data</description>
|
26
|
+
<id>data</id>
|
27
|
+
<name>data</name>
|
28
|
+
<value>123</value>
|
29
|
+
</string>
|
30
|
+
<string>
|
31
|
+
<description>data type</description>
|
32
|
+
<id>data_type</id>
|
33
|
+
<name>data_type</name>
|
34
|
+
<value>numbers</value>
|
35
|
+
</string>
|
36
|
+
<string>
|
37
|
+
<description>url</description>
|
38
|
+
<id>url</id>
|
39
|
+
<name>url</name>
|
40
|
+
<value>/whats_my_data.cgi?data</value>
|
41
|
+
</string>
|
42
|
+
<string>
|
43
|
+
<description>http_port</description>
|
44
|
+
<id>http_port</id>
|
45
|
+
<name>http_port</name>
|
46
|
+
<value>80</value>
|
47
|
+
</string>
|
48
|
+
</options>
|
49
|
+
<steps>
|
50
|
+
<tcp>
|
51
|
+
<name>HTTP_80</name>
|
52
|
+
<dst>
|
53
|
+
<host>
|
54
|
+
<id>host_1</id>
|
55
|
+
</host>
|
56
|
+
</dst>
|
57
|
+
<src>
|
58
|
+
<host>
|
59
|
+
<id>host_0</id>
|
60
|
+
</host>
|
61
|
+
</src>
|
62
|
+
<timeout>2500</timeout>
|
63
|
+
<dst_port>
|
64
|
+
<option>
|
65
|
+
<id>http_port</id>
|
66
|
+
</option>
|
67
|
+
</dst_port>
|
68
|
+
<ip_version>v4</ip_version>
|
69
|
+
<type>client</type>
|
70
|
+
</tcp>
|
71
|
+
<tcp_client_send>
|
72
|
+
<description>GET /whats_my_data.cgi?data=123 HTTP/1.1</description>
|
73
|
+
<name>HTTP_GET_Client_Send</name>
|
74
|
+
<transport>HTTP_80</transport>
|
75
|
+
<mutable>true</mutable>
|
76
|
+
<payload>
|
77
|
+
<line label="GET /whats_my_data.cgi?data=123 HTTP/1.1\r\n" name="get">
|
78
|
+
<terminator>\r\n</terminator>
|
79
|
+
<value>
|
80
|
+
<dsv>
|
81
|
+
<delimiter> </delimiter>
|
82
|
+
<elements>
|
83
|
+
<string_field label="Request Method: GET" name="request_method">
|
84
|
+
<value>
|
85
|
+
<string>
|
86
|
+
<value>GET</value>
|
87
|
+
</string>
|
88
|
+
</value>
|
89
|
+
</string_field>
|
90
|
+
<dsv>
|
91
|
+
<delimiter>=</delimiter>
|
92
|
+
<elements>
|
93
|
+
<string_field>
|
94
|
+
<value>
|
95
|
+
<option>
|
96
|
+
<id>url</id>
|
97
|
+
</option>
|
98
|
+
</value>
|
99
|
+
</string_field>
|
100
|
+
<string_field>
|
101
|
+
<value>
|
102
|
+
<option>
|
103
|
+
<id>data</id>
|
104
|
+
</option>
|
105
|
+
</value>
|
106
|
+
</string_field>
|
107
|
+
</elements>
|
108
|
+
</dsv>
|
109
|
+
<string_field>
|
110
|
+
<value>
|
111
|
+
<string>
|
112
|
+
<value>HTTP/1.1</value>
|
113
|
+
</string>
|
114
|
+
</value>
|
115
|
+
</string_field>
|
116
|
+
</elements>
|
117
|
+
</dsv>
|
118
|
+
</value>
|
119
|
+
</line>
|
120
|
+
<string_field label="Host: dell-9\r\n" name="host">
|
121
|
+
<value>
|
122
|
+
<string>
|
123
|
+
<value>Host: dell-9\r\n</value>
|
124
|
+
</string>
|
125
|
+
</value>
|
126
|
+
</string_field>
|
127
|
+
<string_field label="User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3\r\n" name="user_agent">
|
128
|
+
<value>
|
129
|
+
<string>
|
130
|
+
<value>User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3\r\n</value>
|
131
|
+
</string>
|
132
|
+
</value>
|
133
|
+
</string_field>
|
134
|
+
<string_field label="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" name="accept">
|
135
|
+
<value>
|
136
|
+
<string>
|
137
|
+
<value>Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n</value>
|
138
|
+
</string>
|
139
|
+
</value>
|
140
|
+
</string_field>
|
141
|
+
<string_field label="Accept-Language: en-us,en;q=0.5\r\n" name="accept_language">
|
142
|
+
<value>
|
143
|
+
<string>
|
144
|
+
<value>Accept-Language: en-us,en;q=0.5\r\n</value>
|
145
|
+
</string>
|
146
|
+
</value>
|
147
|
+
</string_field>
|
148
|
+
<string_field label="Accept-Encoding: gzip,deflate\r\n" name="accept_encoding">
|
149
|
+
<value>
|
150
|
+
<string>
|
151
|
+
<value>Accept-Encoding: gzip,deflate\r\n</value>
|
152
|
+
</string>
|
153
|
+
</value>
|
154
|
+
</string_field>
|
155
|
+
<string_field label="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" name="accept_charset">
|
156
|
+
<value>
|
157
|
+
<string>
|
158
|
+
<value>Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n</value>
|
159
|
+
</string>
|
160
|
+
</value>
|
161
|
+
</string_field>
|
162
|
+
<string_field label="Keep-Alive: 300\r\n" name="keep_alive">
|
163
|
+
<value>
|
164
|
+
<string>
|
165
|
+
<value>Keep-Alive: 300\r\n</value>
|
166
|
+
</string>
|
167
|
+
</value>
|
168
|
+
</string_field>
|
169
|
+
<string_field label="Connection: keep-alive\r\n" name="connection">
|
170
|
+
<value>
|
171
|
+
<string>
|
172
|
+
<value>Connection: keep-alive\r\n</value>
|
173
|
+
</string>
|
174
|
+
</value>
|
175
|
+
</string_field>
|
176
|
+
<string_field label="Cache-Control: max-age=0\r\n" name="cache_control">
|
177
|
+
<value>
|
178
|
+
<string>
|
179
|
+
<value>Cache-Control: max-age=0\r\n</value>
|
180
|
+
</string>
|
181
|
+
</value>
|
182
|
+
</string_field>
|
183
|
+
<string_field label="\r\n">
|
184
|
+
<value>
|
185
|
+
<string>
|
186
|
+
<value>\r\n</value>
|
187
|
+
</string>
|
188
|
+
</value>
|
189
|
+
</string_field>
|
190
|
+
</payload>
|
191
|
+
</tcp_client_send>
|
192
|
+
<tcp_server_receive>
|
193
|
+
<description>GET /whats_my_data.cgi?data=123 HTTP/1.1</description>
|
194
|
+
<name>HTTP_GET_Server_Receive</name>
|
195
|
+
<transport>HTTP_80</transport>
|
196
|
+
<assertions/>
|
197
|
+
<send_action>HTTP_GET_Client_Send</send_action>
|
198
|
+
<variables/>
|
199
|
+
</tcp_server_receive>
|
200
|
+
<tcp_server_send>
|
201
|
+
<description>HTTP/1.1 200 OK (text/html)</description>
|
202
|
+
<name>HTTP_Server_Send</name>
|
203
|
+
<transport>HTTP_80</transport>
|
204
|
+
<mutable>true</mutable>
|
205
|
+
<payload>
|
206
|
+
<string_field label="HTTP/1.1 200 OK\r\n" name="http">
|
207
|
+
<value>
|
208
|
+
<string>
|
209
|
+
<value>HTTP/1.1 200 OK\r\n</value>
|
210
|
+
</string>
|
211
|
+
</value>
|
212
|
+
</string_field>
|
213
|
+
<string_field label="Date: Wed, 16 Sep 2009 00:09:17 GMT\r\n" name="date">
|
214
|
+
<value>
|
215
|
+
<string>
|
216
|
+
<value>Date: Wed, 16 Sep 2009 00:09:17 GMT\r\n</value>
|
217
|
+
</string>
|
218
|
+
</value>
|
219
|
+
</string_field>
|
220
|
+
<string_field label="Server: Apache/2.0.52 (CentOS)\r\n" name="server">
|
221
|
+
<value>
|
222
|
+
<string>
|
223
|
+
<value>Server: Apache/2.0.52 (CentOS)\r\n</value>
|
224
|
+
</string>
|
225
|
+
</value>
|
226
|
+
</string_field>
|
227
|
+
<string_field label="Content-Length: 243\r\n" name="content_length_header">
|
228
|
+
<value>
|
229
|
+
<string>
|
230
|
+
<value>Content-Length: 243\r\n</value>
|
231
|
+
</string>
|
232
|
+
</value>
|
233
|
+
</string_field>
|
234
|
+
<string_field label="Connection: close\r\n" name="connection">
|
235
|
+
<value>
|
236
|
+
<string>
|
237
|
+
<value>Connection: close\r\n</value>
|
238
|
+
</string>
|
239
|
+
</value>
|
240
|
+
</string_field>
|
241
|
+
<string_field label="Content-Type: text/html; charset=UTF-8\r\n" name="content_type">
|
242
|
+
<value>
|
243
|
+
<string>
|
244
|
+
<value>Content-Type: text/html; charset=UTF-8\r\n</value>
|
245
|
+
</string>
|
246
|
+
</value>
|
247
|
+
</string_field>
|
248
|
+
<string_field label="\r\n">
|
249
|
+
<value>
|
250
|
+
<string>
|
251
|
+
<value>\r\n</value>
|
252
|
+
</string>
|
253
|
+
</value>
|
254
|
+
</string_field>
|
255
|
+
<string_field>
|
256
|
+
<value>
|
257
|
+
<string>
|
258
|
+
<value><</value>
|
259
|
+
</string>
|
260
|
+
</value>
|
261
|
+
</string_field>
|
262
|
+
<string_field>
|
263
|
+
<value>
|
264
|
+
<string>
|
265
|
+
<value><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><HTML><HEAD><TITLE>What's My Data?</TITLE></HEAD><BODY><H1>Data has been analyzed</H1><P>Input: 123</P><P>Length: 3</P><P>Type: numbers</P></BODY></HTML></value>
|
266
|
+
</string>
|
267
|
+
</value>
|
268
|
+
</string_field>
|
269
|
+
</payload>
|
270
|
+
</tcp_server_send>
|
271
|
+
<tcp_client_receive>
|
272
|
+
<description>HTTP/1.1 200 OK (text/html)</description>
|
273
|
+
<name>HTTP_Client_Receive</name>
|
274
|
+
<transport>HTTP_80</transport>
|
275
|
+
<assertions>
|
276
|
+
<compare>
|
277
|
+
<description>data type check</description>
|
278
|
+
<status>passed</status>
|
279
|
+
<value2>
|
280
|
+
<regex>
|
281
|
+
<decode>string</decode>
|
282
|
+
<ignore_case>false</ignore_case>
|
283
|
+
<index>1</index>
|
284
|
+
<multiline>false</multiline>
|
285
|
+
<pattern>Type: (.+?)<</pattern>
|
286
|
+
</regex>
|
287
|
+
</value2>
|
288
|
+
<value1>
|
289
|
+
<option>
|
290
|
+
<id>data_type</id>
|
291
|
+
</option>
|
292
|
+
</value1>
|
293
|
+
<operation>equal</operation>
|
294
|
+
</compare>
|
295
|
+
<compare>
|
296
|
+
<description>data length check</description>
|
297
|
+
<status>passed</status>
|
298
|
+
<value2>
|
299
|
+
<regex>
|
300
|
+
<decode>string</decode>
|
301
|
+
<ignore_case>false</ignore_case>
|
302
|
+
<index>1</index>
|
303
|
+
<multiline>false</multiline>
|
304
|
+
<pattern>Length: (.+?)<</pattern>
|
305
|
+
</regex>
|
306
|
+
</value2>
|
307
|
+
<value1>
|
308
|
+
<option>
|
309
|
+
<id>data_length</id>
|
310
|
+
</option>
|
311
|
+
</value1>
|
312
|
+
<operation>less_than_or_equal</operation>
|
313
|
+
</compare>
|
314
|
+
</assertions>
|
315
|
+
<send_action>HTTP_Server_Send</send_action>
|
316
|
+
<variables/>
|
317
|
+
</tcp_client_receive>
|
318
|
+
</steps>
|
319
|
+
<variables/>
|
320
|
+
</scenario>
|
321
|
+
</templates>
|
322
|
+
</mu_config>
|