tdi 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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