tdi 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ace014ad816a976c9ca34af587c453b3855039b
4
- data.tar.gz: 9f884036570d63cbddb5bb9e13798b5457d2259c
3
+ metadata.gz: 5b8898f508f627e740b007ad50d900d6e4c4ae5d
4
+ data.tar.gz: b8eebdef3edd43ab89b508ff9020e260dd483cdd
5
5
  SHA512:
6
- metadata.gz: 2e22075e3756151860807f0c6e94dfceb19fcfe63757de885b491d6166f98013fa7317bb1d29836ee960c4c48d9f05c6e6decbc6eb0779df91da34fd11005302
7
- data.tar.gz: b2b39a09a8c839f7f24e2277f3a4f4cdc2ebedb1d661f183bb9c507000d4522b6f542b506699713911da836598ce7aa2dff60044c6adbaea1d3fb9ff676d738f
6
+ metadata.gz: 5a38f4bd18507d935778ce36accdccad54e4472091e5e205c361923d776dd9e768b3aab1d4cb56c18fea57cb26a1171ead5c52b21ba6fdab64a4b1b6d7abdf54
7
+ data.tar.gz: e3932200c469a3662994fadf132bf7d21770fed18bc6a44897063a9a72ad9471bfb7004f24c78d9a6852b776a96ee6969f88201a11041ad90adaee3c060f9bda
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tdi (0.1.1)
4
+ tdi (0.1.3)
5
5
  colorize
6
6
  etc
7
7
  net-ssh
@@ -42,6 +42,7 @@ class TDIPlan < TDI
42
42
  # Params
43
43
  code = params['code'].nil? ? 200 : params['code'].to_i
44
44
  match = params['match']
45
+ expect_header = params['expect_header']
45
46
  timeout_limit = params['timeout'].nil? ? 2 : params['timeout'].to_i
46
47
 
47
48
  if not params['proxy'].nil?
@@ -49,8 +50,15 @@ class TDIPlan < TDI
49
50
  proxy_port = 3128 unless not proxy_port.nil?
50
51
  end
51
52
 
52
- return host, port, path, proxy_addr, proxy_port, code, match, ssl, timeout_limit
53
-
53
+ if not params['expect_header'].nil?
54
+ expect_header_key = params['expect_header'].split(':').first
55
+ expect_header_value = nil
56
+ if params['expect_header'].include?(':')
57
+ expect_header_value = params['expect_header'][params['expect_header'].index(':')+1..-1].strip
58
+ end
59
+ end
60
+
61
+ return host, port, path, proxy_addr, proxy_port, code, match, expect_header_key, expect_header_value, ssl, timeout_limit
54
62
  end
55
63
 
56
64
  def http(plan)
@@ -58,11 +66,11 @@ class TDIPlan < TDI
58
66
  val.is_a?(Hash)
59
67
  }.each_pair do |case_name,case_content|
60
68
 
61
- host, port, path, proxy_addr, proxy_port, code, match, ssl, timeout_limit = _parse(case_name,case_content)
69
+ host, port, path, proxy_addr, proxy_port, code, match, expect_header_key, expect_header_value, ssl, timeout_limit = _parse(case_name,case_content)
62
70
 
63
71
  # User
64
72
  user = Etc.getpwuid(Process.euid).name
65
-
73
+
66
74
  response = nil
67
75
 
68
76
  if not proxy_addr.nil? and not proxy_port.nil?
@@ -87,7 +95,7 @@ class TDIPlan < TDI
87
95
  rescue Timeout::Error
88
96
  failure "HTTP (#{user}): #{case_name} - Timed out (#{timeout_limit}s)."
89
97
  end
90
-
98
+
91
99
  else
92
100
  begin
93
101
  Resolv.getaddress(host)
@@ -114,19 +122,21 @@ class TDIPlan < TDI
114
122
  rescue Timeout::Error
115
123
  failure "HTTP (#{user}): #{case_name} - Timed out."
116
124
  end
117
-
118
125
  end
119
126
 
120
127
  if not response.nil?
121
128
  if not match.nil? and not response.body.chomp.include?(match.chomp)
122
- failure "HTTP (#{user}): #{case_name} - Expected string '#{match.chomp}'."
129
+ failure "HTTP (#{user}): #{case_name} - Expected string '#{match.chomp}'"
130
+ elsif not expect_header_key.nil? and not expect_header_value.nil? and not response[expect_header_key].eql?(expect_header_value)
131
+ failure "HTTP (#{user}): #{case_name} - Expected header with content '#{expect_header_key}: #{expect_header_value}'"
132
+ elsif not expect_header_key.nil? and response[expect_header_key].nil?
133
+ failure "HTTP (#{user}): #{case_name} - Expected header '#{expect_header_key}'"
123
134
  elsif not code.nil? and (response.code.to_i != code)
124
- failure "HTTP (#{user}): #{case_name} - Expected HTTP #{code}."
135
+ failure "HTTP (#{user}): #{case_name} - Expected HTTP #{code}"
125
136
  else
126
137
  success "HTTP (#{user}): #{case_name}"
127
138
  end
128
139
  end
129
-
130
140
  end
131
141
  end
132
142
  end
@@ -18,5 +18,5 @@
18
18
  # along with TDI. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
  module Tdi
21
- VERSION = '0.1.2'
21
+ VERSION = '0.1.3'
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rogério Carvalho Schneider
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-08 00:00:00.000000000 Z
13
+ date: 2014-10-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler