vagrant-hypconfigmgmt 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fcdc33fece45adb733b862dbc4187237f4e174d4
4
- data.tar.gz: c6fd87ee4876d7124d13a2f933174e3241152030
3
+ metadata.gz: 37e5a7641e42c8af9f12aae45a852020ceaf1c8a
4
+ data.tar.gz: efaa3f9988ad512b94ad777d515b6742d7548061
5
5
  SHA512:
6
- metadata.gz: 5b51824b6737089497a1cb1d9047d48cb6e9917a74be2b6ae8440c55c8c47074654920ad57d17f2e7b8477a285d00e655885f83b0a990a08c1a0e28b3ecb349d
7
- data.tar.gz: eb793c0fcc241b43dc41af702f92f7aea9bf883ce53179e68f09ec771993c09bd69cb8e16b6d3f47f081da84dad188836ec0bbf51a2ea70366f93b09543e2ee1
6
+ metadata.gz: 3712a2116da7bc8bd03966c7d57002010e2abcb7f83ad9d46ae02a83982b8333178555c55a8607035d3e51cd89590c83b9afe9b443a1188f66012471a394e0ec
7
+ data.tar.gz: ce7b39b7ea26cc1e5757efd4b9e53ec4b4153575eb13c8a549b730caef398d269b1ecbe4b29a73d82d5b9caca7d8aefa9a923ae66b9adbc0e5b31f66b95cae03
data/Makefile CHANGED
@@ -10,7 +10,7 @@ all:
10
10
  test:
11
11
  bundle exec rspec spec/
12
12
  install:
13
- find pkg/ -name '*.gem' | head -n 1 | xargs vagrant plugin install
13
+ find pkg/ -name '*.gem' | tail -n 1 | xargs vagrant plugin install
14
14
  clean:
15
15
  git clean -xfd
16
16
 
data/README.md CHANGED
@@ -11,5 +11,5 @@ Create the gemfile (package)
11
11
  ```
12
12
  $ make
13
13
  rake build
14
- vagrant-hypconfigmgmt 0.0.5 built to pkg/vagrant-hypconfigmgmt-0.0.5.gem.
14
+ vagrant-hypconfigmgmt 0.0.6 built to pkg/vagrant-hypconfigmgmt-0.0.6.gem.
15
15
  ```
@@ -19,6 +19,8 @@ AVAILABLE_CGROUP_STATES = [true, false]
19
19
  DEFAULT_XDEBUG_STATE = false
20
20
  AVAILABLE_XDEBUG_STATES = [true, false]
21
21
 
22
+ DEFAULT_DOMAIN = 'hypernode.local'
23
+
22
24
  # paths to local settings file
23
25
  H_V_SETTINGS_FILE = "local.yml"
24
26
  H_V_BASE_SETTINGS_FILE = ".local.base.yml"
@@ -269,19 +271,31 @@ HEREDOC
269
271
 
270
272
  def ensure_vagrant_box_type_configured(env)
271
273
  settings = retrieve_settings()
272
- case settings['php']['version']
273
- when 5.5
274
- env[:ui].info("Will use PHP 5.5. If you want PHP 7 instead change the php version in local.yml.")
275
- settings['vagrant']['box'] = 'hypernode_php5'
276
- settings['vagrant']['box_url'] = 'http://vagrant.hypernode.com/customer/php5/catalog.json'
277
- when 7.0
278
- env[:ui].info("Will use PHP 7. If you want PHP 5.5 instead change the php version in local.yml.")
279
- settings['vagrant']['box'] = 'hypernode_php7'
280
- settings['vagrant']['box_url'] = 'http://vagrant.hypernode.com/customer/php7/catalog.json'
274
+ if settings['ubuntu_version'] == 'xenial'
275
+ settings['vagrant']['box'] = 'hypernode'
276
+ settings['vagrant']['box_url'] = 'http://vagrant.hypernode.com/customer/xenial/catalog.json'
277
+ else
278
+ case settings['php']['version']
279
+ when 5.5
280
+ env[:ui].info("Will use PHP 5.5. If you want PHP 7 instead change the php version in local.yml.")
281
+ settings['vagrant']['box'] = 'hypernode_php5'
282
+ settings['vagrant']['box_url'] = 'http://vagrant.hypernode.com/customer/php5/catalog.json'
283
+ when 7.0
284
+ env[:ui].info("Will use PHP 7. If you want PHP 5.5 instead change the php version in local.yml.")
285
+ settings['vagrant']['box'] = 'hypernode_php7'
286
+ settings['vagrant']['box_url'] = 'http://vagrant.hypernode.com/customer/php7/catalog.json'
287
+ end
281
288
  end
282
289
  update_settings(settings)
283
290
  end
284
291
 
292
+
293
+ def ensure_default_domain_configured(env)
294
+ settings = retrieve_settings()
295
+ settings['hostmanager']['default_domain'] ||= DEFAULT_DOMAIN
296
+ update_settings(settings)
297
+ end
298
+
285
299
 
286
300
  def ensure_firewall_disabled_for_incompatible_fs_types(env)
287
301
  settings = retrieve_settings()
@@ -368,6 +382,12 @@ HEREDOC
368
382
  ensure_setting_exists('vagrant')
369
383
  ensure_vagrant_box_type_configured(env)
370
384
  end
385
+
386
+
387
+ def configure_hostmanager(env)
388
+ ensure_setting_exists('hostmanager')
389
+ ensure_default_domain_configured(env)
390
+ end
371
391
 
372
392
 
373
393
  def ensure_settings_configured(env)
@@ -380,6 +400,7 @@ HEREDOC
380
400
  configure_cgroup(env)
381
401
  configure_xdebug(env)
382
402
  configure_vagrant(env)
403
+ configure_hostmanager(env)
383
404
  new_settings = retrieve_settings()
384
405
  return new_settings.to_yaml != old_settings.to_yaml
385
406
  end
@@ -3,6 +3,6 @@
3
3
 
4
4
  module Vagrant
5
5
  module Hypconfigmgmt
6
- VERSION = "0.0.5"
6
+ VERSION = "0.0.6"
7
7
  end
8
8
  end
Binary file
@@ -0,0 +1,33 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # vim: set fileencoding=utf-8
3
+
4
+ require 'spec_helper'
5
+ require "vagrant-hypconfigmgmt/command"
6
+
7
+ describe VagrantHypconfigmgmt::Command do
8
+ # create a fake app and env to pass into the VagrantHypconfigmgmt::Command constructor
9
+ let(:app) { }
10
+ let(:env) { }
11
+
12
+ # Call the method under test after every 'it'. Similar to setUp in Python TestCase
13
+ after do
14
+ subject.configure_hostmanager(env)
15
+ end
16
+
17
+ # instantiate class of which a method is to be tested
18
+ subject { described_class.new(app, env) }
19
+
20
+ # the method that we are going to test
21
+ describe "#configure_hostmanager" do
22
+
23
+ context "when env is passed" do
24
+ it "configures the settings for the hostmanager" do
25
+ # check the hostmanager settings is ensured to exist in the configuration file
26
+ expect(subject).to receive(:ensure_setting_exists).with('hostmanager')
27
+ # check the default domain is configured for the hostmanager
28
+ expect(subject).to receive(:ensure_default_domain_configured).with(env)
29
+ end
30
+ end
31
+ end
32
+ end
33
+
@@ -24,7 +24,7 @@ describe VagrantHypconfigmgmt::Command do
24
24
  it "configures the settings for vagrant" do
25
25
  # check the vagrant settings is ensured to exist in the configuration file
26
26
  expect(subject).to receive(:ensure_setting_exists).with('vagrant')
27
- # check the vagrant box type is set to the right box for the pPHP version
27
+ # check the vagrant box type is set to the right box for the PHP version
28
28
  expect(subject).to receive(:ensure_vagrant_box_type_configured).with(env)
29
29
  end
30
30
  end
@@ -0,0 +1,50 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # vim: set fileencoding=utf-8
3
+
4
+ require 'spec_helper'
5
+ require "vagrant-hypconfigmgmt/command"
6
+
7
+ describe VagrantHypconfigmgmt::Command do
8
+ # create a fake app and env to pass into the VagrantHypconfigmgmt::Command constructor
9
+ let(:app) { }
10
+ let(:env) { { } }
11
+
12
+ # Call the method under test after every 'it'. Similar to setUp in Python TestCase
13
+ after do
14
+ subject.ensure_default_domain_configured(env)
15
+ end
16
+
17
+ # instantiate class of which a method is to be tested
18
+ subject { described_class.new(app, env) }
19
+
20
+ # the method that we are going to test
21
+ describe "#ensure_default_domain_configured" do
22
+
23
+ context "when a default domain is configured" do
24
+ let(:retrieved_settings) { { "hostmanager" => { "default_domain" => "example.com" } } }
25
+ it "does not change the retrieved settings" do
26
+ # check if settings are retrieved from disk and pretend they return a configuration for domain configured
27
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
28
+ # check if the settings that are written back to disk contain the same data
29
+ expect(subject).to receive(:update_settings).once.with(retrieved_settings)
30
+ end
31
+ end
32
+
33
+ context "when no default domain is configured" do
34
+ let(:retrieved_settings) { { "hostmanager" => Hash.new } }
35
+ it "sets the default domain to the default domain" do
36
+ expected_settings = {
37
+ "hostmanager" => {
38
+ "default_domain" => "hypernode.local"
39
+ }
40
+ }
41
+ # check if settings are retrieved from disk and pretend they return a configuration for domain not configured
42
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
43
+ # check if the settings that are written back to disk contain the default domain
44
+ expect(subject).to receive(:update_settings).once.with(expected_settings)
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+
@@ -49,6 +49,8 @@ describe VagrantHypconfigmgmt::Command do
49
49
  expect(subject).to receive(:configure_xdebug).with(env)
50
50
  # check the vagrant settings are configured
51
51
  expect(subject).to receive(:configure_vagrant).with(env)
52
+ # check the hostmanager settings are configured
53
+ expect(subject).to receive(:configure_hostmanager).with(env)
52
54
  # check true is returned when settings are updated
53
55
  expect( subject.ensure_settings_configured(env) ).to eq(true)
54
56
  end
@@ -74,6 +76,8 @@ describe VagrantHypconfigmgmt::Command do
74
76
  expect(subject).to receive(:configure_xdebug).with(env)
75
77
  # check the vagrant settings are configured
76
78
  expect(subject).to receive(:configure_vagrant).with(env)
79
+ # check the hostmanager settings are configured
80
+ expect(subject).to receive(:configure_hostmanager).with(env)
77
81
  # check false is returned when settings are not updated
78
82
  expect( subject.ensure_settings_configured(env) ).to eq(false)
79
83
  end
@@ -36,7 +36,48 @@ describe VagrantHypconfigmgmt::Command do
36
36
  },
37
37
  "vagrant" => {
38
38
  "box" => "hypernode_php7",
39
- "box_url" => "http://vagrant.hypernode.com/customer/php7/catalog.json" }
39
+ "box_url" => "http://vagrant.hypernode.com/customer/php7/catalog.json"
40
+ }
41
+ }
42
+ # check if settings are retrieved from disk and pretend they return a configuration for php 7.0
43
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
44
+ # check if the settings that are written back to disk contain the right box (name) and box_url
45
+ expect(subject).to receive(:update_settings).once.with(expected_settings)
46
+ end
47
+ end
48
+
49
+ context "when php 7.0 is configured and precise ubuntu version specified" do
50
+ let(:retrieved_settings) { { "php" => { "version" => 7.0 }, "vagrant" => Hash.new, "ubuntu_version" => "precise" } }
51
+ it "sets the box name and box url to the right values for PHP 7.0" do
52
+ expected_settings = {
53
+ "ubuntu_version" => "precise",
54
+ "php" => {
55
+ "version" => 7.0
56
+ },
57
+ "vagrant" => {
58
+ "box" => "hypernode_php7",
59
+ "box_url" => "http://vagrant.hypernode.com/customer/php7/catalog.json"
60
+ }
61
+ }
62
+ # check if settings are retrieved from disk and pretend they return a configuration for php 7.0
63
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
64
+ # check if the settings that are written back to disk contain the right box (name) and box_url
65
+ expect(subject).to receive(:update_settings).once.with(expected_settings)
66
+ end
67
+ end
68
+
69
+ context "when php 7.0 is configured and xenial ubuntu version specified" do
70
+ let(:retrieved_settings) { { "php" => { "version" => 7.0 }, "vagrant" => Hash.new, "ubuntu_version" => "xenial" } }
71
+ it "sets the box name and box url to the right values for PHP 7.0" do
72
+ expected_settings = {
73
+ "ubuntu_version" => "xenial",
74
+ "php" => {
75
+ "version" => 7.0
76
+ },
77
+ "vagrant" => {
78
+ "box" => "hypernode",
79
+ "box_url" => "http://vagrant.hypernode.com/customer/xenial/catalog.json"
80
+ }
40
81
  }
41
82
  # check if settings are retrieved from disk and pretend they return a configuration for php 7.0
42
83
  expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
@@ -54,7 +95,48 @@ describe VagrantHypconfigmgmt::Command do
54
95
  },
55
96
  "vagrant" => {
56
97
  "box" => "hypernode_php5",
57
- "box_url" => "http://vagrant.hypernode.com/customer/php5/catalog.json" }
98
+ "box_url" => "http://vagrant.hypernode.com/customer/php5/catalog.json"
99
+ }
100
+ }
101
+ # check if settings are retrieved from disk and pretend they return a configuration for php 5.5
102
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
103
+ # check if the settings that are written back to disk contain the right box (name) and box_url
104
+ expect(subject).to receive(:update_settings).once.with(expected_settings)
105
+ end
106
+ end
107
+
108
+ context "when php 5.5 is configured and precise ubuntu version specified" do
109
+ let(:retrieved_settings) { { "php" => { "version" => 5.5 }, "vagrant" => Hash.new, "ubuntu_version" => "precise" } }
110
+ it "sets the box name and box url to the right values for PHP 5.5" do
111
+ expected_settings = {
112
+ "ubuntu_version" => "precise",
113
+ "php" => {
114
+ "version" => 5.5
115
+ },
116
+ "vagrant" => {
117
+ "box" => "hypernode_php5",
118
+ "box_url" => "http://vagrant.hypernode.com/customer/php5/catalog.json"
119
+ }
120
+ }
121
+ # check if settings are retrieved from disk and pretend they return a configuration for php 5.5
122
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
123
+ # check if the settings that are written back to disk contain the right box (name) and box_url
124
+ expect(subject).to receive(:update_settings).once.with(expected_settings)
125
+ end
126
+ end
127
+
128
+ context "when php 5.5 is configured and xenial ubuntu version specified" do
129
+ let(:retrieved_settings) { { "php" => { "version" => 5.5 }, "vagrant" => Hash.new, "ubuntu_version" => "xenial" } }
130
+ it "sets the box name and box url to the right values for PHP 5.5" do
131
+ expected_settings = {
132
+ "ubuntu_version" => "xenial",
133
+ "php" => {
134
+ "version" => 5.5
135
+ },
136
+ "vagrant" => {
137
+ "box" => "hypernode",
138
+ "box_url" => "http://vagrant.hypernode.com/customer/xenial/catalog.json"
139
+ }
58
140
  }
59
141
  # check if settings are retrieved from disk and pretend they return a configuration for php 5.5
60
142
  expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
@@ -65,7 +147,17 @@ describe VagrantHypconfigmgmt::Command do
65
147
 
66
148
  context "when an unknown php version is configured" do
67
149
  let(:retrieved_settings) { { "php" => { "version" => 1.0 }, "vagrant" => Hash.new } }
68
- it "do not set the box name and box url" do
150
+ it "does not set the box name and box url" do
151
+ # check if settings are retrieved from disk and pretend they return an invalid php version
152
+ expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
153
+ # check if the settings we write back to disk have an unaltered box (name) and box_url
154
+ expect(subject).to receive(:update_settings).once.with(retrieved_settings)
155
+ end
156
+ end
157
+
158
+ context "when an unknown php version is configured and xenial ubuntu vreesion specified" do
159
+ let(:retrieved_settings) { { "php" => { "version" => 1.0 }, "vagrant" => Hash.new, "ubuntu_version" => "xenial" } }
160
+ it "does not set the box name and box url" do
69
161
  # check if settings are retrieved from disk and pretend they return an invalid php version
70
162
  expect(subject).to receive(:retrieve_settings).once.with(no_args).and_return(retrieved_settings)
71
163
  # check if the settings we write back to disk have an unaltered box (name) and box_url
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-hypconfigmgmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick van de Loo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2017-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -98,10 +98,12 @@ files:
98
98
  - lib/vagrant-hypconfigmgmt/command.rb
99
99
  - lib/vagrant-hypconfigmgmt/config.rb
100
100
  - lib/vagrant-hypconfigmgmt/version.rb
101
+ - pkg/vagrant-hypconfigmgmt-0.0.5.gem
101
102
  - spec/spec_helper.rb
102
103
  - spec/unit/command/call_spec.rb
103
104
  - spec/unit/command/configure_cgroup_spec.rb
104
105
  - spec/unit/command/configure_firewall_spec.rb
106
+ - spec/unit/command/configure_hostmanager_spec.rb
105
107
  - spec/unit/command/configure_magento_spec.rb
106
108
  - spec/unit/command/configure_php_spec.rb
107
109
  - spec/unit/command/configure_synced_folders_spec.rb
@@ -109,6 +111,7 @@ files:
109
111
  - spec/unit/command/configure_varnish_spec.rb
110
112
  - spec/unit/command/configure_xdebug_spec.rb
111
113
  - spec/unit/command/ensure_attribute_configured_spec.rb
114
+ - spec/unit/command/ensure_default_domain_configured_spec.rb
112
115
  - spec/unit/command/ensure_firewall_disabled_for_incompatible_fs_types_spec.rb
113
116
  - spec/unit/command/ensure_fs_type_configured_spec.rb
114
117
  - spec/unit/command/ensure_magento_mounts_configured_spec.rb