travis-surveillance 0.0.1

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.
@@ -0,0 +1,65 @@
1
+ require "helper"
2
+
3
+ describe Travis::Surveillance::Project do
4
+ before do
5
+ @project = Travis::Surveillance::Project.new("dylanegan/travis-surveillance")
6
+ end
7
+
8
+ it "should have an owner" do
9
+ @project.owner.must_equal "dylanegan"
10
+ end
11
+
12
+ it "should have a name" do
13
+ @project.name.must_equal "travis-surveillance"
14
+ end
15
+
16
+ it "should have an id" do
17
+ @project.id.must_equal 143690
18
+ end
19
+
20
+ it "should have a description" do
21
+ @project.description.must_equal ""
22
+ end
23
+
24
+ it "should have a status" do
25
+ @project.status.must_equal 0
26
+ end
27
+
28
+ describe "status" do
29
+ describe "when nil" do
30
+ before do
31
+ @project.status = nil
32
+ end
33
+
34
+ it "should be building" do
35
+ @project.building?.must_equal true
36
+ @project.failed?.must_equal false
37
+ @project.passed?.must_equal false
38
+ end
39
+ end
40
+
41
+ describe "when zero" do
42
+ before do
43
+ @project.status = 0
44
+ end
45
+
46
+ it "should have passed" do
47
+ @project.building?.must_equal false
48
+ @project.failed?.must_equal false
49
+ @project.passed?.must_equal true
50
+ end
51
+ end
52
+
53
+ describe "when one" do
54
+ before do
55
+ @project.status = 1
56
+ end
57
+
58
+ it "should have failed" do
59
+ @project.building?.must_equal false
60
+ @project.failed?.must_equal true
61
+ @project.passed?.must_equal false
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,62 @@
1
+ require "helper"
2
+
3
+ describe Travis::Surveillance::Surveyor do
4
+ before do
5
+ @project = Travis::Surveillance::Project.new("dylanegan/travis-surveillance")
6
+ @surveyor = Travis::Surveillance::Surveyor.new(@project)
7
+ end
8
+
9
+ describe "survey" do
10
+ before do
11
+ @surveyor.survey
12
+ end
13
+
14
+ it "should handle build:started" do
15
+ @surveyor.socket.simulate_received('build:started', pusher_json_for(@project.slug, 'build:started'), 'common')
16
+ @project.builds.last.number.must_equal "1"
17
+ end
18
+
19
+ it "should handle build:finished" do
20
+ @surveyor.socket.simulate_received('build:started', pusher_json_for(@project.slug, 'build:started'), 'common')
21
+ @surveyor.socket.simulate_received('build:finished', pusher_json_for(@project.slug, 'build:finished'), 'common')
22
+ @project.builds.last.building?.must_equal false
23
+ end
24
+
25
+ it "should handle job:started" do
26
+ @surveyor.socket.simulate_received('build:started', pusher_json_for(@project.slug, 'build:started'), 'common')
27
+ @surveyor.socket.simulate_received('job:started', pusher_json_for(@project.slug, 'job:started'), 'common')
28
+ @project.builds.last.jobs.last.running?.must_equal true
29
+ end
30
+
31
+ it "should handle job:finished" do
32
+ @surveyor.socket.simulate_received('build:started', pusher_json_for(@project.slug, 'build:started'), 'common')
33
+ @surveyor.socket.simulate_received('job:started', pusher_json_for(@project.slug, 'job:started'), 'common')
34
+ @surveyor.socket.simulate_received('job:finished', pusher_json_for(@project.slug, 'job:finished'), 'common')
35
+ @project.builds.last.jobs.last.running?.must_equal false
36
+ end
37
+
38
+ describe "when build:finished is received without build:started" do
39
+ it "should handle it well" do
40
+ @surveyor.socket.simulate_received('build:finished', pusher_json_for(@project.slug, 'build:finished'), 'common')
41
+ @project.builds.last.building?.must_equal false
42
+ end
43
+ end
44
+
45
+ describe "when job:started is received before build:started" do
46
+ it "should handle it well" do
47
+ @surveyor.socket.simulate_received('job:started', pusher_json_for(@project.slug, 'job:started'), 'common')
48
+ @surveyor.socket.simulate_received('build:started', pusher_json_for(@project.slug, 'build:started'), 'common')
49
+ @project.builds.last.number.must_equal "1"
50
+ @project.builds.last.jobs.last.running?.must_equal true
51
+ end
52
+ end
53
+
54
+ describe "when job:finished is received before OMFG I SHOULD JUST FIX THE INITIAL LOAD" do
55
+ it "should handle it well" do
56
+ @surveyor.socket.simulate_received('job:finished', pusher_json_for(@project.slug, 'job:finished'), 'common')
57
+ @project.builds.last.jobs.last.running?.must_equal false
58
+ @project.builds.last.jobs.last.number.must_equal "1.1"
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,22 @@
1
+ require "helper"
2
+
3
+ describe Travis::Surveillance do
4
+ subject { Travis::Surveillance }
5
+
6
+ describe "mock!" do
7
+ before do
8
+ @before = subject.instance_variable_get(:@mock)
9
+ subject.instance_variable_set(:@mock, nil)
10
+ end
11
+
12
+ it "should enable mocking" do
13
+ subject.mocking?.must_equal false
14
+ subject.mock!
15
+ subject.mocking?.must_equal true
16
+ end
17
+
18
+ after do
19
+ subject.instance_variable_set(:@mock, @before)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/travis/surveillance/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Dylan Egan"]
6
+ gem.email = ["dylanegan@gmail.com"]
7
+ gem.description = %q{Veille sur un projet.}
8
+ gem.summary = %q{Veille sur un projet.}
9
+ gem.homepage = "https://github.com/dylanegan/travis-surveillance"
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "travis-surveillance"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = Travis::Surveillance::VERSION
17
+
18
+ gem.add_dependency "clamp", "~> 0.4"
19
+ gem.add_dependency "json", "~> 1.7" if RUBY_PLATFORM == "java"
20
+ gem.add_dependency "pusher-client-merman", "~> 0.2"
21
+ gem.add_dependency "rake", "~> 0.9.0"
22
+ gem.add_dependency "scrolls", "~> 0.2.1"
23
+ gem.add_dependency "simplecov", "~> 0.6"
24
+ gem.add_dependency "terminal-table", "~> 1.4"
25
+ end
Binary file
metadata ADDED
@@ -0,0 +1,185 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: travis-surveillance
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dylan Egan
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: clamp
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.4'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.4'
30
+ - !ruby/object:Gem::Dependency
31
+ name: pusher-client-merman
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.2'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.2'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.9.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: scrolls
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 0.2.1
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.2.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: simplecov
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '0.6'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.6'
94
+ - !ruby/object:Gem::Dependency
95
+ name: terminal-table
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '1.4'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '1.4'
110
+ description: Veille sur un projet.
111
+ email:
112
+ - dylanegan@gmail.com
113
+ executables:
114
+ - travis-surveillance
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - .gitignore
119
+ - .travis.yml
120
+ - Gemfile
121
+ - Makefile
122
+ - README.md
123
+ - Rakefile
124
+ - bin/travis-surveillance
125
+ - lib/travis/surveillance.rb
126
+ - lib/travis/surveillance/build.rb
127
+ - lib/travis/surveillance/cli.rb
128
+ - lib/travis/surveillance/job.rb
129
+ - lib/travis/surveillance/project.rb
130
+ - lib/travis/surveillance/surveyor.rb
131
+ - lib/travis/surveillance/version.rb
132
+ - logs/.gitignore
133
+ - spec/helper.rb
134
+ - spec/support/builds/1.json
135
+ - spec/support/jobs/1.json
136
+ - spec/support/projects/dylanegan-travis-surveillance.json
137
+ - spec/support/pusher/dylanegan-travis-surveillance-build-finished.json
138
+ - spec/support/pusher/dylanegan-travis-surveillance-build-started.json
139
+ - spec/support/pusher/dylanegan-travis-surveillance-job-finished.json
140
+ - spec/support/pusher/dylanegan-travis-surveillance-job-started.json
141
+ - spec/travis/surveillance/build_spec.rb
142
+ - spec/travis/surveillance/job_spec.rb
143
+ - spec/travis/surveillance/project_spec.rb
144
+ - spec/travis/surveillance/surveyor_spec.rb
145
+ - spec/travis/surveillance_spec.rb
146
+ - travis-surveillance.gemspec
147
+ - travis-surveillance.jpg
148
+ homepage: https://github.com/dylanegan/travis-surveillance
149
+ licenses: []
150
+ post_install_message:
151
+ rdoc_options: []
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ requirements: []
167
+ rubyforge_project:
168
+ rubygems_version: 1.8.23
169
+ signing_key:
170
+ specification_version: 3
171
+ summary: Veille sur un projet.
172
+ test_files:
173
+ - spec/helper.rb
174
+ - spec/support/builds/1.json
175
+ - spec/support/jobs/1.json
176
+ - spec/support/projects/dylanegan-travis-surveillance.json
177
+ - spec/support/pusher/dylanegan-travis-surveillance-build-finished.json
178
+ - spec/support/pusher/dylanegan-travis-surveillance-build-started.json
179
+ - spec/support/pusher/dylanegan-travis-surveillance-job-finished.json
180
+ - spec/support/pusher/dylanegan-travis-surveillance-job-started.json
181
+ - spec/travis/surveillance/build_spec.rb
182
+ - spec/travis/surveillance/job_spec.rb
183
+ - spec/travis/surveillance/project_spec.rb
184
+ - spec/travis/surveillance/surveyor_spec.rb
185
+ - spec/travis/surveillance_spec.rb