siffer 0.1.0 → 0.1.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.
- data/LICENSE +1 -1
- data/README +93 -63
- data/lib/siffer.rb +41 -1
- data/lib/siffer/agent.rb +53 -0
- data/lib/siffer/core_ext/hash.rb +15 -0
- data/lib/siffer/messages.rb +41 -0
- data/lib/siffer/messages/ack.rb +168 -0
- data/lib/siffer/messages/event.rb +20 -0
- data/lib/siffer/messages/message.rb +60 -0
- data/lib/siffer/messages/provide.rb +25 -0
- data/lib/siffer/messages/provision.rb +17 -0
- data/lib/siffer/messages/register.rb +50 -0
- data/lib/siffer/messages/request.rb +138 -0
- data/lib/siffer/messages/response.rb +48 -0
- data/lib/siffer/messages/subscribe.rb +17 -0
- data/lib/siffer/messages/system_control.rb +94 -0
- data/lib/siffer/models.rb +1 -0
- data/lib/siffer/models/address.rb +39 -0
- metadata +31 -66
- data/Rakefile +0 -60
- data/bin/siffer +0 -12
- data/lib/sif.rb +0 -38
- data/lib/sif/code_sets.rb +0 -9
- data/lib/sif/code_sets/access_permission_error_codes.rb +0 -17
- data/lib/sif/code_sets/authentication_error_codes.rb +0 -15
- data/lib/sif/code_sets/base_code_set.rb +0 -75
- data/lib/sif/code_sets/encryption_error_codes.rb +0 -6
- data/lib/sif/code_sets/error_category_codes.rb +0 -20
- data/lib/sif/code_sets/event_reporting_processing_error_codes.rb +0 -7
- data/lib/sif/code_sets/generic_message_handling_error_codes.rb +0 -12
- data/lib/sif/code_sets/provision_error_codes.rb +0 -8
- data/lib/sif/code_sets/registration_error_codes.rb +0 -13
- data/lib/sif/code_sets/request_response_error_codes.rb +0 -20
- data/lib/sif/code_sets/smb_error_codes.rb +0 -9
- data/lib/sif/code_sets/status_codes.rb +0 -13
- data/lib/sif/code_sets/subscription_error_codes.rb +0 -7
- data/lib/sif/code_sets/system_error_codes.rb +0 -6
- data/lib/sif/code_sets/transport_error_codes.rb +0 -9
- data/lib/sif/code_sets/xml_validation_error_codes.rb +0 -10
- data/lib/sif/config.rb +0 -100
- data/lib/sif/core_ext/array.rb +0 -12
- data/lib/sif/error.rb +0 -34
- data/lib/sif/exceptions.rb +0 -9
- data/lib/sif/messages.rb +0 -3
- data/lib/sif/messages/ack.rb +0 -29
- data/lib/sif/messages/message.rb +0 -32
- data/lib/sif/messages/register.rb +0 -38
- data/lib/sif/protocols.rb +0 -15
- data/lib/sif/status.rb +0 -17
- data/spec/base_code_set_spec.rb +0 -35
- data/spec/config_spec.rb +0 -42
- data/spec/error_spec.rb +0 -11
- data/spec/messages/ack_spec.rb +0 -25
- data/spec/messages/header_spec.rb +0 -21
- data/spec/messages/message_spec.rb +0 -27
- data/spec/messages/register_spec.rb +0 -53
- data/spec/protocol_spec.rb +0 -11
- data/spec/spec_helper.rb +0 -8
data/spec/config_spec.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__),"spec_helper")
|
2
|
-
|
3
|
-
describe Siffer::Config do
|
4
|
-
|
5
|
-
before do
|
6
|
-
Siffer::Config.setup
|
7
|
-
end
|
8
|
-
|
9
|
-
it "should be able to yield the configuration via #use" do
|
10
|
-
res = nil
|
11
|
-
Siffer::Config.use {|c| res = c}
|
12
|
-
res.should == Siffer::Config.defaults
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should be able to get a configuration key" do
|
16
|
-
Siffer::Config[:host].should == "0.0.0.0"
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should be able to set a configuration key" do
|
20
|
-
Siffer::Config[:bar] = "Hello"
|
21
|
-
Siffer::Config[:bar].should == "Hello"
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should be able to #delete a configuration key" do
|
25
|
-
Siffer::Config[:bar] = "Hello"
|
26
|
-
Siffer::Config[:bar].should == "Hello"
|
27
|
-
Siffer::Config.delete(:bar)
|
28
|
-
Siffer::Config[:bar].should == nil
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should be able to #fetch a key that does exist" do
|
32
|
-
Siffer::Config.fetch(:host, "192.168.2.1").should == "0.0.0.0"
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should be able to #fetch a key that does not exist" do
|
36
|
-
Siffer::Config.fetch(:bar, "heylo").should == "heylo"
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should be able to dump to YAML" do
|
40
|
-
Siffer::Config.to_yaml.should == Siffer::Config.instance_variable_get("@configuration").to_yaml
|
41
|
-
end
|
42
|
-
end
|
data/spec/error_spec.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__),"spec_helper")
|
2
|
-
|
3
|
-
describe Siffer::Error do
|
4
|
-
|
5
|
-
it "should raise error for invalid category" do
|
6
|
-
lambda{
|
7
|
-
@error = Siffer::Error.new :bad_category, :missing_category
|
8
|
-
}.should raise_error(InvalidErrorCategory, "Invalid Error Category provided.")
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
data/spec/messages/ack_spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
2
|
-
|
3
|
-
describe Siffer::Messages::Ack do
|
4
|
-
|
5
|
-
before do
|
6
|
-
@message = Message.new("source_is_clint")
|
7
|
-
@ack = Ack.new("ack_source",
|
8
|
-
{:original_source_id => @message.header.source_id,
|
9
|
-
:original_message_id => @message.header.msg_id,
|
10
|
-
:error => Siffer::Error.new(:system,:generic)})
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should contain original source id" do
|
14
|
-
@ack.original_source_id.should == @message.header.source_id
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should contain original message id" do
|
18
|
-
@ack.original_message_id.should == @message.header.msg_id
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should predicate error" do
|
22
|
-
@ack.should be_error
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "spec_helper.rb")
|
2
|
-
|
3
|
-
describe Siffer::Messages::Message::Header do
|
4
|
-
|
5
|
-
it "should have a timestamp" do
|
6
|
-
@header = Message::Header.new "source_name"
|
7
|
-
@header.timestamp.should_not be_nil
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should have a GUID/UUID" do
|
11
|
-
@header = Message::Header.new "source_name"
|
12
|
-
@header.msg_id.should_not be_nil
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should have a GUID/UUID that matches SIF textual format" do
|
16
|
-
@header = Message::Header.new "source_name"
|
17
|
-
@header.msg_id.should_not match(/^[a-z\-\s]+$/)
|
18
|
-
@header.msg_id.should match(/^[A-Z0-9]+$/)
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
2
|
-
|
3
|
-
describe Siffer::Messages::Message do
|
4
|
-
|
5
|
-
it "should have SIF version" do
|
6
|
-
@message = Message.new("source_name")
|
7
|
-
@message.version.should == "2.2.0"
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should have SIF xml namespace" do
|
11
|
-
@message = Message.new("source_name")
|
12
|
-
@message.xmlns.should == "http://www.sifinfo.org/infrastructure/2.x"
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should have a header" do
|
16
|
-
@message = Message.new("source_name")
|
17
|
-
@message.header.should_not be_nil
|
18
|
-
@message.header.source_id.should == "source_name"
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should raise exception for missing source identifier" do
|
22
|
-
lambda{
|
23
|
-
@message = Message.new(nil)
|
24
|
-
}.should raise_error(MissingSource, "Source not provided.")
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "..", "spec_helper")
|
2
|
-
|
3
|
-
describe Siffer::Messages::Register do
|
4
|
-
|
5
|
-
before do
|
6
|
-
@message = Register.new("source_name",
|
7
|
-
{:name => "source desc",
|
8
|
-
:application => {:vendor => Siffer::VENDOR,
|
9
|
-
:version => "1.1.1"}})
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should have vendor info" do
|
13
|
-
@message.node_vendor.should == Siffer::VENDOR
|
14
|
-
@message.node_version.should == Siffer::VERSION
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should have a name for the agent" do
|
18
|
-
@message.name.should_not be_nil
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should accept 2.x version messages" do
|
22
|
-
@message.version.should == "2.*"
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should have a receivable version # that matches SIF pattern" do
|
26
|
-
@message.version.should match(/\*|([0-9]+[.]\*)|([0-9]+[.][0-9]+r\*)|([0-9]+[.][0-9]+(r[0-9]+)?)/)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should have a max buffer size in integer form" do
|
30
|
-
@message.max_buffer_size.should_not be_nil
|
31
|
-
@message.max_buffer_size.should be_integer
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should have a mode set and default to pull" do
|
35
|
-
@message.mode.should_not be_nil
|
36
|
-
@message.mode.should == "Pull"
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should require a protocol if mode is push" do
|
40
|
-
lambda{
|
41
|
-
@message = Register.new("source_id",
|
42
|
-
{:name => "source_name",
|
43
|
-
:max_buffer_size => 524188,
|
44
|
-
:mode => "Push"})
|
45
|
-
}.should raise_error(NoProtocol, "Protocol not provided.")
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should expose the application it supports" do
|
49
|
-
@message.application.vendor.should == Siffer::VENDOR
|
50
|
-
@message.application.version.should == "1.1.1"
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
data/spec/protocol_spec.rb
DELETED