smart_proxy_omaha 0.0.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.
- checksums.yaml +7 -0
- data/Gemfile +14 -0
- data/LICENSE +675 -0
- data/README.md +99 -0
- data/Rakefile +14 -0
- data/bin/smart-proxy-omaha-sync +35 -0
- data/bundler.d/omaha.rb +1 -0
- data/extra/foreman-proxy-omaha-sync.cron +2 -0
- data/lib/smart_proxy_omaha.rb +3 -0
- data/lib/smart_proxy_omaha/configuration_loader.rb +17 -0
- data/lib/smart_proxy_omaha/dependency_injection.rb +8 -0
- data/lib/smart_proxy_omaha/foreman_client.rb +11 -0
- data/lib/smart_proxy_omaha/http_download.rb +65 -0
- data/lib/smart_proxy_omaha/http_request.rb +20 -0
- data/lib/smart_proxy_omaha/http_shared.rb +30 -0
- data/lib/smart_proxy_omaha/metadata.rb +34 -0
- data/lib/smart_proxy_omaha/metadata_provider.rb +23 -0
- data/lib/smart_proxy_omaha/omaha_api.rb +33 -0
- data/lib/smart_proxy_omaha/omaha_http_config.ru +9 -0
- data/lib/smart_proxy_omaha/omaha_plugin.rb +18 -0
- data/lib/smart_proxy_omaha/omaha_protocol.rb +65 -0
- data/lib/smart_proxy_omaha/omaha_protocol/eventacknowledgeresponse.rb +9 -0
- data/lib/smart_proxy_omaha/omaha_protocol/handler.rb +84 -0
- data/lib/smart_proxy_omaha/omaha_protocol/noupdateresponse.rb +9 -0
- data/lib/smart_proxy_omaha/omaha_protocol/request.rb +101 -0
- data/lib/smart_proxy_omaha/omaha_protocol/response.rb +33 -0
- data/lib/smart_proxy_omaha/omaha_protocol/updateresponse.rb +35 -0
- data/lib/smart_proxy_omaha/release.rb +121 -0
- data/lib/smart_proxy_omaha/release_provider.rb +37 -0
- data/lib/smart_proxy_omaha/release_repository.rb +11 -0
- data/lib/smart_proxy_omaha/syncer.rb +48 -0
- data/lib/smart_proxy_omaha/version.rb +5 -0
- data/settings.d/omaha.yml.example +5 -0
- data/smart_proxy_omaha.gemspec +23 -0
- data/test/fixtures/request_update_complete_error.xml +7 -0
- data/test/fixtures/request_update_complete_noupdate.xml +9 -0
- data/test/fixtures/request_update_complete_update.xml +9 -0
- data/test/fixtures/request_update_download_started.xml +7 -0
- data/test/fixtures/response_update_complete_error.xml +5 -0
- data/test/fixtures/response_update_complete_noupdate.xml +7 -0
- data/test/fixtures/response_update_complete_update.xml +19 -0
- data/test/fixtures/stable.html +97 -0
- data/test/omaha/http_download_test.rb +34 -0
- data/test/omaha/http_request_test.rb +12 -0
- data/test/omaha/metadata_provider_test.rb +33 -0
- data/test/omaha/omaha_api_test.rb +75 -0
- data/test/omaha/omaha_protocol/request_test.rb +77 -0
- data/test/omaha/release_provider_test.rb +59 -0
- data/test/omaha/release_test.rb +110 -0
- data/test/omaha/syncer_test.rb +41 -0
- data/test/test_helper.rb +18 -0
- metadata +167 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'smart_proxy_omaha/omaha_protocol/request'
|
3
|
+
|
4
|
+
class RequestTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
Resolv.any_instance.stubs(:getname).returns('omaha.example.com')
|
8
|
+
@request = Proxy::Omaha::OmahaProtocol::Request.new(
|
9
|
+
xml_fixture('request_update_complete_update'),
|
10
|
+
:ip => '1.1.1.1',
|
11
|
+
:base_url => 'http://www.example.org/',
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_parses_request
|
16
|
+
assert_equal 'e96281a6-d1af-4bde-9a0a-97b76e56dc57', @request.appid
|
17
|
+
assert_equal '1068', @request.osmajor
|
18
|
+
assert_equal '9.0', @request.osminor
|
19
|
+
assert_equal 'stable', @request.track
|
20
|
+
assert_equal 'amd64-usr', @request.board
|
21
|
+
assert_equal '1010.5.0', @request.alephversion
|
22
|
+
assert_equal '', @request.oemversion
|
23
|
+
assert_equal '', @request.oem
|
24
|
+
assert_equal 'CoreOS', @request.platform
|
25
|
+
assert_equal 3, @request.eventtype
|
26
|
+
assert_equal 2, @request.eventresult
|
27
|
+
assert @request.updatecheck
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_from_coreos
|
31
|
+
assert @request.from_coreos?
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_facts_data
|
35
|
+
expected = {
|
36
|
+
:facts => {
|
37
|
+
:_timestamp => 'now',
|
38
|
+
:_type => :foreman_omaha,
|
39
|
+
:alephversion => '1010.5.0',
|
40
|
+
:appid => 'e96281a6-d1af-4bde-9a0a-97b76e56dc57',
|
41
|
+
:board => 'amd64-usr',
|
42
|
+
:hostname => 'omaha.example.com',
|
43
|
+
:ipaddress => '1.1.1.1',
|
44
|
+
:ipaddress6 => nil,
|
45
|
+
:oem => '',
|
46
|
+
:oemversion => '',
|
47
|
+
:osmajor => '1068',
|
48
|
+
:osminor => '9.0',
|
49
|
+
:platform => 'CoreOS',
|
50
|
+
:track => 'stable',
|
51
|
+
:version =>'1068.9.0'
|
52
|
+
},
|
53
|
+
:name => 'omaha.example.com'
|
54
|
+
}
|
55
|
+
received = @request.facts_data
|
56
|
+
received[:facts][:_timestamp] = 'now'
|
57
|
+
assert_equal expected, received
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_to_status
|
61
|
+
assert_equal :complete, @request.to_status
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_parse_ipaddress
|
65
|
+
assert_equal '1.1.1.1', @request.ipaddress
|
66
|
+
assert_nil @request.ipaddress6
|
67
|
+
|
68
|
+
request6 = Proxy::Omaha::OmahaProtocol::Request.new(
|
69
|
+
xml_fixture('request_update_complete_update'),
|
70
|
+
:ip => '2001:db8::1',
|
71
|
+
:base_url => 'http://www.example.org/',
|
72
|
+
)
|
73
|
+
|
74
|
+
assert_nil request6.ipaddress
|
75
|
+
assert_equal '2001:db8::1', request6.ipaddress6
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'smart_proxy_omaha/release'
|
3
|
+
require 'smart_proxy_omaha/release_provider'
|
4
|
+
|
5
|
+
class ReleaseProviderTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@provider = Proxy::Omaha::ReleaseProvider.new(:track => :stable)
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_releases
|
11
|
+
stub_request(:get, 'https://stable.release.core-os.net/amd64-usr/').
|
12
|
+
to_return(:status => [200, 'OK'], :body => fixture('stable.html'))
|
13
|
+
|
14
|
+
expected = ['367.1.0',
|
15
|
+
'410.0.0',
|
16
|
+
'410.1.0',
|
17
|
+
'410.2.0',
|
18
|
+
'444.4.0',
|
19
|
+
'444.5.0',
|
20
|
+
'494.3.0',
|
21
|
+
'494.4.0',
|
22
|
+
'494.5.0',
|
23
|
+
'522.4.0',
|
24
|
+
'522.5.0',
|
25
|
+
'522.6.0',
|
26
|
+
'557.2.0',
|
27
|
+
'607.0.0',
|
28
|
+
'633.1.0',
|
29
|
+
'647.0.0',
|
30
|
+
'647.2.0',
|
31
|
+
'681.0.0',
|
32
|
+
'681.1.0',
|
33
|
+
'681.2.0',
|
34
|
+
'717.1.0',
|
35
|
+
'717.3.0',
|
36
|
+
'723.3.0',
|
37
|
+
'766.3.0',
|
38
|
+
'766.4.0',
|
39
|
+
'766.5.0',
|
40
|
+
'835.8.0',
|
41
|
+
'835.9.0',
|
42
|
+
'835.10.0',
|
43
|
+
'835.11.0',
|
44
|
+
'835.12.0',
|
45
|
+
'835.13.0',
|
46
|
+
'899.13.0',
|
47
|
+
'899.15.0',
|
48
|
+
'899.17.0',
|
49
|
+
'1010.5.0',
|
50
|
+
'1010.6.0',
|
51
|
+
'1068.6.0',
|
52
|
+
'1068.8.0',
|
53
|
+
'1068.9.0',
|
54
|
+
'1068.10.0',
|
55
|
+
'1122.2.0']
|
56
|
+
|
57
|
+
assert_equal expected.map {|v| Proxy::Omaha::Release.new(:track => @provider.track, :version => v) }, @provider.releases
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'tmpdir'
|
4
|
+
require 'smart_proxy_omaha/release'
|
5
|
+
|
6
|
+
class ReleaseTest < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@contentpath = Dir.mktmpdir
|
10
|
+
Proxy::Omaha::Plugin.load_test_settings(
|
11
|
+
{
|
12
|
+
:contentpath => @contentpath
|
13
|
+
}
|
14
|
+
)
|
15
|
+
@release = Proxy::Omaha::Release.new(
|
16
|
+
:track => :stable,
|
17
|
+
:version => '1068.9.0',
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def teardown
|
22
|
+
FileUtils.rm_rf(@contentpath)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_path
|
26
|
+
assert_equal "#{@contentpath}/stable/1068.9.0", @release.path
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_exists?
|
30
|
+
assert_equal false, @release.exists?
|
31
|
+
FileUtils.mkdir_p(@release.path)
|
32
|
+
assert_equal true, @release.exists?
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_create
|
36
|
+
@release.expects(:create_path).once.returns(true)
|
37
|
+
@release.expects(:download).once.returns(true)
|
38
|
+
@release.expects(:create_metadata).once.returns(true)
|
39
|
+
assert @release.create
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_create_with_failure
|
43
|
+
@release.expects(:create_path).once.returns(false)
|
44
|
+
@release.expects(:download).never
|
45
|
+
@release.expects(:create_metadata).never
|
46
|
+
refute @release.create
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_create_path
|
50
|
+
assert @release.create_path
|
51
|
+
assert File.directory?(@release.path)
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_compare
|
55
|
+
older = Proxy::Omaha::Release.new(
|
56
|
+
:track => :stable,
|
57
|
+
:version => '100.0.0',
|
58
|
+
)
|
59
|
+
newer = Proxy::Omaha::Release.new(
|
60
|
+
:track => :stable,
|
61
|
+
:version => '2000.0.0',
|
62
|
+
)
|
63
|
+
assert_equal 0, @release.<=>(@release)
|
64
|
+
assert_equal -1, @release.<=>(newer)
|
65
|
+
assert_equal 1, @release.<=>(older)
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_equality
|
69
|
+
other = Proxy::Omaha::Release.new(
|
70
|
+
:track => :stable,
|
71
|
+
:version => '100.0.0',
|
72
|
+
)
|
73
|
+
assert_equal @release, @release
|
74
|
+
refute_equal other, @release
|
75
|
+
refute_equal true, @release
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_to_s
|
79
|
+
assert_equal '1068.9.0', @release.to_s
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_download
|
83
|
+
stub_request(:get, /.*release\.core-os.*/).to_return(:status => [200, 'OK'], :body => "body")
|
84
|
+
expected = ['coreos_production_pxe.vmlinuz', 'coreos_production_pxe_image.cpio.gz', 'update.gz']
|
85
|
+
|
86
|
+
assert_equal true, @release.create_path
|
87
|
+
assert_equal true, @release.download
|
88
|
+
|
89
|
+
expected.each do |f|
|
90
|
+
assert File.exist?(File.join(@release.path, f))
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_create_metadata
|
95
|
+
file = File.join(@release.path, 'metadata.json')
|
96
|
+
|
97
|
+
digest = mock()
|
98
|
+
digest.expects(:base64digest).twice.returns('foo')
|
99
|
+
File.expects(:size).once.returns(0)
|
100
|
+
Digest::SHA1.expects(:file).once.returns(digest)
|
101
|
+
Digest::SHA256.expects(:file).once.returns(digest)
|
102
|
+
|
103
|
+
expected = '{"release":"1068.9.0","sha1_b64":"foo","sha256_b64":"foo","size":0,"track":"stable"}'
|
104
|
+
|
105
|
+
assert_equal true, @release.create_path
|
106
|
+
assert_equal true, @release.create_metadata
|
107
|
+
assert File.exist?(file)
|
108
|
+
assert_equal expected, File.read(file)
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'smart_proxy_omaha/syncer'
|
3
|
+
|
4
|
+
class SyncerTest < Test::Unit::TestCase
|
5
|
+
|
6
|
+
class FakeRelease
|
7
|
+
def exists?
|
8
|
+
false
|
9
|
+
end
|
10
|
+
|
11
|
+
def valid?
|
12
|
+
true
|
13
|
+
end
|
14
|
+
|
15
|
+
def create; end
|
16
|
+
end
|
17
|
+
|
18
|
+
class FakeReleaseProvider
|
19
|
+
def releases
|
20
|
+
3.times.map { FakeRelease.new }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def setup
|
25
|
+
Proxy::Omaha::Plugin.load_test_settings({:sync_releases => 1})
|
26
|
+
@provider = FakeReleaseProvider.new
|
27
|
+
@syncer = Proxy::Omaha::Syncer.new
|
28
|
+
@syncer.stubs(:release_provider).returns(@provider)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_sync
|
32
|
+
FakeRelease.any_instance.expects(:create).times(3)
|
33
|
+
@syncer.run
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_sync_existing
|
37
|
+
FakeRelease.any_instance.stubs(:exists?).returns(true)
|
38
|
+
FakeRelease.any_instance.expects(:create).never
|
39
|
+
@syncer.run
|
40
|
+
end
|
41
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'mocha/setup'
|
3
|
+
require 'webmock/test_unit'
|
4
|
+
require 'mocha/test_unit'
|
5
|
+
require 'rack/test'
|
6
|
+
|
7
|
+
require 'smart_proxy_for_testing'
|
8
|
+
|
9
|
+
# create log directory in our (not smart-proxy) directory
|
10
|
+
FileUtils.mkdir_p File.dirname(Proxy::SETTINGS.log_file)
|
11
|
+
|
12
|
+
def fixture(name)
|
13
|
+
File.read(File.expand_path("../fixtures/#{name}", __FILE__))
|
14
|
+
end
|
15
|
+
|
16
|
+
def xml_fixture(name)
|
17
|
+
fixture("#{name}.xml")
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,167 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: smart_proxy_omaha
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Timo Goebel
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-10-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mocha
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: test-unit
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: This plug-in adds support for the Omaha Procotol to Foreman's Smart Proxy.
|
84
|
+
email: mail@timogoebel.name
|
85
|
+
executables:
|
86
|
+
- smart-proxy-omaha-sync
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files:
|
89
|
+
- README.md
|
90
|
+
- LICENSE
|
91
|
+
files:
|
92
|
+
- Gemfile
|
93
|
+
- LICENSE
|
94
|
+
- README.md
|
95
|
+
- Rakefile
|
96
|
+
- bin/smart-proxy-omaha-sync
|
97
|
+
- bundler.d/omaha.rb
|
98
|
+
- extra/foreman-proxy-omaha-sync.cron
|
99
|
+
- lib/smart_proxy_omaha.rb
|
100
|
+
- lib/smart_proxy_omaha/configuration_loader.rb
|
101
|
+
- lib/smart_proxy_omaha/dependency_injection.rb
|
102
|
+
- lib/smart_proxy_omaha/foreman_client.rb
|
103
|
+
- lib/smart_proxy_omaha/http_download.rb
|
104
|
+
- lib/smart_proxy_omaha/http_request.rb
|
105
|
+
- lib/smart_proxy_omaha/http_shared.rb
|
106
|
+
- lib/smart_proxy_omaha/metadata.rb
|
107
|
+
- lib/smart_proxy_omaha/metadata_provider.rb
|
108
|
+
- lib/smart_proxy_omaha/omaha_api.rb
|
109
|
+
- lib/smart_proxy_omaha/omaha_http_config.ru
|
110
|
+
- lib/smart_proxy_omaha/omaha_plugin.rb
|
111
|
+
- lib/smart_proxy_omaha/omaha_protocol.rb
|
112
|
+
- lib/smart_proxy_omaha/omaha_protocol/eventacknowledgeresponse.rb
|
113
|
+
- lib/smart_proxy_omaha/omaha_protocol/handler.rb
|
114
|
+
- lib/smart_proxy_omaha/omaha_protocol/noupdateresponse.rb
|
115
|
+
- lib/smart_proxy_omaha/omaha_protocol/request.rb
|
116
|
+
- lib/smart_proxy_omaha/omaha_protocol/response.rb
|
117
|
+
- lib/smart_proxy_omaha/omaha_protocol/updateresponse.rb
|
118
|
+
- lib/smart_proxy_omaha/release.rb
|
119
|
+
- lib/smart_proxy_omaha/release_provider.rb
|
120
|
+
- lib/smart_proxy_omaha/release_repository.rb
|
121
|
+
- lib/smart_proxy_omaha/syncer.rb
|
122
|
+
- lib/smart_proxy_omaha/version.rb
|
123
|
+
- settings.d/omaha.yml.example
|
124
|
+
- smart_proxy_omaha.gemspec
|
125
|
+
- test/fixtures/request_update_complete_error.xml
|
126
|
+
- test/fixtures/request_update_complete_noupdate.xml
|
127
|
+
- test/fixtures/request_update_complete_update.xml
|
128
|
+
- test/fixtures/request_update_download_started.xml
|
129
|
+
- test/fixtures/response_update_complete_error.xml
|
130
|
+
- test/fixtures/response_update_complete_noupdate.xml
|
131
|
+
- test/fixtures/response_update_complete_update.xml
|
132
|
+
- test/fixtures/stable.html
|
133
|
+
- test/omaha/http_download_test.rb
|
134
|
+
- test/omaha/http_request_test.rb
|
135
|
+
- test/omaha/metadata_provider_test.rb
|
136
|
+
- test/omaha/omaha_api_test.rb
|
137
|
+
- test/omaha/omaha_protocol/request_test.rb
|
138
|
+
- test/omaha/release_provider_test.rb
|
139
|
+
- test/omaha/release_test.rb
|
140
|
+
- test/omaha/syncer_test.rb
|
141
|
+
- test/test_helper.rb
|
142
|
+
homepage: http://github.com/theforeman/smart_proxy_omaha
|
143
|
+
licenses:
|
144
|
+
- GPLv3
|
145
|
+
metadata: {}
|
146
|
+
post_install_message:
|
147
|
+
rdoc_options: []
|
148
|
+
require_paths:
|
149
|
+
- lib
|
150
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
requirements: []
|
161
|
+
rubyforge_project:
|
162
|
+
rubygems_version: 2.4.5
|
163
|
+
signing_key:
|
164
|
+
specification_version: 4
|
165
|
+
summary: Omaha protocol support for smart-proxy
|
166
|
+
test_files: []
|
167
|
+
has_rdoc:
|