Skip to content

Commit 3c7798c

Browse files
authored
Merge branch 'theforeman:master' into optional_domain_controller
2 parents 17d0a0a + bd3a949 commit 3c7798c

13 files changed

+65
-44
lines changed

Gemfile

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1+
# frozen_string_literal: true
2+
13
source 'https://rubygems.org'
24
gemspec
35

46
group :development do
5-
if RUBY_VERSION < '2.2.2'
6-
gem 'rack-test', '~> 0.7.0'
7-
else
8-
gem 'rack-test'
9-
end
10-
7+
gem 'rack-test'
118
gem 'smart_proxy', :git => 'https://github.com/theforeman/smart-proxy.git', :branch => 'develop'
129
end

Rakefile

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'rake'
24
require 'rake/testtask'
35

bundler.d/realm_ad_plugin.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
# frozen_string_literal: true
2+
13
gem 'smart_proxy_realm_ad_plugin'
24
gem 'radcli'

lib/smart_proxy_realm_ad/configuration_loader.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Proxy::AdRealm
24
class ConfigurationLoader
35
def load_classes

lib/smart_proxy_realm_ad/plugin.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'smart_proxy_realm_ad/version'
24

35
module Proxy::AdRealm

lib/smart_proxy_realm_ad/provider.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'proxy/kerberos'
24
require 'radcli'
35
require 'digest'

lib/smart_proxy_realm_ad/version.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Proxy
24
module AdRealm
35
VERSION = '0.1'.freeze

lib/smart_proxy_realm_ad_plugin.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'smart_proxy_realm_ad/configuration_loader'
24
require 'smart_proxy_realm_ad/plugin'
35

smart_proxy_realm_ad_plugin.gemspec

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require File.expand_path('../lib/smart_proxy_realm_ad/version', __FILE__)
24
require 'date'
35

test/ad_provider_test.rb

+8-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'rubygems'
24
require 'test_helper'
35
require 'smart_proxy_realm_ad/provider'
@@ -72,7 +74,7 @@ def test_rebuild_host_returns_password
7274
end
7375

7476
def test_generate_password_returns_random_passwords
75-
assert_not_equal @provider.generate_password, @provider.generate_password
77+
refute_equal @provider.generate_password, @provider.generate_password
7678
end
7779

7880
def test_generate_password_returns_20_char_long_password
@@ -81,22 +83,22 @@ def test_generate_password_returns_20_char_long_password
8183

8284
def test_apply_computername_prefix_should_return_false_when_prefix_is_nil
8385
provider = Proxy::AdRealm::Provider.new(computername_prefix: nil, realm: 'example.com')
84-
assert_false provider.apply_computername_prefix?('host.example.com')
86+
refute provider.apply_computername_prefix?('host.example.com')
8587
end
8688

8789
def test_apply_computername_prefix_should_return_false_when_prefix_is_empty
8890
provider = Proxy::AdRealm::Provider.new(computername_prefix: '', realm: 'example.com')
89-
assert_false provider.apply_computername_prefix?('host.example.com')
91+
refute provider.apply_computername_prefix?('host.example.com')
9092
end
9193

9294
def test_apply_computername_prefix_should_return_false_when_hostname_contains_prefix
9395
provider = Proxy::AdRealm::Provider.new(computername_prefix: 'PREFIX-', realm: 'example.com')
94-
assert_false provider.apply_computername_prefix?('prefix-host.example.com')
96+
refute provider.apply_computername_prefix?('prefix-host.example.com')
9597
end
9698

9799
def test_apply_computername_prefix_should_return_true_when_computername_hash_is_used
98100
provider = Proxy::AdRealm::Provider.new(computername_prefix: 'PREFIX-', computername_hash: true, realm: 'example.com')
99-
assert_true provider.apply_computername_prefix?('host.example.com')
101+
assert provider.apply_computername_prefix?('host.example.com')
100102
end
101103

102104
def test_hostfqdn_to_computername_uses_prefix
@@ -119,7 +121,7 @@ def test_unrecognized_realm_raises_exception
119121
end
120122

121123
def test_find
122-
assert_true @provider.find('a_host_fqdn')
124+
assert @provider.find('a_host_fqdn')
123125
end
124126

125127
def test_delete

test/internal_api_test.rb

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'test_helper'
24
require 'rack/test'
35
require 'realm/configuration_loader'
@@ -25,28 +27,28 @@ def app
2527
end
2628

2729
def setup
28-
@server = Proxy::AdRealm::Provider.new(:realm => "test.com")
30+
@server = Proxy::AdRealm::Provider.new(:realm => 'test.com')
2931
end
3032

3133
def test_create_host
32-
realm = "TEST.COM"
33-
hostname = "test.com"
34+
realm = 'TEST.COM'
35+
hostname = 'test.com'
3436
@server.expects(:create).with(realm, hostname, is_a(Hash))
3537
post "/#{realm}", :hostname => 'test.com'
3638
assert last_response.ok?, "Last response was not ok: #{last_response.status} #{last_response.body}"
3739
end
3840

3941
def test_rebuild_host
40-
realm = "TEST.COM"
41-
hostname = "test.com"
42+
realm = 'TEST.COM'
43+
hostname = 'test.com'
4244
@server.expects(:create).with(realm, hostname, has_entry('rebuild', 'true'))
4345
post "/#{realm}", :hostname => 'test.com', :rebuild => true
4446
assert last_response.ok?, "Last response was not ok: #{last_response.status} #{last_response.body}"
4547
end
4648

4749
def test_delete_host
48-
realm = "TEST.COM"
49-
hostname = "test.com"
50+
realm = 'TEST.COM'
51+
hostname = 'test.com'
5052
@server.expects(:delete).with(realm, hostname)
5153
delete "/#{realm}/#{hostname}"
5254
assert last_response.ok?, "Last response was not ok: #{last_response.status} #{last_response.body}"

test/test_helper.rb

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
# frozen_string_literal: true
2+
13
require 'test/unit'
2-
require 'mocha/setup'
4+
require 'mocha/test_unit'
35

46
require 'smart_proxy_for_testing'
57

68
# create log directory in our (not smart-proxy) directory
7-
FileUtils.mkdir_p File.dirname(Proxy::SETTINGS.log_file)
9+
FileUtils.mkdir_p File.dirname(Proxy::SETTINGS.log_file)

test/test_radcli.rb

+25-23
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,59 @@
1+
# frozen_string_literal: true
2+
13
require 'radcli'
24

35
# Connect using password
4-
adconn = Adcli::AdConn.new("example.com")
5-
adconn.set_domain_realm("EXAMPLE.COM")
6-
adconn.set_domain_controller("dc.example.com")
7-
adconn.set_login_user("realm-proxy")
8-
adconn.set_user_password("password")
6+
adconn = Adcli::AdConn.new('example.com')
7+
adconn.set_domain_realm('EXAMPLE.COM')
8+
adconn.set_domain_controller('dc.example.com')
9+
adconn.set_login_user('realm-proxy')
10+
adconn.set_user_password('password')
911
res = adconn.connect
1012

1113
# Connect using kerberos keytab
1214
require 'radcli'
13-
require "rkerberos"
14-
principal = "realm-proxy"
15-
keytab="/etc/foreman-proxy/realm-proxy.keytab"
15+
require 'rkerberos'
16+
principal = 'realm-proxy'
17+
keytab='/etc/foreman-proxy/realm-proxy.keytab'
1618
krb5 = Kerberos::Krb5.new
1719
ccache = Kerberos::Krb5::CredentialsCache.new
1820
krb5.get_init_creds_keytab principal, keytab, nil, ccache
19-
adconn = Adcli::AdConn.new("example.com")
20-
adconn.set_domain_realm("EXAMPLE.COM")
21-
adconn.set_domain_controller("dc.example.com")
22-
adconn.set_login_ccache_name("")
21+
adconn = Adcli::AdConn.new('example.com')
22+
adconn.set_domain_realm('EXAMPLE.COM')
23+
adconn.set_domain_controller('dc.example.com')
24+
adconn.set_login_ccache_name('')
2325
res = adconn.connect
2426

2527

2628
# Delete the computer accounts object
2729
enroll = Adcli::AdEnroll.new(adconn)
28-
enroll.set_computer_name("server1")
30+
enroll.set_computer_name('server1')
2931
enroll.delete()
3032

3133
# Create a computer account object
3234
enroll = Adcli::AdEnroll.new(adconn)
33-
enroll.set_computer_name("server1")
34-
enroll.set_host_fqdn("server1.example.com")
35-
enroll.set_computer_password("password")
35+
enroll.set_computer_name('server1')
36+
enroll.set_host_fqdn('server1.example.com')
37+
enroll.set_computer_password('password')
3638
enroll.join()
3739

3840
# Reset a computer accounts password
39-
adconn.set_domain_controller("dc.example.com")
41+
adconn.set_domain_controller('dc.example.com')
4042
enroll = Adcli::AdEnroll.new(adconn)
41-
enroll.set_computer_name("server1")
42-
enroll.set_computer_password("newpass")
43+
enroll.set_computer_name('server1')
44+
enroll.set_computer_password('newpass')
4345
enroll.password()
4446

4547
# Delete the computer accounts object
4648
enroll = Adcli::AdEnroll.new(adconn)
47-
enroll.set_computer_name("server1")
49+
enroll.set_computer_name('server1')
4850
enroll.delete()
4951

5052

5153
# Create a computer account object in specific OU
5254
enroll = Adcli::AdEnroll.new(adconn)
5355
enroll.set_domain_ou('OU=Computers,OU=Foobar,DC=example,DC=com')
54-
enroll.set_computer_name("server1")
55-
enroll.set_host_fqdn("server1.example.com")
56-
enroll.set_computer_password("password")
56+
enroll.set_computer_name('server1')
57+
enroll.set_host_fqdn('server1.example.com')
58+
enroll.set_computer_password('password')
5759
enroll.join()

0 commit comments

Comments
 (0)