fog-proxmox 0.14.0 → 0.15.1

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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +28 -4
  4. data/lib/fog/proxmox/attributes.rb +3 -2
  5. data/lib/fog/proxmox/auth/token/access_ticket.rb +68 -57
  6. data/lib/fog/proxmox/auth/token/user_token.rb +79 -66
  7. data/lib/fog/proxmox/auth/token.rb +66 -60
  8. data/lib/fog/proxmox/compute/models/disk.rb +6 -1
  9. data/lib/fog/proxmox/compute/models/disks.rb +1 -1
  10. data/lib/fog/proxmox/compute/models/interface.rb +1 -1
  11. data/lib/fog/proxmox/compute/models/interfaces.rb +1 -1
  12. data/lib/fog/proxmox/compute/models/node.rb +3 -5
  13. data/lib/fog/proxmox/compute/models/nodes.rb +1 -1
  14. data/lib/fog/proxmox/compute/models/server.rb +33 -16
  15. data/lib/fog/proxmox/compute/models/server_config.rb +9 -4
  16. data/lib/fog/proxmox/compute/models/servers.rb +5 -5
  17. data/lib/fog/proxmox/compute/models/snapshot.rb +1 -1
  18. data/lib/fog/proxmox/compute/models/snapshots.rb +1 -1
  19. data/lib/fog/proxmox/compute/models/storage.rb +3 -2
  20. data/lib/fog/proxmox/compute/models/storages.rb +2 -2
  21. data/lib/fog/proxmox/compute/models/task.rb +1 -1
  22. data/lib/fog/proxmox/compute/models/tasks.rb +1 -0
  23. data/lib/fog/proxmox/compute/models/volume.rb +2 -1
  24. data/lib/fog/proxmox/compute/models/volumes.rb +2 -2
  25. data/lib/fog/proxmox/compute/requests/get_server_config.rb +14 -14
  26. data/lib/fog/proxmox/compute/requests/get_server_status.rb +17 -17
  27. data/lib/fog/proxmox/compute/requests/log_task.rb +1 -1
  28. data/lib/fog/proxmox/core.rb +28 -24
  29. data/lib/fog/proxmox/errors.rb +2 -1
  30. data/lib/fog/proxmox/hash.rb +0 -2
  31. data/lib/fog/proxmox/helpers/controller_helper.rb +3 -4
  32. data/lib/fog/proxmox/helpers/cpu_helper.rb +13 -6
  33. data/lib/fog/proxmox/helpers/disk_helper.rb +18 -12
  34. data/lib/fog/proxmox/helpers/ip_helper.rb +21 -20
  35. data/lib/fog/proxmox/helpers/nic_helper.rb +23 -14
  36. data/lib/fog/proxmox/identity/models/domain.rb +7 -3
  37. data/lib/fog/proxmox/identity/models/domain_type.rb +0 -1
  38. data/lib/fog/proxmox/identity/models/domains.rb +1 -2
  39. data/lib/fog/proxmox/identity/models/group.rb +4 -2
  40. data/lib/fog/proxmox/identity/models/groups.rb +1 -1
  41. data/lib/fog/proxmox/identity/models/permission.rb +5 -4
  42. data/lib/fog/proxmox/identity/models/permissions.rb +3 -1
  43. data/lib/fog/proxmox/identity/models/pool.rb +4 -4
  44. data/lib/fog/proxmox/identity/models/pools.rb +4 -4
  45. data/lib/fog/proxmox/identity/models/role.rb +1 -1
  46. data/lib/fog/proxmox/identity/models/roles.rb +1 -1
  47. data/lib/fog/proxmox/identity/models/token.rb +4 -3
  48. data/lib/fog/proxmox/identity/models/token_info.rb +2 -2
  49. data/lib/fog/proxmox/identity/models/tokens.rb +9 -13
  50. data/lib/fog/proxmox/identity/models/user.rb +1 -2
  51. data/lib/fog/proxmox/identity/models/users.rb +1 -1
  52. data/lib/fog/proxmox/identity/requests/get_user.rb +1 -0
  53. data/lib/fog/proxmox/identity/requests/list_user_permissions.rb +1 -1
  54. data/lib/fog/proxmox/network/models/networks.rb +1 -1
  55. data/lib/fog/proxmox/network/models/node.rb +1 -0
  56. data/lib/fog/proxmox/network/models/nodes.rb +1 -1
  57. data/lib/fog/proxmox/string.rb +4 -3
  58. data/lib/fog/proxmox/version.rb +1 -1
  59. data/lib/fog/proxmox.rb +1 -3
  60. data/spec/compute_spec.rb +3 -2
  61. data/spec/fixtures/proxmox/compute/snapshots.yml +350 -1055
  62. data/spec/hash_spec.rb +2 -1
  63. data/spec/helpers/controller_helper_spec.rb +135 -123
  64. data/spec/helpers/cpu_helper_spec.rb +58 -53
  65. data/spec/helpers/disk_helper_spec.rb +104 -54
  66. data/spec/helpers/ip_helper_spec.rb +155 -138
  67. data/spec/helpers/nic_helper_spec.rb +29 -20
  68. data/spec/identity_spec.rb +86 -74
  69. data/spec/proxmox_vcr.rb +3 -3
  70. metadata +89 -90
  71. data/.bundle/config +0 -4
  72. data/.codeclimate.yml +0 -14
  73. data/.github/CODE_OF_CONDUCT.md +0 -74
  74. data/.github/CONTRIBUTING.md +0 -20
  75. data/.github/CONTRIBUTORS.md +0 -9
  76. data/.github/FUNDING.yml +0 -12
  77. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  78. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  79. data/.github/ISSUE_TEMPLATE.md +0 -43
  80. data/.github/SUPPORT.md +0 -9
  81. data/.github/fogproxmox.png +0 -0
  82. data/.github/workflows/ci.yml +0 -79
  83. data/.gitignore +0 -8
  84. data/.rubocop.yml +0 -13
  85. data/.ruby-gemset +0 -1
  86. data/.solargraph.yml +0 -10
  87. data/.vscode/launch.json +0 -96
  88. data/.vscode/settings.json +0 -45
  89. data/.vscode/tasks.json +0 -27
  90. data/Gemfile +0 -23
  91. data/Rakefile +0 -58
  92. data/bin/console +0 -29
  93. data/bin/setup +0 -29
  94. data/fog-proxmox.gemspec +0 -63
@@ -22,23 +22,23 @@ require 'fog/proxmox/helpers/disk_helper'
22
22
 
23
23
  describe Fog::Proxmox::DiskHelper do
24
24
  let(:scsi0) do
25
- { id: 'scsi0', storage: 'local-lvm', size: 1, options: { cache: 'none' }}
25
+ { id: 'scsi0', storage: 'local-lvm', size: 1, options: { cache: 'none' } }
26
26
  end
27
27
 
28
28
  let(:scsi0_image) do
29
- { id: 'scsi0', volid: 'local-lvm:vm-100-disk-1', storage: 'local-lvm', size: 1, options: { cache: 'none' }}
29
+ { id: 'scsi0', volid: 'local-lvm:vm-100-disk-1', storage: 'local-lvm', size: 1, options: { cache: 'none' } }
30
30
  end
31
31
 
32
32
  let(:scsi) do
33
- { scsi0: 'local-lvm:vm-100-disk-1,size=8G,cache=none'}
33
+ { scsi0: 'local-lvm:vm-100-disk-1,size=8,cache=none' }
34
34
  end
35
35
 
36
36
  let(:virtio1) do
37
- { id: 'virtio1', volid: 'local:108/vm-108-disk-1.qcow2,size=15G' }
37
+ { id: 'virtio1', volid: 'local:108/vm-108-disk-1.qcow2,size=2G' }
38
38
  end
39
39
 
40
40
  let(:virtio) do
41
- { virtio1: 'local:108/vm-108-disk-1.qcow2,size=245'}
41
+ { virtio1: 'local:108/vm-108-disk-1.qcow2,size=2' }
42
42
  end
43
43
 
44
44
  let(:ide2) do
@@ -50,19 +50,19 @@ describe Fog::Proxmox::DiskHelper do
50
50
  end
51
51
 
52
52
  let(:cdrom_none) do
53
- { ide2: 'none,media=cdrom'}
53
+ { ide2: 'none,media=cdrom' }
54
54
  end
55
55
 
56
56
  let(:cdrom_iso) do
57
- { ide2: 'local:iso/alpine-virt-3.7.0-x86_64.iso,media=cdrom'}
57
+ { ide2: 'local:iso/alpine-virt-3.7.0-x86_64.iso,media=cdrom' }
58
58
  end
59
59
 
60
60
  let(:template) do
61
- { virtio0: 'local:100/base-100-disk-0.qcow2'}
61
+ { virtio0: 'local:100/base-100-disk-0.qcow2' }
62
62
  end
63
63
 
64
64
  let(:cloudinit) do
65
- { ide0: 'local-lvm:vm-100-cloudinit,media=cdrom'}
65
+ { ide0: 'local-lvm:vm-100-cloudinit,media=cdrom' }
66
66
  end
67
67
 
68
68
  let(:rootfs) do
@@ -70,184 +70,234 @@ describe Fog::Proxmox::DiskHelper do
70
70
  end
71
71
 
72
72
  describe '#flatten' do
73
- it "returns creation string" do
73
+ it 'returns creation string' do
74
74
  disk = Fog::Proxmox::DiskHelper.flatten(scsi0)
75
75
  assert_equal({ scsi0: 'local-lvm:1,cache=none' }, disk)
76
76
  end
77
- it "returns image string" do
77
+
78
+ it 'returns image string' do
78
79
  disk = Fog::Proxmox::DiskHelper.flatten(scsi0_image)
79
80
  assert_equal({ scsi0: 'local-lvm:vm-100-disk-1,size=1,cache=none' }, disk)
80
81
  end
81
- it "returns cdrom none string" do
82
+
83
+ it 'returns cdrom none string' do
82
84
  disk = Fog::Proxmox::DiskHelper.flatten(ide2)
83
85
  assert_equal(cdrom_none, disk)
84
86
  end
85
- it "returns cdrom image string" do
87
+
88
+ it 'returns cdrom image string' do
86
89
  disk = Fog::Proxmox::DiskHelper.flatten(ide2_image)
87
90
  assert_equal(cdrom_iso, disk)
88
91
  end
89
92
  end
90
93
 
91
94
  describe '#extract_controller' do
92
- it "returns virtio controller" do
95
+ it 'returns virtio controller' do
93
96
  controller = Fog::Proxmox::DiskHelper.extract_controller(virtio1[:id])
94
97
  assert_equal('virtio', controller)
95
98
  end
96
- it "returns scsi controller" do
99
+
100
+ it 'returns scsi controller' do
97
101
  controller = Fog::Proxmox::DiskHelper.extract_controller(scsi0[:id])
98
102
  assert_equal('scsi', controller)
99
103
  end
100
104
  end
101
105
 
102
106
  describe '#extract_device' do
103
- it "returns device" do
107
+ it 'returns device' do
104
108
  device = Fog::Proxmox::DiskHelper.extract_device(scsi0[:id])
105
109
  assert_equal(0, device)
106
110
  end
107
111
  end
108
112
 
109
113
  describe '#extract_storage_volid_size' do
110
- it "returns scsi get storage and volid" do
114
+ it 'returns scsi get storage and volid' do
111
115
  storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(scsi[:scsi0])
112
116
  assert_equal('local-lvm', storage)
113
117
  assert_equal('local-lvm:vm-100-disk-1', volid)
114
- assert_equal(8589934592, size)
118
+ assert_equal('8', size)
115
119
  end
116
- it "returns virtio get local storage volid and size" do
120
+
121
+ it 'returns virtio get local storage volid and size' do
117
122
  storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(virtio[:virtio1])
118
123
  assert_equal('local', storage)
119
124
  assert_equal('local:108/vm-108-disk-1.qcow2', volid)
120
- assert_equal(245, size)
125
+ assert_equal('2', size)
121
126
  end
122
- it "returns scsi0 creation storage and volid" do
127
+
128
+ it 'returns virtio1 get local storage volid and size' do
129
+ storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(virtio1[:volid])
130
+ assert_equal('local', storage)
131
+ assert_equal('local:108/vm-108-disk-1.qcow2', volid)
132
+ assert_equal('2', size)
133
+ end
134
+
135
+ it 'returns scsi0 creation storage and volid' do
123
136
  disk = Fog::Proxmox::DiskHelper.flatten(scsi0)
124
137
  storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(disk[:scsi0])
125
138
  assert_equal('local-lvm', storage)
126
139
  assert_nil volid
127
140
  assert_equal(1, size)
128
141
  end
129
- it "returns cdrom storage and volid none" do
142
+
143
+ it 'returns cdrom storage and volid none' do
130
144
  storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(cdrom_none[:ide2])
131
145
  assert_nil storage
132
146
  assert_equal('none', volid)
133
147
  assert_nil size
134
148
  end
135
- it "returns cdrom storage and volid iso" do
149
+
150
+ it 'returns cdrom storage and volid iso' do
136
151
  storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(cdrom_iso[:ide2])
137
152
  assert_equal('local', storage)
138
153
  assert_equal('local:iso/alpine-virt-3.7.0-x86_64.iso', volid)
139
154
  assert_nil size
140
155
  end
141
156
  end
157
+
142
158
  describe '#extract_size' do
143
- it "returns size" do
159
+ it 'size=8 returns size 8' do
144
160
  size = Fog::Proxmox::DiskHelper.extract_size(scsi[:scsi0])
145
- assert_equal(8589934592, size)
161
+ assert_equal('8', size)
146
162
  end
147
- it "returns size" do
163
+
164
+ it 'size=2 returns size 2' do
148
165
  size = Fog::Proxmox::DiskHelper.extract_size(virtio[:virtio1])
149
- assert_equal(245, size)
166
+ assert_equal('2', size)
167
+ end
168
+
169
+ it 'size=2G returns size 2' do
170
+ size = Fog::Proxmox::DiskHelper.extract_size(virtio1[:volid])
171
+ assert_equal('2', size)
150
172
  end
151
173
  end
152
174
 
153
175
  describe '#disk?' do
154
- it "rootfs returns true" do
176
+ it 'rootfs returns true' do
155
177
  assert Fog::Proxmox::DiskHelper.disk?('rootfs')
156
178
  end
157
- it "mp0 returns true" do
179
+
180
+ it 'mp0 returns true' do
158
181
  assert Fog::Proxmox::DiskHelper.disk?('mp0')
159
182
  end
160
- it "scsi0 returns true" do
183
+
184
+ it 'scsi0 returns true' do
161
185
  assert Fog::Proxmox::DiskHelper.disk?('scsi0')
162
186
  end
163
- it "virtio12 returns true" do
187
+
188
+ it 'virtio12 returns true' do
164
189
  assert Fog::Proxmox::DiskHelper.disk?('virtio12')
165
190
  end
166
- it "sata2 returns true" do
191
+
192
+ it 'sata2 returns true' do
167
193
  assert Fog::Proxmox::DiskHelper.disk?('sata2')
168
194
  end
169
- it "ide0 returns true" do
195
+
196
+ it 'ide0 returns true' do
170
197
  assert Fog::Proxmox::DiskHelper.disk?('ide0')
171
198
  end
172
- it "dsfdsfdsfds returns false" do
199
+
200
+ it 'dsfdsfdsfds returns false' do
173
201
  assert !Fog::Proxmox::DiskHelper.disk?('dsfdsfdsfds')
174
202
  end
175
203
  end
176
204
 
177
205
  describe '#server_disk?' do
178
- it "ide0 returns true" do
206
+ it 'ide0 returns true' do
179
207
  assert Fog::Proxmox::DiskHelper.server_disk?('ide0')
180
208
  end
181
- it "scsi1 returns true" do
209
+
210
+ it 'scsi1 returns true' do
182
211
  assert Fog::Proxmox::DiskHelper.server_disk?('scsi1')
183
212
  end
184
- it "virtio returns false" do
213
+
214
+ it 'virtio returns false' do
185
215
  assert !Fog::Proxmox::DiskHelper.server_disk?('virtio')
186
216
  end
187
217
  end
188
218
 
189
219
  describe '#container_disk?' do
190
- it "rootfs returns true" do
220
+ it 'rootfs returns true' do
191
221
  assert Fog::Proxmox::DiskHelper.container_disk?('rootfs')
192
222
  end
193
- it "mp0 returns true" do
223
+
224
+ it 'mp0 returns true' do
194
225
  assert Fog::Proxmox::DiskHelper.container_disk?('mp0')
195
226
  end
196
- it "mp returns false" do
227
+
228
+ it 'mp returns false' do
197
229
  assert !Fog::Proxmox::DiskHelper.container_disk?('mp')
198
230
  end
199
231
  end
200
232
 
201
233
  describe '#cdrom?' do
202
- it "local:iso/alpine-virt-3.7.0-x86_64.iso,media=cdrom returns true" do
234
+ it 'local:iso/alpine-virt-3.7.0-x86_64.iso,media=cdrom returns true' do
203
235
  assert Fog::Proxmox::DiskHelper.cdrom?('local:iso/alpine-virt-3.7.0-x86_64.iso,media=cdrom')
204
236
  end
205
- it "local:iso/alpine-virt-3.7.0-x86_64.iso returns false" do
237
+
238
+ it 'local:iso/alpine-virt-3.7.0-x86_64.iso returns false' do
206
239
  assert !Fog::Proxmox::DiskHelper.cdrom?('local:iso/alpine-virt-3.7.0-x86_64.iso')
207
240
  end
208
241
  end
209
242
 
210
243
  describe '#to_bytes' do
211
- it "1Gb returns 1 073 741 824" do
212
- assert_equal Fog::Proxmox::DiskHelper.to_bytes('1Gb'), 1073741824
244
+ it '1Gb returns 1 073 741 824' do
245
+ assert_equal Fog::Proxmox::DiskHelper.to_bytes('1Gb'), 1_073_741_824
213
246
  end
214
247
  end
215
248
 
216
249
  describe '#to_human_bytes' do
217
- it "1 073 741 824 returns 1Gb" do
218
- assert_equal '1Gb', Fog::Proxmox::DiskHelper.to_human_bytes(1073741824)
250
+ it '1 073 741 824 returns 1Gb' do
251
+ assert_equal '1Gb', Fog::Proxmox::DiskHelper.to_human_bytes(1_073_741_824)
252
+ end
253
+ end
254
+
255
+ describe '#to_int_gb' do
256
+ it '8589934592 returns 8' do
257
+ size = Fog::Proxmox::DiskHelper.to_int_gb(8_589_934_592)
258
+ assert_equal(8, size)
259
+ end
260
+
261
+ it '2 returns 0' do
262
+ size = Fog::Proxmox::DiskHelper.to_int_gb(2)
263
+ assert_equal(0, size)
219
264
  end
220
265
  end
221
266
 
222
267
  describe '#template?' do
223
- it "local:100/base-100-disk-0.qcow2 returns true" do
268
+ it 'local:100/base-100-disk-0.qcow2 returns true' do
224
269
  assert Fog::Proxmox::DiskHelper.template?(template[:virtio0])
225
270
  end
226
- it "local:108/vm-108-disk-1.qcow2 returns false" do
271
+
272
+ it 'local:108/vm-108-disk-1.qcow2 returns false' do
227
273
  assert !Fog::Proxmox::DiskHelper.template?(virtio[:virtio1])
228
274
  end
229
275
  end
230
276
 
231
277
  describe '#cloud_init?' do
232
- it "local-lvm:vm-100-cloudinit,media=cdrom returns true" do
278
+ it 'local-lvm:vm-100-cloudinit,media=cdrom returns true' do
233
279
  assert Fog::Proxmox::DiskHelper.cloud_init?(cloudinit[:ide0])
234
280
  end
235
- it "local:108/vm-108-disk-1.qcow2 returns false" do
281
+
282
+ it 'local:108/vm-108-disk-1.qcow2 returns false' do
236
283
  assert !Fog::Proxmox::DiskHelper.cloud_init?(virtio[:virtio1])
237
284
  end
238
285
  end
239
286
 
240
287
  describe '#of_type?' do
241
- it "qemu and rootfs returns false" do
288
+ it 'qemu and rootfs returns false' do
242
289
  refute Fog::Proxmox::DiskHelper.of_type?(rootfs, 'qemu')
243
290
  end
244
- it "qemu and scsi0 returns true" do
291
+
292
+ it 'qemu and scsi0 returns true' do
245
293
  assert Fog::Proxmox::DiskHelper.of_type?(scsi0, 'qemu')
246
294
  end
247
- it "lxc and rootfs returns true" do
295
+
296
+ it 'lxc and rootfs returns true' do
248
297
  assert Fog::Proxmox::DiskHelper.of_type?(rootfs, 'lxc')
249
298
  end
250
- it "qemu and scsi0 returns false" do
299
+
300
+ it 'qemu and scsi0 returns false' do
251
301
  refute Fog::Proxmox::DiskHelper.of_type?(scsi0, 'lxc')
252
302
  end
253
303
  end
@@ -20,141 +20,158 @@
20
20
  require 'spec_helper'
21
21
  require 'fog/proxmox/helpers/ip_helper'
22
22
 
23
- describe Fog::Proxmox::IpHelper do
24
-
25
- let(:ip) do
26
- { ip: '192.168.56.100/31' }
27
- end
28
-
29
- let(:invalid_ip) do
30
- { ip: '192.168.56.100/sfsdfsdfdsf' }
31
- end
32
-
33
- let(:ip6) do
34
- { ip: '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31' }
35
- end
36
-
37
- let(:invalid_ip6) do
38
- { ip: '2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf' }
39
- end
40
-
41
- describe '#cidr?' do
42
- it "192.168.56.100/31 returns true" do
43
- assert_equal true, Fog::Proxmox::IpHelper.cidr?(ip[:ip])
44
- end
45
- it "192.168.56.100/sfsdfsdfdsf returns false" do
46
- assert_equal false, Fog::Proxmox::IpHelper.cidr?(invalid_ip[:ip])
47
- end
48
- end
49
-
50
- describe '#cidr6?' do
51
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns true" do
52
- assert_equal true, Fog::Proxmox::IpHelper.cidr6?(ip6[:ip])
53
- end
54
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns false" do
55
- assert_equal false, Fog::Proxmox::IpHelper.cidr6?(invalid_ip6[:ip])
56
- end
57
- end
58
-
59
- describe '#prefix' do
60
- it "192.168.56.100/31 returns 31" do
61
- assert_equal '31', Fog::Proxmox::IpHelper.prefix(ip[:ip])
62
- end
63
- it "192.168.56.100/sfsdfsdfdsf returns nil" do
64
- assert_nil Fog::Proxmox::IpHelper.prefix(invalid_ip[:ip])
65
- end
66
- end
67
-
68
- describe '#prefix6' do
69
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns 31" do
70
- assert_equal '31', Fog::Proxmox::IpHelper.prefix6(ip6[:ip])
71
- end
72
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns nil" do
73
- assert_nil Fog::Proxmox::IpHelper.prefix6(invalid_ip6[:ip])
74
- end
75
- end
76
-
77
- describe '#ip' do
78
- it "192.168.56.100/31 returns 192.168.56.100" do
79
- assert_equal '192.168.56.100', Fog::Proxmox::IpHelper.ip(ip[:ip])
80
- end
81
- it "192.168.56.100/sfsdfsdfdsf returns nil" do
82
- assert_nil Fog::Proxmox::IpHelper.ip(invalid_ip[:ip])
83
- end
84
- end
85
-
86
- describe '#ip6' do
87
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876" do
88
- assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876', Fog::Proxmox::IpHelper.ip6(ip6[:ip])
89
- end
90
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns nil" do
91
- assert_nil Fog::Proxmox::IpHelper.ip6(invalid_ip6[:ip])
92
- end
93
- end
94
-
95
- describe '#to_cidr' do
96
- it "192.168.56.100 returns 192.168.56.100" do
97
- assert_equal '192.168.56.100', Fog::Proxmox::IpHelper.to_cidr('192.168.56.100')
98
- end
99
- it "192.168.56.100,31 returns 192.168.56.100/31" do
100
- assert_equal '192.168.56.100/31', Fog::Proxmox::IpHelper.to_cidr('192.168.56.100','31')
101
- end
102
- it "192,31 returns nil" do
103
- assert_nil Fog::Proxmox::IpHelper.to_cidr('192','31')
104
- end
105
- it "192.168.56.100,56 returns nil" do
106
- assert_nil Fog::Proxmox::IpHelper.to_cidr('192.168.56.100','56')
107
- end
108
- end
109
-
110
- describe '#to_cidr6' do
111
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876" do
112
- assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876', Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876')
113
- end
114
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876,31 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876/31" do
115
- assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31', Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876','31')
116
- end
117
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876,158 returns nil" do
118
- assert_nil Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876','158')
119
- end
120
- it "192,31 returns nil" do
121
- assert_nil Fog::Proxmox::IpHelper.to_cidr6('192','31')
122
- end
123
- end
124
-
125
- describe '#ip?' do
126
- it "192.168.56.100 returns true" do
127
- assert_equal true, Fog::Proxmox::IpHelper.ip?('192.168.56.100')
128
- end
129
- it "541536 returns false" do
130
- assert_equal false, Fog::Proxmox::IpHelper.ip?('541536')
131
- end
132
- end
133
-
134
- describe '#ip6?' do
135
- it "2001:0000:1234:0000:0000:C1C0:ABCD:0876 returns true" do
136
- assert_equal true, Fog::Proxmox::IpHelper.ip6?('2001:0000:1234:0000:0000:C1C0:ABCD:0876')
137
- end
138
- it "541536 returns false" do
139
- assert_equal false, Fog::Proxmox::IpHelper.ip6?('541536')
140
- end
141
- end
142
-
143
- describe '#cidr_prefix?' do
144
- it "31 returns true" do
145
- assert_equal true, Fog::Proxmox::IpHelper.cidr_prefix?('31')
146
- end
147
- it "56 returns false" do
148
- assert_equal false, Fog::Proxmox::IpHelper.cidr_prefix?('56')
149
- end
150
- end
151
-
152
- describe '#cidr6_prefix?' do
153
- it "100 returns true" do
154
- assert_equal true, Fog::Proxmox::IpHelper.cidr6_prefix?('100')
155
- end
156
- it "158 returns false" do
157
- assert_equal false, Fog::Proxmox::IpHelper.cidr6_prefix?('158')
158
- end
159
- end
160
- end
23
+ describe Fog::Proxmox::IpHelper do
24
+ let(:ip) do
25
+ { ip: '192.168.56.100/31' }
26
+ end
27
+
28
+ let(:invalid_ip) do
29
+ { ip: '192.168.56.100/sfsdfsdfdsf' }
30
+ end
31
+
32
+ let(:ip6) do
33
+ { ip: '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31' }
34
+ end
35
+
36
+ let(:invalid_ip6) do
37
+ { ip: '2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf' }
38
+ end
39
+
40
+ describe '#cidr?' do
41
+ it '192.168.56.100/31 returns true' do
42
+ assert_equal true, Fog::Proxmox::IpHelper.cidr?(ip[:ip])
43
+ end
44
+
45
+ it '192.168.56.100/sfsdfsdfdsf returns false' do
46
+ assert_equal false, Fog::Proxmox::IpHelper.cidr?(invalid_ip[:ip])
47
+ end
48
+ end
49
+
50
+ describe '#cidr6?' do
51
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns true' do
52
+ assert_equal true, Fog::Proxmox::IpHelper.cidr6?(ip6[:ip])
53
+ end
54
+
55
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns false' do
56
+ assert_equal false, Fog::Proxmox::IpHelper.cidr6?(invalid_ip6[:ip])
57
+ end
58
+ end
59
+
60
+ describe '#prefix' do
61
+ it '192.168.56.100/31 returns 31' do
62
+ assert_equal '31', Fog::Proxmox::IpHelper.prefix(ip[:ip])
63
+ end
64
+
65
+ it '192.168.56.100/sfsdfsdfdsf returns nil' do
66
+ assert_nil Fog::Proxmox::IpHelper.prefix(invalid_ip[:ip])
67
+ end
68
+ end
69
+
70
+ describe '#prefix6' do
71
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns 31' do
72
+ assert_equal '31', Fog::Proxmox::IpHelper.prefix6(ip6[:ip])
73
+ end
74
+
75
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns nil' do
76
+ assert_nil Fog::Proxmox::IpHelper.prefix6(invalid_ip6[:ip])
77
+ end
78
+ end
79
+
80
+ describe '#ip' do
81
+ it '192.168.56.100/31 returns 192.168.56.100' do
82
+ assert_equal '192.168.56.100', Fog::Proxmox::IpHelper.ip(ip[:ip])
83
+ end
84
+
85
+ it '192.168.56.100/sfsdfsdfdsf returns nil' do
86
+ assert_nil Fog::Proxmox::IpHelper.ip(invalid_ip[:ip])
87
+ end
88
+ end
89
+
90
+ describe '#ip6' do
91
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876' do
92
+ assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876', Fog::Proxmox::IpHelper.ip6(ip6[:ip])
93
+ end
94
+
95
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876/sfsdfsdfdsf returns nil' do
96
+ assert_nil Fog::Proxmox::IpHelper.ip6(invalid_ip6[:ip])
97
+ end
98
+ end
99
+
100
+ describe '#to_cidr' do
101
+ it '192.168.56.100 returns 192.168.56.100' do
102
+ assert_equal '192.168.56.100', Fog::Proxmox::IpHelper.to_cidr('192.168.56.100')
103
+ end
104
+
105
+ it '192.168.56.100,31 returns 192.168.56.100/31' do
106
+ assert_equal '192.168.56.100/31', Fog::Proxmox::IpHelper.to_cidr('192.168.56.100', '31')
107
+ end
108
+
109
+ it '192,31 returns nil' do
110
+ assert_nil Fog::Proxmox::IpHelper.to_cidr('192', '31')
111
+ end
112
+
113
+ it '192.168.56.100,56 returns nil' do
114
+ assert_nil Fog::Proxmox::IpHelper.to_cidr('192.168.56.100', '56')
115
+ end
116
+ end
117
+
118
+ describe '#to_cidr6' do
119
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876' do
120
+ assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876',
121
+ Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876')
122
+ end
123
+
124
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876,31 returns 2001:0000:1234:0000:0000:C1C0:ABCD:0876/31' do
125
+ assert_equal '2001:0000:1234:0000:0000:C1C0:ABCD:0876/31',
126
+ Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876', '31')
127
+ end
128
+
129
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876,158 returns nil' do
130
+ assert_nil Fog::Proxmox::IpHelper.to_cidr6('2001:0000:1234:0000:0000:C1C0:ABCD:0876', '158')
131
+ end
132
+
133
+ it '192,31 returns nil' do
134
+ assert_nil Fog::Proxmox::IpHelper.to_cidr6('192', '31')
135
+ end
136
+ end
137
+
138
+ describe '#ip?' do
139
+ it '192.168.56.100 returns true' do
140
+ assert_equal true, Fog::Proxmox::IpHelper.ip?('192.168.56.100')
141
+ end
142
+
143
+ it '541536 returns false' do
144
+ assert_equal false, Fog::Proxmox::IpHelper.ip?('541536')
145
+ end
146
+ end
147
+
148
+ describe '#ip6?' do
149
+ it '2001:0000:1234:0000:0000:C1C0:ABCD:0876 returns true' do
150
+ assert_equal true, Fog::Proxmox::IpHelper.ip6?('2001:0000:1234:0000:0000:C1C0:ABCD:0876')
151
+ end
152
+
153
+ it '541536 returns false' do
154
+ assert_equal false, Fog::Proxmox::IpHelper.ip6?('541536')
155
+ end
156
+ end
157
+
158
+ describe '#cidr_prefix?' do
159
+ it '31 returns true' do
160
+ assert_equal true, Fog::Proxmox::IpHelper.cidr_prefix?('31')
161
+ end
162
+
163
+ it '56 returns false' do
164
+ assert_equal false, Fog::Proxmox::IpHelper.cidr_prefix?('56')
165
+ end
166
+ end
167
+
168
+ describe '#cidr6_prefix?' do
169
+ it '100 returns true' do
170
+ assert_equal true, Fog::Proxmox::IpHelper.cidr6_prefix?('100')
171
+ end
172
+
173
+ it '158 returns false' do
174
+ assert_equal false, Fog::Proxmox::IpHelper.cidr6_prefix?('158')
175
+ end
176
+ end
177
+ end