inventory-server 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/Dockerfile +3 -2
- data/Dockerfile-passenger +3 -2
- data/Dockerfile-unicorn +3 -2
- data/lib/inventory/server/config.rb +1 -1
- data/lib/inventory/server/http_server.rb +3 -3
- data/lib/inventory/server/version.rb +1 -1
- data/plugins/index.rb +1 -0
- data/spec/unit/config_spec.rb +14 -4
- data/spec/unit/http_server_spec.rb +4 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 595a004bb77d3fdca856383c3d152fd56661116b
|
4
|
+
data.tar.gz: 94473b188763f55c6b0fc01f273081eecaa4d985
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7a68d033a11a1749a7aefc7e33507ca594547dc06de24e047495e3cef0a31cacff3ef1887e2ae64aaa07dc8de0bb49d45188c005eecdc8a4cb8cccd4e1c1301
|
7
|
+
data.tar.gz: 66c8c902a5fec61afb29d5b4d0832d8ee98176095c85a1955df0ad7e5a6de07bc8f9cebe7a131bd27a48044bd07865f4a952f0a6ff1edb121dbc185523c80f15
|
data/Dockerfile
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
FROM centos
|
2
2
|
MAINTAINER Filirom1 <filirom1@gmail.com>
|
3
3
|
|
4
|
-
ADD . /app
|
5
|
-
|
6
4
|
RUN yum install -y epel-release
|
7
5
|
RUN yum install -y patch tar git ruby ruby-devel rubygem-bundler make gcc gcc-c++ zlib-devel libxml2-devel nginx
|
8
6
|
|
7
|
+
ADD . /app
|
8
|
+
|
9
9
|
RUN cd /app && bundle install
|
10
10
|
|
11
11
|
RUN cp /app/docker/unicorn/unicorn.conf /etc/nginx/conf.d/unicorn.conf && \
|
@@ -19,4 +19,5 @@ RUN mkdir -p /var/log/inventory && chmod o+rwX /var/log/inventory && \
|
|
19
19
|
VOLUME ["/var/log/nginx", "/var/log/inventory"]
|
20
20
|
|
21
21
|
EXPOSE 80
|
22
|
+
WORKDIR /app
|
22
23
|
CMD ["/app/docker/unicorn/run-unicorn.sh"]
|
data/Dockerfile-passenger
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
FROM centos
|
2
2
|
MAINTAINER Filirom1 <filirom1@gmail.com>
|
3
3
|
|
4
|
-
ADD . /app
|
5
|
-
|
6
4
|
RUN yum install -y epel-release
|
7
5
|
RUN yum install -y patch tar git ruby ruby-devel rubygem-bundler make gcc gcc-c++ zlib-devel libxml2-devel httpd \
|
8
6
|
http://puias.math.ias.edu/data/puias/unsupported/7/x86_64/mod_passenger-4.0.18-9.5.sdl7.x86_64.rpm \
|
@@ -10,9 +8,12 @@ RUN yum install -y patch tar git ruby ruby-devel rubygem-bundler make gcc gcc-c+
|
|
10
8
|
http://puias.math.ias.edu/data/puias/unsupported/7/x86_64/rubygem-passenger-native-4.0.18-9.5.sdl7.x86_64.rpm \
|
11
9
|
http://puias.math.ias.edu/data/puias/unsupported/7/x86_64/rubygem-passenger-native-libs-4.0.18-9.5.sdl7.x86_64.rpm
|
12
10
|
|
11
|
+
ADD . /app
|
12
|
+
|
13
13
|
RUN cd /app && bundle install
|
14
14
|
RUN cp /app/docker/passenger/passenger.conf /etc/httpd/conf.d/passenger.conf
|
15
15
|
RUN mkdir -p /var/log/inventory && chmod o+rwX /var/log/inventory
|
16
16
|
|
17
17
|
EXPOSE 80
|
18
|
+
WORKDIR /app
|
18
19
|
CMD ["/app/docker/passenger/run-httpd.sh"]
|
data/Dockerfile-unicorn
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
FROM centos
|
2
2
|
MAINTAINER Filirom1 <filirom1@gmail.com>
|
3
3
|
|
4
|
-
ADD . /app
|
5
|
-
|
6
4
|
RUN yum install -y epel-release
|
7
5
|
RUN yum install -y patch tar git ruby ruby-devel rubygem-bundler make gcc gcc-c++ zlib-devel libxml2-devel nginx
|
8
6
|
|
7
|
+
ADD . /app
|
8
|
+
|
9
9
|
RUN cd /app && bundle install
|
10
10
|
|
11
11
|
RUN cp /app/docker/unicorn/unicorn.conf /etc/nginx/conf.d/unicorn.conf && \
|
@@ -19,4 +19,5 @@ RUN mkdir -p /var/log/inventory && chmod o+rwX /var/log/inventory && \
|
|
19
19
|
VOLUME ["/var/log/nginx", "/var/log/inventory"]
|
20
20
|
|
21
21
|
EXPOSE 80
|
22
|
+
WORKDIR /app
|
22
23
|
CMD ["/app/docker/unicorn/run-unicorn.sh"]
|
@@ -63,7 +63,7 @@ module Inventory
|
|
63
63
|
def self.env()
|
64
64
|
hash = {}
|
65
65
|
ENV.each {|key, value|
|
66
|
-
next unless key.start_with? 'INVENTORY_'
|
66
|
+
next unless key.is_a? String and key.start_with? 'INVENTORY_'
|
67
67
|
key = key.gsub 'INVENTORY_', ''
|
68
68
|
key = key.downcase
|
69
69
|
hash[key] = value
|
@@ -37,12 +37,12 @@ module Inventory
|
|
37
37
|
InventoryLogger.logger.context_id = id
|
38
38
|
|
39
39
|
request.body.rewind
|
40
|
-
settings.middlewares.call(:id => id, :body => request.body.read, :config => settings.config)
|
41
|
-
{:id => id
|
40
|
+
result = settings.middlewares.call({ :id => id, :body => request.body.read, :config => settings.config })
|
41
|
+
return {:id => id}.merge!(result).to_json
|
42
42
|
end
|
43
43
|
|
44
44
|
error 400..500 do
|
45
|
-
{:id => env[:id], :
|
45
|
+
{:id => env[:id], :message => env['sinatra.error']}.to_json
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
data/plugins/index.rb
CHANGED
data/spec/unit/config_spec.rb
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
require 'inventory/server/config'
|
2
2
|
|
3
3
|
RSpec.describe Inventory::Server::Config do
|
4
|
-
before do
|
5
|
-
ENV['INVENTORY_FAILED_FACTS_DIR'] = "./log/"
|
6
|
-
end
|
7
|
-
|
8
4
|
context "without configuration" do
|
5
|
+
before do
|
6
|
+
# remove env env configuration
|
7
|
+
ENV.each{|key|
|
8
|
+
next unless key.is_a? String and key.start_with? 'INVENTORY_'
|
9
|
+
ENV[key] = nil
|
10
|
+
}
|
11
|
+
# avoid mkdir exception
|
12
|
+
expect(FileUtils).to receive(:mkdir_p).with(any_args)
|
13
|
+
end
|
14
|
+
|
9
15
|
it "should should use default configuration" do
|
10
16
|
config = Inventory::Server::Config.generate({})
|
11
17
|
expect(config[:smtp_port]).to eq 2525
|
@@ -13,6 +19,10 @@ RSpec.describe Inventory::Server::Config do
|
|
13
19
|
end
|
14
20
|
|
15
21
|
context "with etc configuration" do
|
22
|
+
before do
|
23
|
+
ENV['INVENTORY_FAILED_FACTS_DIR'] = "./log/"
|
24
|
+
end
|
25
|
+
|
16
26
|
before(:each) do
|
17
27
|
expect(Inventory::Server::Config).to receive(:etc).and_return({:smtp_port => 2424})
|
18
28
|
end
|
@@ -15,6 +15,7 @@ RSpec.describe Inventory::Server::HTTPServer do
|
|
15
15
|
middleware = lambda { |env|
|
16
16
|
executed += 1
|
17
17
|
raise 'my custom error message' if trigger_error
|
18
|
+
{"fact1" => 12}
|
18
19
|
}
|
19
20
|
|
20
21
|
# Proc.new is needed because Sinatra use lambda for lazy loading
|
@@ -33,7 +34,7 @@ RSpec.describe Inventory::Server::HTTPServer do
|
|
33
34
|
it "should do the processing" do
|
34
35
|
post '/api/v1/facts/MY_UUID', {"key" => "value"}
|
35
36
|
expect(last_response).to be_ok
|
36
|
-
expect(last_response.body).to eq('{"id":"MY_UUID","
|
37
|
+
expect(last_response.body).to eq('{"id":"MY_UUID","fact1":12}')
|
37
38
|
expect(executed).to eq 1
|
38
39
|
end
|
39
40
|
|
@@ -42,7 +43,7 @@ RSpec.describe Inventory::Server::HTTPServer do
|
|
42
43
|
post '/api/v1/facts/MY_UUID', {"key" => "value"}
|
43
44
|
expect(last_response).to_not be_ok
|
44
45
|
expect(last_response.status).to eq 500
|
45
|
-
expect(last_response.body).to eq('{"id":"MY_UUID","
|
46
|
+
expect(last_response.body).to eq('{"id":"MY_UUID","message":"my custom error message"}')
|
46
47
|
expect(executed).to eq 1
|
47
48
|
end
|
48
49
|
|
@@ -51,7 +52,7 @@ RSpec.describe Inventory::Server::HTTPServer do
|
|
51
52
|
post '/api/v1/facts/', {"key" => "value"}
|
52
53
|
expect(last_response).to_not be_ok
|
53
54
|
expect(last_response.status).to eq 404
|
54
|
-
expect(last_response.body).to eq('{"id":null,"
|
55
|
+
expect(last_response.body).to eq('{"id":null,"message":"Sinatra::NotFound"}')
|
55
56
|
expect(executed).to eq 0
|
56
57
|
end
|
57
58
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inventory-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Filirom1
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: midi-smtp-server
|