flood-capybara 0.0.2 → 0.0.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 +4 -4
- data/lib/flood-capybara/application.rb +12 -1
- data/lib/flood-capybara/version.rb +1 -1
- data/spec/features/homepage_spec.rb +16 -9
- data/spec/spec_helper.rb +1 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0842e4845b2859966c1e7becf2bcb8d6a16ae42
|
4
|
+
data.tar.gz: e1db53d2b668d2b461112d31f497c83c478c0b7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b36653205744714f47b1e0b1cb4e8e318a8ed9053060a6312d3ef79f845de4a78190caaa7f4e806ef3a0f15cef38baccd1bcd80bc94a93ef5d66859175d26c45
|
7
|
+
data.tar.gz: 1c361af3839908f3f26e5bcfc3d8c2308851971415c213c0cf019ac29f80f71e6b8ccb08eba853b9be8911bccd2d9841b827b4953bb5ac8fbbdeee2ce121d54a
|
@@ -99,7 +99,8 @@ class FloodCapybara
|
|
99
99
|
override_hosts: args[:override_hosts],
|
100
100
|
override_parameters: args[:override_parameters],
|
101
101
|
started: args[:started],
|
102
|
-
stopped: args[:stopped]
|
102
|
+
stopped: args[:stopped],
|
103
|
+
meta: git_info
|
103
104
|
},
|
104
105
|
flood_files: flood_files,
|
105
106
|
region: args[:region],
|
@@ -108,6 +109,16 @@ class FloodCapybara
|
|
108
109
|
}.merge(args)
|
109
110
|
end
|
110
111
|
|
112
|
+
def git_info
|
113
|
+
{
|
114
|
+
sha: `git rev-parse HEAD`.chomp,
|
115
|
+
repository: {
|
116
|
+
full_name: `git rev-parse --abbrev-ref HEAD`.chomp,
|
117
|
+
url: `git config --get remote.origin.url`.chomp
|
118
|
+
}
|
119
|
+
}
|
120
|
+
end
|
121
|
+
|
111
122
|
def flood_files
|
112
123
|
{
|
113
124
|
file: File.new("#{file.path}", 'rb')
|
@@ -4,6 +4,16 @@ require 'pry'
|
|
4
4
|
|
5
5
|
ENV['PUBLIC_IPV4'] ||= `curl -s --fail --connect-timeout 1 http://169.254.169.254/latest/meta-data/public-ipv4 || curl -s --connect-timeout 10 ifconfig.me || echo 127.0.0.1`.chomp
|
6
6
|
|
7
|
+
def uri(url)
|
8
|
+
if url && !url.empty?
|
9
|
+
URI.parse(url).scheme.nil? ? URI.parse("http://#{url}") : URI.parse(url)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def parse_path(url)
|
14
|
+
uri(url).path if url && !url.empty?
|
15
|
+
end
|
16
|
+
|
7
17
|
describe "sign in", type: :feature do
|
8
18
|
before :each do
|
9
19
|
page.driver.clear_network_traffic if Capybara.default_driver == :poltergeist
|
@@ -14,10 +24,14 @@ describe "sign in", type: :feature do
|
|
14
24
|
page.driver.network_traffic.each do |request|
|
15
25
|
next unless request
|
16
26
|
next unless request.response_parts && request.response_parts.any? && request.response_parts.last
|
27
|
+
# binding.pry if request.url =~ /stats/
|
28
|
+
skip = true if request.response_parts.last.content_type =~ /font|image|css|javascript/
|
29
|
+
skip = false if request.headers.to_s =~ /XMLHttpRequest/
|
30
|
+
next if skip
|
17
31
|
@client.index index: "results-#{Time.now.utc.strftime("%Y.%m.%d")}", type: 'capybara', body: {
|
18
32
|
timestamp: (Time.now.utc.to_f * 1000).to_i.to_s,
|
19
33
|
url: request.url,
|
20
|
-
label: CGI::escape(request.url),
|
34
|
+
label: CGI::escape(parse_path(request.url)),
|
21
35
|
request_headers: request.headers.map {|header| header['name'] << '=' << header['value'] }.join(';'),
|
22
36
|
response_headers: request.response_parts.last.headers.map {|header| header['name'] << '=' << header['value'] }.join(';'),
|
23
37
|
start_time: (request.time.to_f * 1000).to_i.to_s,
|
@@ -39,15 +53,8 @@ describe "sign in", type: :feature do
|
|
39
53
|
end
|
40
54
|
end
|
41
55
|
|
42
|
-
it "should just work" do
|
43
|
-
visit '/'
|
44
|
-
expect(page).to have_content 'Flood'
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe "navigate", type: :feature do
|
49
56
|
it "should visit homepage" do
|
50
|
-
visit '/'
|
57
|
+
visit '/wmeS3yIYPs0vM9tFdNQqoQ?grid_id=1'
|
51
58
|
expect(page).to have_content 'Flood'
|
52
59
|
end
|
53
60
|
|
data/spec/spec_helper.rb
CHANGED
@@ -6,13 +6,12 @@ require 'capybara/poltergeist'
|
|
6
6
|
require 'elasticsearch'
|
7
7
|
|
8
8
|
Capybara.default_driver = :poltergeist
|
9
|
-
Capybara.save_and_open_page_path = File.dirname(__FILE__) + '/var/log/flood/custom'
|
10
9
|
Capybara.app_host = ENV['APP_HOST'] || "http://127.0.0.1"
|
11
10
|
Capybara.default_wait_time = 5
|
12
11
|
|
13
12
|
RSpec.configure do |config|
|
14
13
|
config.before(:all) do
|
15
|
-
@client = Elasticsearch::Client.new log: false
|
14
|
+
@client = Elasticsearch::Client.new host: `boot2docker ip`.chomp, log: false
|
16
15
|
end
|
17
16
|
config.after(:all) do
|
18
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flood-capybara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Koopmans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|