nsicloudooo 0.2.9 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/nsicloudooo/client.rb +30 -6
- data/lib/nsicloudooo/configuration.rb +58 -0
- data/nsicloudooo.gemspec +5 -3
- data/spec/configuration_spec.rb +36 -0
- data/spec/nsicloudooo_spec.rb +32 -3
- metadata +6 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/lib/nsicloudooo/client.rb
CHANGED
@@ -1,15 +1,31 @@
|
|
1
1
|
require "json"
|
2
2
|
require "net/http"
|
3
3
|
require File.dirname(__FILE__) + '/errors'
|
4
|
+
require File.dirname(__FILE__) + '/configuration'
|
4
5
|
|
5
6
|
module NSICloudooo
|
6
7
|
class Client
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
# Initialize a client to a CloudoooManager node
|
10
|
+
#
|
11
|
+
# @param [Hash] options used to connect to the desired CloudoooManager
|
12
|
+
# @options options [String] host to connect
|
13
|
+
# @options options [String] port to connect
|
14
|
+
# @options options [String] user to authenticatie with
|
15
|
+
# @options options [String] password to the refered user
|
16
|
+
#
|
17
|
+
# @return [Client] the object itself
|
18
|
+
# @example
|
19
|
+
# nsisam = NSISam::Client.new host: 'localhost', port: '8886', user: 'test', password: 'test'
|
20
|
+
#
|
21
|
+
# @note if you had used the 'configure' method, you can use it without parameters
|
22
|
+
# and those you provided before will be used (see Client#configure)
|
23
|
+
def initialize(params = {})
|
24
|
+
params = Configuration.settings.merge(params)
|
25
|
+
@user = params[:user]
|
26
|
+
@password = params[:password]
|
27
|
+
@host = params[:host]
|
28
|
+
@port = params[:port]
|
13
29
|
end
|
14
30
|
|
15
31
|
# Send a document be granulated by a nsi.cloudooo node
|
@@ -115,6 +131,14 @@ module NSICloudooo
|
|
115
131
|
execute_request(request)
|
116
132
|
end
|
117
133
|
|
134
|
+
# Pre-configure the NSICloudooo module with default params for the NSICloudooo::Client
|
135
|
+
#
|
136
|
+
# @yield a Configuration object (see {NSICloudooo::Client::Configuration})
|
137
|
+
#
|
138
|
+
def self.configure(&block)
|
139
|
+
Configuration.instance_eval(&block)
|
140
|
+
end
|
141
|
+
|
118
142
|
private
|
119
143
|
|
120
144
|
def insert_download_data(options)
|
@@ -137,7 +161,7 @@ module NSICloudooo
|
|
137
161
|
|
138
162
|
def execute_request(request)
|
139
163
|
begin
|
140
|
-
response = Net::HTTP.start @
|
164
|
+
response = Net::HTTP.start @host, @port do |http|
|
141
165
|
http.request(request)
|
142
166
|
end
|
143
167
|
rescue Errno::ECONNREFUSED => e
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module NSICloudooo
|
2
|
+
class Client
|
3
|
+
class Configuration
|
4
|
+
class << self
|
5
|
+
# Set the default {NSICloudooo::Client} user
|
6
|
+
#
|
7
|
+
#
|
8
|
+
# @param [String] user to set
|
9
|
+
#
|
10
|
+
# @return [String] the user set
|
11
|
+
def user(user = nil)
|
12
|
+
@user = user unless user.nil?
|
13
|
+
@user
|
14
|
+
end
|
15
|
+
|
16
|
+
# Set the default {NSICloudooo::Client} password
|
17
|
+
#
|
18
|
+
#
|
19
|
+
# @param [String] password to set
|
20
|
+
#
|
21
|
+
# @return [String] the password set
|
22
|
+
def password(password = nil)
|
23
|
+
@password = password unless password.nil?
|
24
|
+
@password
|
25
|
+
end
|
26
|
+
|
27
|
+
# Set the default {NSICloudooo::Client} host
|
28
|
+
#
|
29
|
+
#
|
30
|
+
# @param [String] host to set
|
31
|
+
#
|
32
|
+
# @return [String] the host set
|
33
|
+
def host(host = nil)
|
34
|
+
@host = host unless host.nil?
|
35
|
+
@host
|
36
|
+
end
|
37
|
+
|
38
|
+
# Set the default {NSICloudooo::Client} port
|
39
|
+
#
|
40
|
+
#
|
41
|
+
# @param [String] port to set
|
42
|
+
#
|
43
|
+
# @return [String] the port set
|
44
|
+
def port(port = nil)
|
45
|
+
@port = port unless port.nil?
|
46
|
+
@port
|
47
|
+
end
|
48
|
+
|
49
|
+
# See how are the settings
|
50
|
+
#
|
51
|
+
# @return [Hash] actual settings
|
52
|
+
def settings
|
53
|
+
{user: @user, password: @password, host: @host, port: @port}
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/nsicloudooo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "nsicloudooo"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Douglas Camata"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-05-16"
|
13
13
|
s.description = "A simple gem to access a nsi.cloudooo node"
|
14
14
|
s.email = "d.camata@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -26,16 +26,18 @@ Gem::Specification.new do |s|
|
|
26
26
|
"VERSION",
|
27
27
|
"lib/nsicloudooo.rb",
|
28
28
|
"lib/nsicloudooo/client.rb",
|
29
|
+
"lib/nsicloudooo/configuration.rb",
|
29
30
|
"lib/nsicloudooo/errors.rb",
|
30
31
|
"lib/nsicloudooo/fake_server.rb",
|
31
32
|
"nsicloudooo.gemspec",
|
33
|
+
"spec/configuration_spec.rb",
|
32
34
|
"spec/nsicloudooo_spec.rb",
|
33
35
|
"spec/spec_helper.rb"
|
34
36
|
]
|
35
37
|
s.homepage = "http://github.com/nsi-iff/nsicloudooo-ruby.git"
|
36
38
|
s.licenses = ["MIT"]
|
37
39
|
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = "1.8.
|
40
|
+
s.rubygems_version = "1.8.24"
|
39
41
|
s.summary = "A simple gem to access a nsi.cloudooo node"
|
40
42
|
|
41
43
|
if s.respond_to? :specification_version then
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "NSICloudooo::Client::Configuration" do
|
4
|
+
Configuration = NSICloudooo::Client::Configuration
|
5
|
+
|
6
|
+
it "set and return user" do
|
7
|
+
Configuration.user 'why'
|
8
|
+
Configuration.user.should == 'why'
|
9
|
+
end
|
10
|
+
|
11
|
+
it "set and return password" do
|
12
|
+
Configuration.password 'admin123'
|
13
|
+
Configuration.password.should == 'admin123'
|
14
|
+
end
|
15
|
+
|
16
|
+
it "set and return host" do
|
17
|
+
Configuration.host '192.168.0.100'
|
18
|
+
Configuration.host.should == '192.168.0.100'
|
19
|
+
end
|
20
|
+
|
21
|
+
it "set and return port" do
|
22
|
+
Configuration.port '8888'
|
23
|
+
Configuration.port.should == '8888'
|
24
|
+
end
|
25
|
+
|
26
|
+
it "return a hash of attributes" do
|
27
|
+
Configuration.instance_eval do
|
28
|
+
user "why"
|
29
|
+
password "chunky"
|
30
|
+
host "localhost"
|
31
|
+
port "8888"
|
32
|
+
end
|
33
|
+
Configuration.settings.should == {user: "why", password: "chunky",
|
34
|
+
host: "localhost", port: "8888"}
|
35
|
+
end
|
36
|
+
end
|
data/spec/nsicloudooo_spec.rb
CHANGED
@@ -6,7 +6,8 @@ $folder = File.expand_path(File.dirname(__FILE__))
|
|
6
6
|
describe NSICloudooo do
|
7
7
|
|
8
8
|
before :all do
|
9
|
-
@nsicloudooo = NSICloudooo::Client.new '
|
9
|
+
@nsicloudooo = NSICloudooo::Client.new user: 'test', password: 'test',
|
10
|
+
host: 'localhost', port: '9886'
|
10
11
|
@fake_cloudooo = NSICloudooo::FakeServerManager.new.start_server
|
11
12
|
end
|
12
13
|
|
@@ -16,7 +17,8 @@ describe NSICloudooo do
|
|
16
17
|
|
17
18
|
context "cannot connect to the server" do
|
18
19
|
it "throws error if couldn't connec to the server" do
|
19
|
-
nsicloudooo = NSICloudooo::Client.new '
|
20
|
+
nsicloudooo = NSICloudooo::Client.new user: 'test', password: 'test',
|
21
|
+
host: 'localhost', port: '4000'
|
20
22
|
expect { nsicloudooo.granulate(:file => 'document', :filename => "teste.odt") }.to \
|
21
23
|
raise_error(NSICloudooo::Errors::Client::ConnectionRefusedError)
|
22
24
|
end
|
@@ -31,7 +33,7 @@ describe NSICloudooo do
|
|
31
33
|
|
32
34
|
it "should throw error if any required parameter is missing" do
|
33
35
|
expect { @nsicloudooo.granulate(:file => 'document') }.to raise_error(NSICloudooo::Errors::Client::MissingParametersError)
|
34
|
-
expect { @nsicloudooo.granulate(:
|
36
|
+
expect { @nsicloudooo.granulate(:cloudooo_uid => 'document') }.to raise_error(NSICloudooo::Errors::Client::MissingParametersError)
|
35
37
|
expect { @nsicloudooo.granulate(:filename => 'document') }.to raise_error(NSICloudooo::Errors::Client::MissingParametersError)
|
36
38
|
end
|
37
39
|
end
|
@@ -89,5 +91,32 @@ describe NSICloudooo do
|
|
89
91
|
end
|
90
92
|
end
|
91
93
|
|
94
|
+
context "get configuration" do
|
95
|
+
before do
|
96
|
+
NSICloudooo::Client.configure do
|
97
|
+
user "why"
|
98
|
+
password "chunky"
|
99
|
+
host "localhost"
|
100
|
+
port "8888"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
it "by configure" do
|
105
|
+
cloudooo = NSICloudooo::Client.new
|
106
|
+
cloudooo.instance_variable_get(:@user).should == "why"
|
107
|
+
cloudooo.instance_variable_get(:@password).should == "chunky"
|
108
|
+
cloudooo.instance_variable_get(:@host).should == "localhost"
|
109
|
+
cloudooo.instance_variable_get(:@port).should == "8888"
|
110
|
+
end
|
111
|
+
|
112
|
+
it "by initialize parameters" do
|
113
|
+
cloudooo = NSICloudooo::Client.new(user: 'luckystiff', password: 'bacon', host: 'why.com', port: '9999')
|
114
|
+
cloudooo.instance_variable_get(:@user).should == "luckystiff"
|
115
|
+
cloudooo.instance_variable_get(:@password).should == "bacon"
|
116
|
+
cloudooo.instance_variable_get(:@host).should == "why.com"
|
117
|
+
cloudooo.instance_variable_get(:@port).should == "9999"
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
92
121
|
end
|
93
122
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nsicloudooo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
@@ -124,9 +124,11 @@ files:
|
|
124
124
|
- VERSION
|
125
125
|
- lib/nsicloudooo.rb
|
126
126
|
- lib/nsicloudooo/client.rb
|
127
|
+
- lib/nsicloudooo/configuration.rb
|
127
128
|
- lib/nsicloudooo/errors.rb
|
128
129
|
- lib/nsicloudooo/fake_server.rb
|
129
130
|
- nsicloudooo.gemspec
|
131
|
+
- spec/configuration_spec.rb
|
130
132
|
- spec/nsicloudooo_spec.rb
|
131
133
|
- spec/spec_helper.rb
|
132
134
|
homepage: http://github.com/nsi-iff/nsicloudooo-ruby.git
|
@@ -144,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
146
|
version: '0'
|
145
147
|
segments:
|
146
148
|
- 0
|
147
|
-
hash:
|
149
|
+
hash: -4092089429222275052
|
148
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
151
|
none: false
|
150
152
|
requirements:
|
@@ -153,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
155
|
version: '0'
|
154
156
|
requirements: []
|
155
157
|
rubyforge_project:
|
156
|
-
rubygems_version: 1.8.
|
158
|
+
rubygems_version: 1.8.24
|
157
159
|
signing_key:
|
158
160
|
specification_version: 3
|
159
161
|
summary: A simple gem to access a nsi.cloudooo node
|