fake_sensu 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5eb55c7a9dfce04a9b76c9669caa1ffb28c525d6
4
+ data.tar.gz: 8fe90f00fa45497deff60af8e521d5330cd45ea4
5
+ SHA512:
6
+ metadata.gz: f57c4a78444d9dca921dd6211b98b74b5f7db0c1146aeb5bec79a6ae63c86faf7977bf3ad5afeb48aa80f242e606774c4a1994c365821109a324d1944cc32a16
7
+ data.tar.gz: 5b5a98fef3f265a48d2aca5d4bcb29501fb3c3fca327380bec6572f71b5b784f48b3cda573312700485c430b2f909a367756b74a6022f2e56252bedbaacec597
data/CHANGELOG.md CHANGED
@@ -1,2 +1,10 @@
1
+ ## 0.1.1
2
+ * Simplify version api
3
+
4
+ ## 0.1.0
5
+ * Clean up response generator
6
+ * Support for sensu api 0.10.x
7
+
1
8
  ## 0.0.1
2
9
  * basic support of major sensu api actions
10
+
data/README.md CHANGED
@@ -2,22 +2,24 @@
2
2
  A sensu api without all the dependencies. For testing.
3
3
 
4
4
  ## Usage
5
- Include it in your spec helper, and start it
5
+ Include it in your spec or test helper, and start it in the before suite block:
6
6
 
7
7
  ```ruby
8
8
  require 'fake_sensu'
9
9
 
10
10
  RSpec.configure do |config|
11
11
  config.before :suite do
12
- FakeSensu.version = '0.9.12' # optional
13
- FakeSensu.start!
12
+ FakeSensu.start! "0.10.2"
14
13
  end
15
14
  end
16
15
  ```
17
16
 
18
17
  ## Adding a new verision
19
- If you want to add support for an additional sensu api version, just point the add_version script to a sensu api with default seed data loaded. If successful, the version will become available.
18
+ If you want to add support for an additional sensu api version:
19
+ 1) spin up a vagrant vm with sensu on it
20
+ 2) run the test suite, killing it before the end (be sure to fully log out or the test suite will continue to run in the background and kill your data)
21
+ 3) run the generate_responses script against the sensu vm you created
20
22
 
21
23
  ```bash
22
- ./add_version http://foo:bar@0.0.0.0/4567
24
+ ./generate_responses http://foo:bar@192.168.5.5/4567
23
25
  ```
@@ -7,7 +7,7 @@ if ARGV[0]
7
7
  # TODO: ensure password/user/port is included in addition to uri
8
8
  @sensu_path = ARGV[0]
9
9
  else
10
- abort("USAGE:\n\nadd_version http://foo:bar@localhost:4567\n\n")
10
+ abort("USAGE:\n\generate_responses http://foo:bar@localhost:4567\n\n")
11
11
  end
12
12
 
13
13
  class FakeSensu
data/fake_sensu.gemspec CHANGED
@@ -20,4 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_dependency "rest-client"
24
+ spec.add_dependency "sinatra"
25
+ spec.add_dependency "thin"
23
26
  end
data/generate_responses CHANGED
@@ -2,12 +2,13 @@
2
2
  require 'json'
3
3
  require 'rest_client'
4
4
  require 'fileutils'
5
+ require 'rest-client'
5
6
 
6
7
  if ARGV[0]
7
8
  # TODO: ensure password/user/port is included in addition to uri
8
9
  @sensu_path = ARGV[0]
9
10
  else
10
- abort("USAGE:\n\nadd_version http://foo:bar@localhost:4567\n\n")
11
+ abort("USAGE:\n\ngenerate_responses http://foo:bar@localhost:4567\n\n")
11
12
  end
12
13
 
13
14
  class FakeSensu
@@ -29,7 +30,7 @@ class FakeSensu
29
30
 
30
31
  def create_response_file
31
32
  filename = "#{@version}.json"
32
- file_path = File.expand_path "./responses/#{filename}"
33
+ file_path = File.expand_path "./lib/fake_sensu/responses/#{filename}"
33
34
  unless File.exists? file_path
34
35
  FileUtils.touch file_path
35
36
  end
@@ -5,7 +5,7 @@ module FakeSensu
5
5
  class Api < Sinatra::Base
6
6
 
7
7
  configure do
8
- version = "0.9.12"
8
+ version = ENV['FAKE_SENSU_VERSION']
9
9
  response_path = File.dirname(__FILE__) + "/responses/#{version}.json"
10
10
  responses = JSON.parse(File.read(response_path))["index"]
11
11
  set :info, responses["info"]
@@ -0,0 +1,12 @@
1
+ {
2
+ "index": {
3
+ "info": "{\"sensu\":{\"version\":\"0.10.2\"},\"rabbitmq\":{\"keepalives\":{\"messages\":56,\"consumers\":0},\"results\":{\"messages\":0,\"consumers\":0},\"connected\":true},\"redis\":{\"connected\":true}}",
4
+ "clients": "[{\"name\":\"i-424242\",\"address\":\"127.0.0.1\",\"subscriptions\":[\"test\"],\"keepalive\":{\"thresholds\":{\"warning\":60,\"critical\":120}},\"timestamp\":1377816922}]",
5
+ "checks": "[]",
6
+ "events": "[{\"output\":\"CRITICAL\",\"status\":2,\"issued\":1377816922,\"flapping\":false,\"occurrences\":1,\"client\":\"i-424242\",\"check\":\"test\"}]",
7
+ "stashes": "[{\"path\":\"test/test\",\"content\":{\"key\":\"value\"}}]"
8
+ },
9
+ "show": {
10
+ "clients/i-424242": "{\"name\":\"i-424242\",\"address\":\"127.0.0.1\",\"subscriptions\":[\"test\"],\"keepalive\":{\"thresholds\":{\"warning\":60,\"critical\":120}},\"timestamp\":1377816922}"
11
+ }
12
+ }
@@ -1,13 +1,15 @@
1
1
  module FakeSensu
2
2
  class Server
3
3
 
4
- def initialize(*args)
4
+ def initialize(version)
5
+ @version = version
5
6
  inject_rspec_suite
6
7
  start_api
7
8
  end
8
9
 
9
10
  def inject_rspec_suite
10
11
  RSpec.configure do |config|
12
+
11
13
  config.after :suite do
12
14
  puts "\nstopping fake sensu api @ #{$fake_sensu_pid}!"
13
15
  Process.kill 9, $fake_sensu_pid
@@ -19,7 +21,7 @@ module FakeSensu
19
21
  def start_api
20
22
  puts "starting fake sensu api!"
21
23
  ru_path = File.join(File.dirname(__FILE__), "config.ru")
22
- $fake_sensu_pid = Process.spawn("rackup --env production #{ru_path}", :out => "/dev/stdout")
24
+ $fake_sensu_pid = Process.spawn({"FAKE_SENSU_VERSION" => @version}, "rackup --env production #{ru_path}", :out => "/dev/stdout")
23
25
  sleep 4
24
26
  end
25
27
 
@@ -1,3 +1,3 @@
1
1
  module FakeSensu
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/fake_sensu.rb CHANGED
@@ -1,16 +1,13 @@
1
1
  require "fake_sensu/version"
2
- require "fake_sensu/api"
3
2
  require "fake_sensu/macros"
4
3
  require "fake_sensu/server"
5
4
 
6
5
  module FakeSensu
7
6
 
8
- def self.version(*args)
9
- args.first || '0.9.12'
10
- end
11
-
12
- def self.start!
13
- FakeSensu::Server.new
7
+ def self.start!(*args)
8
+ version = args.first || "0.10.2"
9
+ FakeSensu::Server.new(version)
14
10
  end
15
11
 
16
12
  end
13
+
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fake_sensu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alan Sebastian
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-23 00:00:00.000000000 Z
11
+ date: 2013-08-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,17 +27,57 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rest-client
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sinatra
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: thin
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
44
81
  - !ruby/object:Gem::Version
45
82
  version: '0'
46
83
  description: Mocking library for sensu
@@ -64,6 +101,7 @@ files:
64
101
  - lib/fake_sensu/api.rb
65
102
  - lib/fake_sensu/config.ru
66
103
  - lib/fake_sensu/macros.rb
104
+ - lib/fake_sensu/responses/0.10.2.json
67
105
  - lib/fake_sensu/responses/0.9.12.beta.6.json
68
106
  - lib/fake_sensu/responses/0.9.12.json
69
107
  - lib/fake_sensu/server.rb
@@ -71,27 +109,26 @@ files:
71
109
  homepage: http://www.github.com/asebastian/fake_sensu
72
110
  licenses:
73
111
  - MIT
112
+ metadata: {}
74
113
  post_install_message:
75
114
  rdoc_options: []
76
115
  require_paths:
77
116
  - lib
78
117
  - lib/fake_sensu/responses
79
118
  required_ruby_version: !ruby/object:Gem::Requirement
80
- none: false
81
119
  requirements:
82
- - - ! '>='
120
+ - - '>='
83
121
  - !ruby/object:Gem::Version
84
122
  version: '0'
85
123
  required_rubygems_version: !ruby/object:Gem::Requirement
86
- none: false
87
124
  requirements:
88
- - - ! '>='
125
+ - - '>='
89
126
  - !ruby/object:Gem::Version
90
127
  version: '0'
91
128
  requirements: []
92
129
  rubyforge_project:
93
- rubygems_version: 1.8.25
130
+ rubygems_version: 2.0.3
94
131
  signing_key:
95
- specification_version: 3
132
+ specification_version: 4
96
133
  summary: Mocking library/server for sensu
97
134
  test_files: []