snmp4em 0.3 → 1.0.0

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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snmp4em
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -43,6 +43,38 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.0.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: yard
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
46
78
  description: A high-performance SNMP engine built on EventMachine and Ruby-SNMP
47
79
  email: normelton@gmail.com
48
80
  executables: []
@@ -50,36 +82,28 @@ extensions: []
50
82
  extra_rdoc_files:
51
83
  - README.rdoc
52
84
  files:
53
- - Gemfile
54
- - README.rdoc
55
- - Rakefile
56
- - lib/snmp4em.rb
57
- - lib/snmp4em/common_requests.rb
58
- - lib/snmp4em/extensions.rb
59
85
  - lib/snmp4em/extensions/snmp/integer.rb
60
86
  - lib/snmp4em/extensions/snmp/ip_address.rb
61
87
  - lib/snmp4em/extensions/snmp/null.rb
62
88
  - lib/snmp4em/extensions/snmp/object_id.rb
63
89
  - lib/snmp4em/extensions/snmp/octet_string.rb
64
90
  - lib/snmp4em/extensions/snmp/response_error.rb
91
+ - lib/snmp4em/extensions.rb
65
92
  - lib/snmp4em/handler.rb
66
93
  - lib/snmp4em/manager.rb
94
+ - lib/snmp4em/notification_handler.rb
95
+ - lib/snmp4em/notification_manager.rb
96
+ - lib/snmp4em/requests/snmp_bulkwalk_request.rb
67
97
  - lib/snmp4em/requests/snmp_get_request.rb
68
98
  - lib/snmp4em/requests/snmp_getbulk_request.rb
69
99
  - lib/snmp4em/requests/snmp_getnext_request.rb
70
100
  - lib/snmp4em/requests/snmp_set_request.rb
71
101
  - lib/snmp4em/requests/snmp_walk_request.rb
102
+ - lib/snmp4em/snmp_common_requests.rb
72
103
  - lib/snmp4em/snmp_request.rb
73
104
  - lib/snmp4em/snmp_v2c_requests.rb
74
- - snmp4em.gemspec
75
- - spec/models/test_message.rb
76
- - spec/models/test_request.rb
77
- - spec/models/test_response.rb
78
- - spec/spec.opts
79
- - spec/spec_helper.rb
80
- - spec/unit/handler_spec.rb
81
- - spec/unit/manager_spec.rb
82
- - Manifest
105
+ - lib/snmp4em.rb
106
+ - README.rdoc
83
107
  homepage: http://github.com/normelton/snmp4em
84
108
  licenses: []
85
109
  post_install_message:
data/Gemfile DELETED
@@ -1,7 +0,0 @@
1
- # Use `bundle install` in order to install these gems
2
- # Use `bundle exec rake` in order to run the specs using the bundle
3
-
4
- gem "eventmachine", "0.12.10"
5
- gem "snmp", ">= 1.0.2"
6
-
7
- gem "rspec", "1.3.0"
data/Manifest DELETED
@@ -1,29 +0,0 @@
1
- Gemfile
2
- README.rdoc
3
- Rakefile
4
- lib/snmp4em.rb
5
- lib/snmp4em/common_requests.rb
6
- lib/snmp4em/extensions.rb
7
- lib/snmp4em/extensions/snmp/integer.rb
8
- lib/snmp4em/extensions/snmp/ip_address.rb
9
- lib/snmp4em/extensions/snmp/null.rb
10
- lib/snmp4em/extensions/snmp/object_id.rb
11
- lib/snmp4em/extensions/snmp/octet_string.rb
12
- lib/snmp4em/extensions/snmp/response_error.rb
13
- lib/snmp4em/handler.rb
14
- lib/snmp4em/manager.rb
15
- lib/snmp4em/requests/snmp_get_request.rb
16
- lib/snmp4em/requests/snmp_getbulk_request.rb
17
- lib/snmp4em/requests/snmp_getnext_request.rb
18
- lib/snmp4em/requests/snmp_set_request.rb
19
- lib/snmp4em/requests/snmp_walk_request.rb
20
- lib/snmp4em/snmp_request.rb
21
- lib/snmp4em/snmp_v2c_requests.rb
22
- spec/models/test_message.rb
23
- spec/models/test_request.rb
24
- spec/models/test_response.rb
25
- spec/spec.opts
26
- spec/spec_helper.rb
27
- spec/unit/handler_spec.rb
28
- spec/unit/manager_spec.rb
29
- Manifest
data/Rakefile DELETED
@@ -1,17 +0,0 @@
1
- require "rubygems"
2
- require "rake"
3
- require "echoe"
4
-
5
- gem "rspec", "1.3.0"
6
-
7
- require "spec/rake/spectask"
8
-
9
- Echoe.new("snmp4em", "0.2.1") do |p|
10
- p.description = "A high-performance SNMP engine built on EventMachine and Ruby-SNMP"
11
- p.url = "http://github.com/normelton/snmp4em"
12
- p.author = "Norman Elton"
13
- p.email = "normelton@gmail.com"
14
- p.development_dependencies = []
15
- p.rdoc_pattern = ["lib", "README.rdoc"]
16
- p.dependencies = ["snmp"]
17
- end
data/snmp4em.gemspec DELETED
@@ -1,23 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "snmp4em"
5
- s.version = "0.3"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Norman Elton"]
9
- s.date = "2012-02-23"
10
- s.description = "A high-performance SNMP engine built on EventMachine and Ruby-SNMP"
11
- s.email = "normelton@gmail.com"
12
- s.extra_rdoc_files = ["README.rdoc"]
13
- s.files = ["Gemfile", "README.rdoc", "Rakefile", "lib/snmp4em.rb", "lib/snmp4em/common_requests.rb", "lib/snmp4em/extensions.rb", "lib/snmp4em/extensions/snmp/integer.rb", "lib/snmp4em/extensions/snmp/ip_address.rb", "lib/snmp4em/extensions/snmp/null.rb", "lib/snmp4em/extensions/snmp/object_id.rb", "lib/snmp4em/extensions/snmp/octet_string.rb", "lib/snmp4em/extensions/snmp/response_error.rb", "lib/snmp4em/handler.rb", "lib/snmp4em/manager.rb", "lib/snmp4em/requests/snmp_get_request.rb", "lib/snmp4em/requests/snmp_getbulk_request.rb", "lib/snmp4em/requests/snmp_getnext_request.rb", "lib/snmp4em/requests/snmp_set_request.rb", "lib/snmp4em/requests/snmp_walk_request.rb", "lib/snmp4em/snmp_request.rb", "lib/snmp4em/snmp_v2c_requests.rb", "snmp4em.gemspec", "spec/models/test_message.rb", "spec/models/test_request.rb", "spec/models/test_response.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/unit/handler_spec.rb", "spec/unit/manager_spec.rb", "Manifest"]
14
- s.homepage = "http://github.com/normelton/snmp4em"
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Snmp4em", "--main", "README.rdoc"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = "snmp4em"
18
- s.rubygems_version = "1.8.16"
19
- s.summary = "A high-performance SNMP engine built on EventMachine and Ruby-SNMP"
20
- s.add_runtime_dependency 'snmp', '>= 1.0.2'
21
- s.add_runtime_dependency 'eventmachine', '>= 1.0.0'
22
-
23
- end
@@ -1,7 +0,0 @@
1
- module SNMP4EM
2
- class TestMessage
3
-
4
- attr_accessor :pdu
5
-
6
- end
7
- end
@@ -1,10 +0,0 @@
1
- module SNMP4EM
2
- class TestRequest
3
-
4
- attr_accessor :snmp_id
5
-
6
- def handle_response(response)
7
- end
8
-
9
- end
10
- end
@@ -1,7 +0,0 @@
1
- module SNMP4EM
2
- class TestResponse
3
-
4
- attr_accessor :request_id
5
-
6
- end
7
- end
data/spec/spec.opts DELETED
@@ -1,3 +0,0 @@
1
- --colour
2
- --format nested
3
- --drb
data/spec/spec_helper.rb DELETED
@@ -1,18 +0,0 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
-
4
- MODELS = File.join(File.dirname(__FILE__), "models")
5
- $LOAD_PATH.unshift(MODELS)
6
- Dir[ File.join(MODELS, "*.rb") ].sort.each { |file| require File.basename(file) }
7
-
8
- require 'rubygems'
9
- require "spec"
10
- require "snmp4em"
11
-
12
- def em
13
- EM.run {
14
- yield
15
- EM.stop
16
- }
17
- end
18
-
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe SNMP4EM::Handler do
4
-
5
- before do
6
- SNMP4EM::Manager.class_eval do
7
- @pending_requests = {}
8
- end
9
- end
10
-
11
- describe "#receive_data" do
12
-
13
- it "should match responses to requests" do
14
- em do
15
- response = SNMP4EM::TestResponse.new
16
- response.request_id = 1
17
-
18
- message = SNMP4EM::TestMessage.new
19
- message.pdu = response
20
- SNMP::Message.should_receive(:decode).and_return(message)
21
-
22
- request = SNMP4EM::TestRequest.new
23
- SNMP4EM::Manager.should_receive(:rand).and_return(1)
24
- SNMP4EM::Manager.track_request(request)
25
-
26
- request.should_receive(:handle_response).with(response)
27
- SNMP4EM::Handler.new(nil).receive_data(nil)
28
- end
29
-
30
- end
31
-
32
- end
33
-
34
- end
@@ -1,82 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe SNMP4EM::Manager do
4
-
5
- before do
6
- SNMP4EM::Manager.class_eval do
7
- @pending_requests = {}
8
- end
9
- end
10
-
11
- describe "#track_request" do
12
-
13
- it "should assign a random and unique id to each request" do
14
- em do
15
- request = SNMP4EM::TestRequest.new
16
- other_request = SNMP4EM::TestRequest.new
17
-
18
- SNMP4EM::Manager.should_receive(:rand).and_return(1, 1, 2)
19
- SNMP4EM::Manager.track_request(request)
20
- SNMP4EM::Manager.track_request(other_request)
21
-
22
- request.snmp_id.should == 1
23
- other_request.snmp_id.should == 2
24
- end
25
- end
26
-
27
- it "should prune requests when their request id changes" do
28
- em do
29
- request = SNMP4EM::TestRequest.new
30
-
31
- SNMP4EM::Manager.should_receive(:rand).and_return(1, 2)
32
- SNMP4EM::Manager.track_request(request)
33
- request.snmp_id.should == 1
34
- SNMP4EM::Manager.pending_requests.size.should == 1
35
-
36
- SNMP4EM::Manager.track_request(request)
37
- request.snmp_id.should == 2
38
- SNMP4EM::Manager.pending_requests.size.should == 1
39
- end
40
- end
41
-
42
- end
43
-
44
- describe "#initialize" do
45
-
46
- it "should default to v2c" do
47
- em do
48
- SNMP4EM::Manager.new.version.should == :SNMPv2c
49
- end
50
- end
51
-
52
- it "should create the class' UDP socket" do
53
- em do
54
- SNMP4EM::Manager.new
55
- SNMP4EM::Manager.socket.should be_a EventMachine::Connection
56
- end
57
- end
58
-
59
-
60
- context "when using v2c" do
61
-
62
- it "should acquire the #getbulk method" do
63
- em do
64
- SNMP4EM::Manager.new.methods.should include :getbulk
65
- end
66
- end
67
-
68
- end
69
-
70
- context "when using v1" do
71
-
72
- it "should not acquire the #getbulk method" do
73
- em do
74
- SNMP4EM::Manager.new(:version => :SNMPv1).methods.should_not include :getbulk
75
- end
76
- end
77
-
78
- end
79
-
80
- end
81
-
82
- end