undantag 0.0.1 → 0.0.2

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.
@@ -2,10 +2,11 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://undantag.duh.se/exception
5
+ uri: https://undantag.herokuapp.com/exception
6
6
  body:
7
7
  encoding: US-ASCII
8
- string: api_key=<Undantag API key>&github_user&github_repo&title=test&body=Exception
8
+ string: api_key=<Undantag API key>&github_user=<GitHub user>&github_repo=<GitHub
9
+ repo>&env=ENV&request=&exception=Exception
9
10
  headers:
10
11
  Accept:
11
12
  - ! '*/*'
@@ -15,25 +16,20 @@ http_interactions:
15
16
  - application/x-www-form-urlencoded
16
17
  response:
17
18
  status:
18
- code: 502
19
- message: Bad Gateway
19
+ code: 500
20
+ message: Internal Server Error
20
21
  headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Sat, 20 Oct 2012 14:22:00 GMT
25
22
  Content-Type:
26
- - text/html
23
+ - text/plain
24
+ Server:
25
+ - thin 1.5.0 codename Knife
27
26
  Content-Length:
28
- - '166'
27
+ - '21'
29
28
  Connection:
30
29
  - keep-alive
31
- Keep-Alive:
32
- - timeout=20
33
30
  body:
34
31
  encoding: US-ASCII
35
- string: ! "<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>502
36
- Bad Gateway</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
32
+ string: Internal server error
37
33
  http_version:
38
- recorded_at: Sat, 20 Oct 2012 14:22:00 GMT
34
+ recorded_at: Sat, 20 Oct 2012 15:55:05 GMT
39
35
  recorded_with: VCR 2.2.5
@@ -2,10 +2,11 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: http://undantag.duh.se/exception
5
+ uri: https://undantag.herokuapp.com/exception
6
6
  body:
7
7
  encoding: US-ASCII
8
- string: api_key=super+seceret+api+key&github_user&github_repo&title=test&body=Exception
8
+ string: api_key=<Undantag API key>&github_user=<GitHub user>&github_repo=<GitHub
9
+ repo>&env=ENV&request=&exception=Exception
9
10
  headers:
10
11
  Accept:
11
12
  - ! '*/*'
@@ -15,25 +16,20 @@ http_interactions:
15
16
  - application/x-www-form-urlencoded
16
17
  response:
17
18
  status:
18
- code: 502
19
- message: Bad Gateway
19
+ code: 500
20
+ message: Internal Server Error
20
21
  headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Sat, 20 Oct 2012 14:11:51 GMT
25
22
  Content-Type:
26
- - text/html
23
+ - text/plain
24
+ Server:
25
+ - thin 1.5.0 codename Knife
27
26
  Content-Length:
28
- - '166'
27
+ - '21'
29
28
  Connection:
30
29
  - keep-alive
31
- Keep-Alive:
32
- - timeout=20
33
30
  body:
34
31
  encoding: US-ASCII
35
- string: ! "<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>502
36
- Bad Gateway</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
32
+ string: Internal server error
37
33
  http_version:
38
- recorded_at: Sat, 20 Oct 2012 14:11:52 GMT
34
+ recorded_at: Sat, 20 Oct 2012 15:55:06 GMT
39
35
  recorded_with: VCR 2.2.5
@@ -1,18 +1,27 @@
1
+ require 'net/https'
2
+
1
3
  module Undantag
2
4
  class Notifier
3
5
  URL = "https://undantag.herokuapp.com/exception"
4
6
  def self.notify request, exception
5
- unless Undantag::Configuration.api_key
7
+ config_vars = Undantag::Configuration.to_hash
8
+ unless config_vars[:api_key]
6
9
  raise Undantag::ConfigurationError::NoApiKey
7
10
  end
11
+ post_params = config_vars.merge(env: ENV.inspect,
12
+ request: request.inspect,
13
+ exception: exception.inspect)
14
+
8
15
  uri = URI(Notifier::URL)
9
- key = Undantag::Configuration.api_key
10
- post_params = Undantag::Configuration.to_hash.merge(env: ENV,
11
- request: request,
12
- exception: exception)
16
+ http = Net::HTTP.new(uri.host, uri.port)
17
+ http.use_ssl = true
18
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
19
+
20
+ request = Net::HTTP::Post.new(uri.request_uri)
21
+ request.set_form_data(post_params)
13
22
 
14
- resp = Net::HTTP.post_form(uri, post_params)
15
- case resp.code
23
+ response = http.request(request)
24
+ case response.code
16
25
  when "401"
17
26
  raise Undantag::NotAuthorized
18
27
  end
@@ -1,3 +1,3 @@
1
1
  module Undantag
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -7,27 +7,31 @@ require './lib/undantag/notifier'
7
7
  class Undantag::Configuration; end
8
8
 
9
9
  describe Undantag::Notifier do
10
+ config_vars = { api_key: ENV['UNDANTAG_API_KEY'],
11
+ github_user: ENV['GITHUB_USER'],
12
+ github_repo: ENV['GITHUB_REPO']
13
+ }
10
14
  before do
15
+ Undantag::Configuration.stub(:to_hash).and_return(config_vars)
16
+ Undantag::Configuration.stub(:api_key).and_return(config_vars[:api_key])
11
17
  Undantag.stub(:configure)
12
- Undantag::Configuration.stub(:api_key)
13
18
  end
14
19
  it 'makes a post to the server when notify is called' do
15
20
  VCR.use_cassette("undantag-server-authorized") do
16
- Undantag.configure(api_key: ENV['UNDANTAG_API_KEY'],
17
- github_user: ENV['GITHUB_USER'],
18
- github_repo: ENV['GITHUB_REPO'])
21
+ Undantag.configure(config_vars)
19
22
  Undantag::Notifier.notify(nil, Exception.to_s)
20
23
  end
21
24
  end
22
25
  it 'throws Undantag::NotAuthorized when a 401 is returned' do
23
26
  VCR.use_cassette("undantag-server-not-authorized") do
24
- Undantag.configure api_key: ENV['UNDANTAG_API_KEY']
27
+ wrong = config_vars.merge(api_key: "this isn't right")
28
+ Undantag::Configuration.stub(:to_hash).and_return(wrong)
25
29
  expect { Undantag::Notifier.notify(nil, Exception.to_s) }.to raise_error(Undantag::NotAuthorized)
26
30
  end
27
31
  end
28
32
  it 'throws "Undantag::ConfigurationError::NoApiKey" if send is called' do
29
33
  #temp hack
30
- Undantag.configure api_key: nil
34
+ Undantag::Configuration.stub(:to_hash).and_return({})
31
35
  expect { Undantag::Notifier.notify(nil, Exception.to_s) }.to raise_error(Undantag::ConfigurationError::NoApiKey)
32
36
  end
33
37
  end
@@ -2,7 +2,7 @@ require 'rspec'
2
2
  require './lib/undantag'
3
3
 
4
4
  describe Undantag do
5
- let api_key = 'super seceret api key'
5
+ let api_key = ENV['UNDANTAG_API_KEY']
6
6
  let github_user = 'octocat'
7
7
  let github_repo = 'testify'
8
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: undantag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -25,7 +25,6 @@ files:
25
25
  - Rakefile
26
26
  - fixtures/cassettes/undantag-server-authorized.yml
27
27
  - fixtures/cassettes/undantag-server-not-authorized.yml
28
- - fixtures/cassettes/undantag-server.yml
29
28
  - lib/undantag.rb
30
29
  - lib/undantag/configuration.rb
31
30
  - lib/undantag/exceptions.rb
@@ -1,39 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: http://undantag.duh.se/exception
6
- body:
7
- encoding: US-ASCII
8
- string: api_key=super+seceret+api+key&github_user&github_repo&title=test&body=Exception
9
- headers:
10
- Accept:
11
- - ! '*/*'
12
- User-Agent:
13
- - Ruby
14
- Content-Type:
15
- - application/x-www-form-urlencoded
16
- response:
17
- status:
18
- code: 502
19
- message: Bad Gateway
20
- headers:
21
- Server:
22
- - nginx
23
- Date:
24
- - Sat, 20 Oct 2012 14:05:17 GMT
25
- Content-Type:
26
- - text/html
27
- Content-Length:
28
- - '166'
29
- Connection:
30
- - keep-alive
31
- Keep-Alive:
32
- - timeout=20
33
- body:
34
- encoding: US-ASCII
35
- string: ! "<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>502
36
- Bad Gateway</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
37
- http_version:
38
- recorded_at: Sat, 20 Oct 2012 14:05:19 GMT
39
- recorded_with: VCR 2.2.5