smart_proxy_dhcp_infoblox 0.0.4 → 0.0.5

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,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_proxy_dhcp_infoblox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Klaas Demter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-09 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
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: mocha
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
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: test-unit
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'
11
+ date: 2016-09-12 00:00:00.000000000 Z
12
+ dependencies: []
55
13
  description: Infoblox DHCP provider plugin for Foreman's smart proxy
56
14
  email:
57
15
  - demter@atix.de
@@ -62,14 +20,27 @@ files:
62
20
  - LICENSE
63
21
  - README.md
64
22
  - bundler.d/dhcp_infoblox.rb
65
- - config/dhcp_infoblox.yml
23
+ - config/dhcp_infoblox.yml.example
66
24
  - lib/smart_proxy_dhcp_infoblox.rb
67
- - lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_dependencies.rb
25
+ - lib/smart_proxy_dhcp_infoblox/common_crud.rb
68
26
  - lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_main.rb
69
27
  - lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_plugin.rb
70
28
  - lib/smart_proxy_dhcp_infoblox/dhcp_infoblox_version.rb
71
- - test/dhcp_infoblox_record_test.rb
29
+ - lib/smart_proxy_dhcp_infoblox/fixed_address_crud.rb
30
+ - lib/smart_proxy_dhcp_infoblox/grid_restart.rb
31
+ - lib/smart_proxy_dhcp_infoblox/host_ipv4_address_crud.rb
32
+ - lib/smart_proxy_dhcp_infoblox/ip_address_arithmetic.rb
33
+ - lib/smart_proxy_dhcp_infoblox/network_address_range_regex_generator.rb
34
+ - lib/smart_proxy_dhcp_infoblox/plugin_configuration.rb
35
+ - lib/smart_proxy_dhcp_infoblox/record_type_validator.rb
36
+ - lib/smart_proxy_dhcp_infoblox/unused_ips.rb
37
+ - test/host_and_fixedaddress_crud_test.rb
38
+ - test/infoblox_provider_test.rb
39
+ - test/plugin_configuration_test.rb
40
+ - test/record_type_validator_test.rb
41
+ - test/regex_generator_test.rb
72
42
  - test/test_helper.rb
43
+ - test/unused_ip_test.rb
73
44
  homepage: https://github.com/theforeman/smart_proxy_dhcp_infoblox
74
45
  licenses:
75
46
  - GPLv3
@@ -95,5 +66,10 @@ signing_key:
95
66
  specification_version: 4
96
67
  summary: Infoblox DHCP provider plugin for Foreman's smart proxy
97
68
  test_files:
98
- - test/dhcp_infoblox_record_test.rb
69
+ - test/host_and_fixedaddress_crud_test.rb
70
+ - test/infoblox_provider_test.rb
71
+ - test/plugin_configuration_test.rb
72
+ - test/record_type_validator_test.rb
73
+ - test/regex_generator_test.rb
99
74
  - test/test_helper.rb
75
+ - test/unused_ip_test.rb
@@ -1,14 +0,0 @@
1
- ---
2
- #
3
- # Configuration file for 'dhcp_infoblox' dhcp provider
4
- #
5
- # use :server setting in dhcp.yml if you are managing a dhcp server which is not localhost
6
- # Infoblox settings:
7
- :infoblox_user: "infoblox"
8
- :infoblox_pw: "infoblox"
9
- #Record type to manage. Can be "host" or "fixed_address"
10
- :record_type: 'host'
11
- #infoblox api version
12
- :wapi_version: '2.0'
13
- #Use pre-definded ranges in networks to find available IP's
14
- :range: false
@@ -1,5 +0,0 @@
1
- require 'dhcp_common/dependency_injection/dependencies'
2
-
3
- class Proxy::DHCP::DependencyInjection::Dependencies
4
- dependency :dhcp_provider, Proxy::DHCP::Infoblox::Provider
5
- end
@@ -1,95 +0,0 @@
1
- require 'test_helper'
2
- require 'dns/dns_plugin'
3
- require 'smart_proxy_dhcp_infoblox/dhcp_infoblox_plugin'
4
- require 'smart_proxy_dhcp_infoblox/dhcp_infoblox_main'
5
-
6
-
7
- class InfobloxRecordTest < Test::Unit::TestCase
8
-
9
- def test_default_settings
10
- Proxy::Dns::Infoblox::Plugin.load_test_settings({})
11
- assert_equal "default_value", Proxy::Dns::Nsupdate::Plugin.settings.required_setting
12
- assert_equal "/must/exist", Proxy::Dns::Nsupdate::Plugin.settings.required_path
13
- end
14
-
15
- def test_initialized_correctly
16
- Proxy::Dns::Infoblox::Plugin.load_test_settings(:example_setting => 'a_value',
17
- :required_setting => 'required_setting',
18
- :optional_path => '/some/path',
19
- :required_path => '/required/path')
20
-
21
- assert_equal 'a_value', klass.new.example_setting
22
- assert_equal 'required_value', klass.new.required_setting
23
- assert_equal '/some/path', klass.new.optional_path
24
- assert_equal '/required/path', klass.new.required_path
25
- end
26
-
27
- # Test that a missing :example_setting throws an error
28
- # Test A record creation
29
- def test_create_a
30
- # Use mocha to expect any calls to backend services to prevent creating real records
31
- # MyService.expects(:create).with(:ip => '10.1.1.1', :name => 'test.example.com').returns(true)
32
-
33
- assert klass.new.create_a_record('test.example.com', '10.1.1.1')
34
- end
35
-
36
- # Test A record creation fails if the record exists
37
- def test_create_a_conflict
38
- # Use mocha to expect any calls to backend services to prevent creating real records
39
- # MyService.expects(:create).with(:ip => '10.1.1.1', :name => 'test.example.com').returns(false)
40
-
41
- assert_raise(Proxy::Dns::Collision) { klass.new.create_a_record('test.example.com', '10.1.1.1') }
42
- end
43
-
44
- # Test PTR record creation
45
- def test_create_ptr
46
- # Use mocha to expect any calls to backend services to prevent creating real records
47
- # MyService.expects(:create_reverse).with(:ip => '10.1.1.1', :name => 'test.example.com').returns(true)
48
-
49
- assert klass.new.create_ptr_record('test.example.com', '10.1.1.1')
50
- end
51
-
52
- # Test PTR record creation fails if the record exists
53
- def test_create_ptr_conflict
54
- # Use mocha to expect any calls to backend services to prevent creating real records
55
- # MyService.expects(:create_reverse).with(:ip => '10.1.1.1', :name => 'test.example.com').returns(false)
56
-
57
- assert_raise(Proxy::Dns::Collision) { klass.new.create_ptr_record('test.example.com', '10.1.1.1') }
58
- end
59
-
60
- # Test A record removal
61
- def test_remove_a
62
- # Use mocha to expect any calls to backend services to prevent deleting real records
63
- # MyService.expects(:delete).with(:name => 'test.example.com').returns(true)
64
-
65
- assert klass.new.remove_a_record('test.example.com')
66
- end
67
-
68
- # Test A record removal fails if the record doesn't exist
69
- def test_remove_a_not_found
70
- # Use mocha to expect any calls to backend services to prevent deleting real records
71
- # MyService.expects(:delete).with(:name => 'test.example.com').returns(false)
72
-
73
- assert_raise(Proxy::Dns::NotFound) { assert klass.new.remove_a_record('test.example.com') }
74
- end
75
-
76
- # Test PTR record removal
77
- def test_remove_ptr
78
- # Use mocha to expect any calls to backend services to prevent deleting real records
79
- # MyService.expects(:delete).with(:ip => '10.1.1.1').returns(true)
80
-
81
- assert klass.new.remove_ptr_record('1.1.1.10.in-addr.arpa')
82
- end
83
-
84
- # Test PTR record removal fails if the record doesn't exist
85
- def test_remove_ptr_not_found
86
- # Use mocha to expect any calls to backend services to prevent deleting real records
87
- # MyService.expects(:delete).with(:ip => '10.1.1.1').returns(false)
88
-
89
- assert_raise(Proxy::Dns::NotFound) { assert klass.new.remove_ptr_record('1.1.1.10.in-addr.arpa') }
90
- end
91
-
92
- def klass
93
- Proxy::Dns::Infoblox::Record
94
- end
95
- end