net-ldap 0.15.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of net-ldap might be problematic. Click here for more details.

@@ -1,8 +1,31 @@
1
1
  # Local OpenLDAP Integration Testing
2
2
 
3
- Set up a [Vagrant](http://www.vagrantup.com/) VM to run integration tests against OpenLDAP locally.
3
+ Set up a [Vagrant](http://www.vagrantup.com/) VM to run integration
4
+ tests against OpenLDAP locally. *NOTE*: To support some of the SSL tests,
5
+ Vagrant forwards localhost port 9389 to VM host port 9389. The port mapping
6
+ goes away when you run `vagrant destroy`.
4
7
 
5
- To run integration tests locally:
8
+ ## Install Vagrant
9
+
10
+ *NOTE*: The Vagrant gem (`gem install vagrant`) is
11
+ [no longer supported](https://www.vagrantup.com/docs/installation/). If you've
12
+ previously installed it, run `gem uninstall vagrant`. If you're an rbenv
13
+ user, you probably want to follow that up with `rbenv rehash; hash -r`.
14
+
15
+ If you use Homebrew on macOS:
16
+ ``` bash
17
+ $ brew update
18
+ $ brew cask install virtualbox
19
+ $ brew cask install vagrant
20
+ $ brew cask install vagrant-manager
21
+ $ vagrant plugin install vagrant-vbguest
22
+ ```
23
+
24
+ Installing Vagrant and virtualbox on other operating systems is left
25
+ as an exercise to the reader. Note the `vagrant-vbguest` plugin is required
26
+ to update the VirtualBox guest extensions in the guest VM image.
27
+
28
+ ## Run the tests
6
29
 
7
30
  ``` bash
8
31
  # start VM (from the correct directory)
@@ -15,6 +38,9 @@ $ ip=$(vagrant ssh -- "ifconfig eth1 | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]
15
38
  # change back to root project directory
16
39
  $ cd ../../../..
17
40
 
41
+ # set the TCP port for testing
42
+ $ export INTEGRATION_PORT=9389
43
+
18
44
  # run all tests, including integration tests
19
45
  $ time INTEGRATION=openldap INTEGRATION_HOST=$ip bundle exec rake
20
46
 
@@ -27,6 +53,12 @@ $ export INTEGRATION_HOST=$ip
27
53
 
28
54
  # now run tests without having to set ENV variables
29
55
  $ time bundle exec rake
56
+
57
+ # Once you're all done
58
+ $ cd test/support/vm/openldap
59
+ $ vagrant destroy
30
60
  ```
31
61
 
32
- You may need to `gem install vagrant` first in order to provision the VM.
62
+ If at any point your VM appears to have broken itself, `vagrant destroy`
63
+ from the `test/support/vm/openldap` directory will blow it away. You can
64
+ then do `vagrant up` and start over.
@@ -10,6 +10,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
10
10
  config.vm.box = "hashicorp/precise64"
11
11
 
12
12
  config.vm.network "private_network", type: :dhcp
13
+ config.vm.network "forwarded_port", guest: 389, host: 9389
13
14
 
14
15
  config.ssh.forward_agent = true
15
16
 
@@ -14,10 +14,18 @@ CA_FILE =
14
14
  if File.exist?("/etc/ssl/certs/cacert.pem")
15
15
  "/etc/ssl/certs/cacert.pem"
16
16
  else
17
- File.expand_path("fixtures/cacert.pem", File.dirname(__FILE__))
17
+ File.expand_path("fixtures/ca/cacert.pem", File.dirname(__FILE__))
18
18
  end
19
19
  end
20
20
 
21
+ BIND_CREDS = {
22
+ method: :simple,
23
+ username: "uid=user1,ou=People,dc=rubyldap,dc=com",
24
+ password: "passworD1",
25
+ }.freeze
26
+
27
+ TLS_OPTS = OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.merge({}).freeze
28
+
21
29
  if RUBY_VERSION < "2.0"
22
30
  class String
23
31
  def b
@@ -16,9 +16,7 @@ class TestLDAPConnection < Test::Unit::TestCase
16
16
  class FakeTCPSocket
17
17
  def initialize(host, port, socket_opts = {})
18
18
  status, error = host.split(".")
19
- if status == "fail"
20
- raise Object.const_get(error)
21
- end
19
+ raise Object.const_get(error) if status == "fail"
22
20
  end
23
21
  end
24
22
 
@@ -76,7 +76,7 @@ class TestLdif < Test::Unit::TestCase
76
76
 
77
77
  # Must test folded lines and base64-encoded lines as well as normal ones.
78
78
  def test_to_ldif
79
- data = File.open(TestLdifFilename, "rb") { |f| f.read }
79
+ data = File.open(TestLdifFilename, "rb", &:read)
80
80
  io = StringIO.new(data)
81
81
 
82
82
  # added .lines to turn to array because 1.9 doesn't have
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-ldap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis Cianfrocca
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2016-07-13 00:00:00.000000000 Z
16
+ date: 2017-02-24 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: flexmock
@@ -49,14 +49,14 @@ dependencies:
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: 0.28.0
52
+ version: 0.42.0
53
53
  type: :development
54
54
  prerelease: false
55
55
  version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: 0.28.0
59
+ version: 0.42.0
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: test-unit
62
62
  requirement: !ruby/object:Gem::Requirement
@@ -151,13 +151,16 @@ files:
151
151
  - lib/net/snmp.rb
152
152
  - net-ldap.gemspec
153
153
  - script/changelog
154
+ - script/generate-fixture-ca
154
155
  - script/install-openldap
155
156
  - script/package
156
157
  - script/release
157
158
  - test/ber/core_ext/test_array.rb
158
159
  - test/ber/core_ext/test_string.rb
159
160
  - test/ber/test_ber.rb
160
- - test/fixtures/cacert.pem
161
+ - test/fixtures/ca/ca.info
162
+ - test/fixtures/ca/cacert.pem
163
+ - test/fixtures/ca/cakey.pem
161
164
  - test/fixtures/openldap/memberof.ldif
162
165
  - test/fixtures/openldap/retcode.ldif
163
166
  - test/fixtures/openldap/slapd.conf.ldif
@@ -212,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
215
  version: '0'
213
216
  requirements: []
214
217
  rubyforge_project:
215
- rubygems_version: 2.5.1
218
+ rubygems_version: 2.5.2
216
219
  signing_key:
217
220
  specification_version: 4
218
221
  summary: Net::LDAP for Ruby (also called net-ldap) implements client access for the
@@ -222,7 +225,9 @@ test_files:
222
225
  - test/ber/core_ext/test_array.rb
223
226
  - test/ber/core_ext/test_string.rb
224
227
  - test/ber/test_ber.rb
225
- - test/fixtures/cacert.pem
228
+ - test/fixtures/ca/ca.info
229
+ - test/fixtures/ca/cacert.pem
230
+ - test/fixtures/ca/cakey.pem
226
231
  - test/fixtures/openldap/memberof.ldif
227
232
  - test/fixtures/openldap/retcode.ldif
228
233
  - test/fixtures/openldap/slapd.conf.ldif
@@ -1,20 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDRzCCAf+gAwIBAgIEVHpbmjANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhy
3
- dWJ5bGRhcDAeFw0xNDExMjkyMzQ5NDZaFw0xNTExMjkyMzQ5NDZaMBMxETAPBgNV
4
- BAMTCHJ1YnlsZGFwMIIBUjANBgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEA4pKe
5
- cDCNuL53fkpO/WSAS+gmMTsOs+oOK71kZlk2QT/MBz8TxC6m358qCADjnXcMVVxa
6
- ySQbQlVKZMkIvLNciZbiLDgC5II0NbHACNa8rqenoKRjS4J9W3OhA8EmnXn/Me+8
7
- uMCI9tfnKNRZYdkQZlra4I+Idn+xYfl/5q5b/7ZjPS2zY/585hFEYE+5vfOZVBSU
8
- 3HMNSeuJvTehLv7dD7aQfXNM4cRgHXequkJQ/HLLFAO4AgJ+LJrFWpj7GWz3crgr
9
- 9G5px4T78wJH3NQiOsG6UBXPw8c4T+Z6GAWX2l1zs1gZsaiCVbAraqK3404lL7yp
10
- +ThbsW3ifzgNPhmjScXBLdbEDrrAKosW7kkTOGzxiMCBmNlj2SKhcztoduAtfF1f
11
- Fs2Jk8MRTHwO8ThD7wIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB
12
- /wQFAwMHBAAwHQYDVR0OBBYEFJDm67ekyFu4/Z7VcO6Vk/5pinGcMA0GCSqGSIb3
13
- DQEBCwUAA4IBMQDHeEPzfYRtjynpUKyrtxx/6ZVOfCLuz4eHkBZggz/pJacDCv/a
14
- I//W03XCk8RWq/fWVVUzvxXgPwnYcw992PLM7XW81zp6ruRUDWooYnjHZZz3bRhe
15
- kC4QvM2mZhcsMVmhmWWKZn81qXgVdUY1XNRhk87cuXjF/UTpEieFvWAsCUkFZkqB
16
- AmySCuI/FuPaauT1YAltkIlYAEIGNJGZDMf2BTVUQpXhTXeS9/AZWLNDBwiq+fwo
17
- YYnsr9MnBXCEmg1gVSR/Ay2AZmbYfiYtb5kU8uq2lSWAUb4LX6HZl82wo3OilrJ2
18
- WXl6Qf+Fcy4qqkRt4AKHjtzizpEDCOVYuuG0Zoy+QnxNXRsEzpb8ymnJFrcgYfk/
19
- 6Lv2gWAFl5FqCZp7gBWg55eL2coT4C+mbNTF
20
- -----END CERTIFICATE-----