rainforest_auth 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 249cec5e62b6a45777bfce7594bbd2ff2212b2e7
4
- data.tar.gz: f0fe7101381ea10ff5514d83b91d63bc45823eb5
3
+ metadata.gz: 980dfd004061d614b9fe029789fd9b9c4684d852
4
+ data.tar.gz: 5dab043d568f273e6a82e47a861422ef0a821c43
5
5
  SHA512:
6
- metadata.gz: 5090047e6ef0d300ded3f7139230d668e9ca8eb22a9d240ad361f3c77493d3dedc712a054d0b490f085b2ed66de562a08c9fa380cf8c3414a071a9f71f2475ad
7
- data.tar.gz: 925598ed41d78140b75823642fc46d08423cd7bb529c346e51c9c355af38f3b2205179a203eb418131f54038a013e88a445a8ff2b4a6dbd16bee0c3591659e7a
6
+ metadata.gz: 13583387b606552eaf3f16cfab460046dbab0d4bd4f770ed131ac2c6bec5df8fc5e4e9f23df9a18e85cdc594c6b68c23b55e8c95ecde7773df9474f8ae5c6b4b
7
+ data.tar.gz: 80fd94cb083e0bbfb4d3644194f309b1c8f7bcb87a6f44400b8f8fb6aeac2364c5f29f2f469f8727774f2dca4a57c9567264ef2b5d1bcd6e3183db124352cd3f
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rainforest_auth (0.1.0)
4
+ rainforest_auth (0.1.1)
5
5
  json
6
6
 
7
7
  GEM
8
8
  remote: http://rubygems.org/
9
9
  specs:
10
10
  diff-lcs (1.2.5)
11
- json (2.0.3)
11
+ json (2.1.0)
12
12
  rake (10.1.1)
13
13
  rspec (2.14.1)
14
14
  rspec-core (~> 2.14.0)
@@ -30,4 +30,4 @@ DEPENDENCIES
30
30
  rspec (>= 2.0)
31
31
 
32
32
  BUNDLED WITH
33
- 1.14.4
33
+ 1.16.0
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 CLDRDR, Inc.
1
+ Copyright (c) 2013 Rainforest QA
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -1,5 +1,5 @@
1
1
  #
2
- # Rainforest Authenitcation
2
+ # Rainforest Authentication
3
3
  #
4
4
  #
5
5
  # @author Russell Smith <russ@rainforestqa.com>
@@ -9,6 +9,9 @@ require 'openssl'
9
9
  require 'json'
10
10
 
11
11
  class RainforestAuth
12
+ class MissingKeyException < StandardError
13
+ end
14
+
12
15
  attr_reader :key
13
16
 
14
17
  def initialize(key, key_hash=nil)
@@ -29,11 +32,13 @@ class RainforestAuth
29
32
 
30
33
  # Return a signature for a callback_type and specified options
31
34
  def sign(callback_type, options = nil)
35
+ raise MissingKeyException, 'Missing key hash' if @key_hash.nil?
32
36
  OpenSSL::HMAC.hexdigest(digest, @key_hash, merge_data(callback_type, options))
33
37
  end
34
38
 
35
39
  # Return a signature for a callback_type and specified options
36
40
  def sign_old(callback_type, options = nil)
41
+ raise MissingKeyException, 'Missing key' if @key.nil?
37
42
  OpenSSL::HMAC.hexdigest(digest, @key, merge_data(callback_type, options))
38
43
  end
39
44
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "rainforest_auth"
3
- s.version = "0.1.0"
4
- s.date = "2017-03-07"
3
+ s.version = "0.1.1"
4
+ s.date = "2017-12-19"
5
5
  s.summary = "Authentication of messages for Rainforest webhooks"
6
6
  s.description = "Signs / Authenticates messages"
7
7
  s.authors = ["Russell Smith"]
@@ -53,6 +53,12 @@ describe RainforestAuth do
53
53
  it "works with no options parameter" do
54
54
  @auth.sign('test').should == 'd38f897889c808c021a8ed97d2caacdac48b8259'
55
55
  end
56
+
57
+ context 'key hash is nil' do
58
+ it 'raises an exception' do
59
+ expect { RainforestAuth.new(nil).sign('test') }.to raise_error(RainforestAuth::MissingKeyException)
60
+ end
61
+ end
56
62
  end
57
63
 
58
64
  #TODO: nuke
@@ -72,6 +78,12 @@ describe RainforestAuth do
72
78
  it "works with no options parameter" do
73
79
  @auth.sign_old('test').should == '0a41bdf26fac08a89573a7f5efe0a5145f2730df'
74
80
  end
81
+
82
+ context 'key is nil' do
83
+ it 'raises an exception' do
84
+ expect { RainforestAuth.new(nil, 'I am not nil!').sign_old('test') }.to raise_error(RainforestAuth::MissingKeyException)
85
+ end
86
+ end
75
87
  end
76
88
 
77
89
  context ".verify" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rainforest_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Russell Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-07 00:00:00.000000000 Z
11
+ date: 2017-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -68,4 +68,6 @@ rubygems_version: 2.2.2
68
68
  signing_key:
69
69
  specification_version: 4
70
70
  summary: Authentication of messages for Rainforest webhooks
71
- test_files: []
71
+ test_files:
72
+ - spec/rainforest_auth_spec.rb
73
+ - spec/spec_helper.rb