vagrant-smartos-zones 0.2.4 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a13e6ad538b1e3c6c75a7a12d0d7c18d12c43e7
4
- data.tar.gz: 7070cd9f5472d61db25ae4124a3b095e80971994
3
+ metadata.gz: 017d81d8ef59ed8fe4f8ffdbe557a987ed8b4ada
4
+ data.tar.gz: ad0ce0a88a2debd443641eb771916ad74ac4936e
5
5
  SHA512:
6
- metadata.gz: ce4d10009bbc7a2be3fb38ab0c304aecb969b2924420bd1205b149870aadb4b8e7fa22d37a9a79a46a0c2c98af0d4af5234337bb1727ba04e718b4533d876ff9
7
- data.tar.gz: ce02542db87e470874c2ca803144abae4060a71e7b46f2f94cfdd516d19add28b957c1b1dbbb25873cb8e8cfc8369c8e9a566ee87ef5d3a1c5d2c3ba4f26dd00
6
+ metadata.gz: 5de14a90d5cf2d8a26badff84b4682b0b875be92c61405c0777012d699b73cdf0e85b6416ae2c8183cf09a8d92424b6f44d02deb6f2a1d7a3a864db05a168f50
7
+ data.tar.gz: bd39add13ae466896d6061a670f41eb8e76a8c905b9b2f5a63171c61f6189b54e21a4da6d09ce30ea8ecf17c1a62c0f9a34cb2ba424043e89f63ab05f1fe88a9
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/Gemfile CHANGED
@@ -1,10 +1,11 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  group :development do
4
+ gem 'pry-nav'
5
+ gem 'rake'
6
+ gem 'rspec'
4
7
  gem 'rubocop'
5
8
  gem 'vagrant'
6
- gem 'rake'
7
- gem 'pry-nav'
8
9
  end
9
10
 
10
11
  group :plugins do
@@ -12,6 +13,6 @@ group :plugins do
12
13
  end
13
14
 
14
15
  group :integration do
15
- gem 'test-kitchen'
16
16
  gem 'kitchen-vagrant'
17
+ gem 'test-kitchen'
17
18
  end
@@ -10,7 +10,7 @@ module Vagrant
10
10
  end
11
11
 
12
12
  def self.config(env)
13
- @config ||= new(env).load
13
+ new(env).load
14
14
  end
15
15
 
16
16
  attr_reader :env, :hash
@@ -17,25 +17,25 @@ module Vagrant
17
17
  end
18
18
 
19
19
  def zone_network
20
- [cidr.network, cidr.bits].join('/')
20
+ [cidr.network, cidr.netmask].join
21
21
  end
22
22
 
23
23
  def gz_addr
24
- [gz_stub_ip, cidr.bits].join('/')
24
+ [gz_stub_ip, cidr.netmask].join
25
25
  end
26
26
 
27
27
  def gz_stub_ip
28
- cidr[1].ip
28
+ cidr.nth(1).to_s
29
29
  end
30
30
 
31
31
  def zone_ip
32
- cidr[2].ip
32
+ cidr.nth(2).to_s
33
33
  end
34
34
 
35
35
  private
36
36
 
37
37
  def cidr
38
- @cidr ||= NetAddr::CIDR.create(network)
38
+ @cidr ||= NetAddr::IPv4Net.parse(network)
39
39
  end
40
40
 
41
41
  def plugin_config
@@ -1,7 +1,7 @@
1
1
  module Vagrant
2
2
  module Smartos
3
3
  module Zones
4
- VERSION = '0.2.4'
4
+ VERSION = '0.2.5'
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,2 @@
1
+ ---
2
+ network: "10.16.0.0/16"
@@ -0,0 +1,22 @@
1
+ RSpec.configure do |config|
2
+ config.expect_with :rspec do |expectations|
3
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
4
+ end
5
+
6
+ config.mock_with :rspec do |mocks|
7
+ mocks.verify_partial_doubles = true
8
+ end
9
+
10
+ config.disable_monkey_patching!
11
+ config.order = :random
12
+ config.shared_context_metadata_behavior = :apply_to_host_groups
13
+
14
+ if config.files_to_run.one?
15
+ # Use the documentation formatter for detailed output,
16
+ # unless a formatter has already been configured
17
+ # (e.g. via a command-line flag).
18
+ config.default_formatter = "doc"
19
+ end
20
+
21
+ Kernel.srand config.seed
22
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+ require 'pathname'
3
+ require 'vagrant/smartos/zones/models/network'
4
+
5
+ RSpec.describe Vagrant::Smartos::Zones::Models::Network do
6
+ subject(:network) { described_class.new(env) }
7
+
8
+ let(:env) { default_env }
9
+ let(:default_env) { { home_path: pwd.join(home_path) } }
10
+ let(:pwd) { Pathname.new(ENV['PWD']) }
11
+ let(:home_path) { 'spec/fixtures/config/default' }
12
+
13
+ describe 'network' do
14
+ it 'defaults to 172.16.0.0/24' do
15
+ expect(network.network).to eq('172.16.0.0/24')
16
+ end
17
+
18
+ describe 'with a network specified in the plugin configuration' do
19
+ let(:home_path) { 'spec/fixtures/config/network' }
20
+
21
+ it 'uses the value' do
22
+ expect(network.network).to eq('10.16.0.0/16')
23
+ end
24
+ end
25
+ end
26
+
27
+ describe 'zone_network' do
28
+ it 'is a CIDR of the network' do
29
+ expect(network.zone_network).to eq('172.16.0.0/24')
30
+ end
31
+ end
32
+
33
+ describe 'gz_addr' do
34
+ it 'is a CIDR of the first IP on the network' do
35
+ expect(network.gz_addr).to eq('172.16.0.1/24')
36
+ end
37
+ end
38
+
39
+ describe 'gz_stub_ip' do
40
+ it 'is the first IP on the network' do
41
+ expect(network.gz_stub_ip).to eq('172.16.0.1')
42
+ end
43
+ end
44
+
45
+ describe 'zone_ip' do
46
+ it 'is the second IP on the network' do
47
+ expect(network.zone_ip).to eq('172.16.0.2')
48
+ end
49
+ end
50
+ end
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(/^(test|spec|features)\//)
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'netaddr', '~> 1.5.1'
21
+ spec.add_dependency 'netaddr', '~> 2.0'
22
22
 
23
23
  spec.add_development_dependency 'bundler', '~> 1.5'
24
24
  spec.add_development_dependency 'pry-nav'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-smartos-zones
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Saxby
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.5.1
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.5.1
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +75,7 @@ extra_rdoc_files: []
75
75
  files:
76
76
  - ".gitignore"
77
77
  - ".kitchen.yml"
78
+ - ".rspec"
78
79
  - ".rubocop.yml"
79
80
  - Gemfile
80
81
  - LICENSE.txt
@@ -156,6 +157,10 @@ files:
156
157
  - lib/vagrant/smartos/zones/util/zone_user.rb
157
158
  - lib/vagrant/smartos/zones/util/zones.rb
158
159
  - lib/vagrant/smartos/zones/version.rb
160
+ - spec/fixtures/config/default/smartos/config.yml
161
+ - spec/fixtures/config/network/smartos/config.yml
162
+ - spec/spec_helper.rb
163
+ - spec/vagrant/smartos/zones/models/network_spec.rb
159
164
  - test/integration/default/serverspec/group_spec.rb
160
165
  - test/integration/default/serverspec/spec_helper.rb
161
166
  - test/integration/default/serverspec/user_spec.rb
@@ -187,6 +192,10 @@ signing_key:
187
192
  specification_version: 4
188
193
  summary: Manage SmartOS zones in Vagrant
189
194
  test_files:
195
+ - spec/fixtures/config/default/smartos/config.yml
196
+ - spec/fixtures/config/network/smartos/config.yml
197
+ - spec/spec_helper.rb
198
+ - spec/vagrant/smartos/zones/models/network_spec.rb
190
199
  - test/integration/default/serverspec/group_spec.rb
191
200
  - test/integration/default/serverspec/spec_helper.rb
192
201
  - test/integration/default/serverspec/user_spec.rb