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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +28 -4
- data/lib/fog/proxmox/attributes.rb +3 -2
- data/lib/fog/proxmox/auth/token/access_ticket.rb +68 -57
- data/lib/fog/proxmox/auth/token/user_token.rb +79 -66
- data/lib/fog/proxmox/auth/token.rb +66 -60
- data/lib/fog/proxmox/compute/models/disk.rb +6 -1
- data/lib/fog/proxmox/compute/models/disks.rb +1 -1
- data/lib/fog/proxmox/compute/models/interface.rb +1 -1
- data/lib/fog/proxmox/compute/models/interfaces.rb +1 -1
- data/lib/fog/proxmox/compute/models/node.rb +3 -5
- data/lib/fog/proxmox/compute/models/nodes.rb +1 -1
- data/lib/fog/proxmox/compute/models/server.rb +33 -16
- data/lib/fog/proxmox/compute/models/server_config.rb +9 -4
- data/lib/fog/proxmox/compute/models/servers.rb +5 -5
- data/lib/fog/proxmox/compute/models/snapshot.rb +1 -1
- data/lib/fog/proxmox/compute/models/snapshots.rb +1 -1
- data/lib/fog/proxmox/compute/models/storage.rb +3 -2
- data/lib/fog/proxmox/compute/models/storages.rb +2 -2
- data/lib/fog/proxmox/compute/models/task.rb +1 -1
- data/lib/fog/proxmox/compute/models/tasks.rb +1 -0
- data/lib/fog/proxmox/compute/models/volume.rb +2 -1
- data/lib/fog/proxmox/compute/models/volumes.rb +2 -2
- data/lib/fog/proxmox/compute/requests/get_server_config.rb +14 -14
- data/lib/fog/proxmox/compute/requests/get_server_status.rb +17 -17
- data/lib/fog/proxmox/compute/requests/log_task.rb +1 -1
- data/lib/fog/proxmox/core.rb +28 -24
- data/lib/fog/proxmox/errors.rb +2 -1
- data/lib/fog/proxmox/hash.rb +0 -2
- data/lib/fog/proxmox/helpers/controller_helper.rb +3 -4
- data/lib/fog/proxmox/helpers/cpu_helper.rb +13 -6
- data/lib/fog/proxmox/helpers/disk_helper.rb +18 -12
- data/lib/fog/proxmox/helpers/ip_helper.rb +21 -20
- data/lib/fog/proxmox/helpers/nic_helper.rb +23 -14
- data/lib/fog/proxmox/identity/models/domain.rb +7 -3
- data/lib/fog/proxmox/identity/models/domain_type.rb +0 -1
- data/lib/fog/proxmox/identity/models/domains.rb +1 -2
- data/lib/fog/proxmox/identity/models/group.rb +4 -2
- data/lib/fog/proxmox/identity/models/groups.rb +1 -1
- data/lib/fog/proxmox/identity/models/permission.rb +5 -4
- data/lib/fog/proxmox/identity/models/permissions.rb +3 -1
- data/lib/fog/proxmox/identity/models/pool.rb +4 -4
- data/lib/fog/proxmox/identity/models/pools.rb +4 -4
- data/lib/fog/proxmox/identity/models/role.rb +1 -1
- data/lib/fog/proxmox/identity/models/roles.rb +1 -1
- data/lib/fog/proxmox/identity/models/token.rb +4 -3
- data/lib/fog/proxmox/identity/models/token_info.rb +2 -2
- data/lib/fog/proxmox/identity/models/tokens.rb +9 -13
- data/lib/fog/proxmox/identity/models/user.rb +1 -2
- data/lib/fog/proxmox/identity/models/users.rb +1 -1
- data/lib/fog/proxmox/identity/requests/get_user.rb +1 -0
- data/lib/fog/proxmox/identity/requests/list_user_permissions.rb +1 -1
- data/lib/fog/proxmox/network/models/networks.rb +1 -1
- data/lib/fog/proxmox/network/models/node.rb +1 -0
- data/lib/fog/proxmox/network/models/nodes.rb +1 -1
- data/lib/fog/proxmox/string.rb +4 -3
- data/lib/fog/proxmox/version.rb +1 -1
- data/lib/fog/proxmox.rb +1 -3
- data/spec/compute_spec.rb +3 -2
- data/spec/fixtures/proxmox/compute/snapshots.yml +350 -1055
- data/spec/hash_spec.rb +2 -1
- data/spec/helpers/controller_helper_spec.rb +135 -123
- data/spec/helpers/cpu_helper_spec.rb +58 -53
- data/spec/helpers/disk_helper_spec.rb +104 -54
- data/spec/helpers/ip_helper_spec.rb +155 -138
- data/spec/helpers/nic_helper_spec.rb +29 -20
- data/spec/identity_spec.rb +86 -74
- data/spec/proxmox_vcr.rb +3 -3
- metadata +89 -90
- data/.bundle/config +0 -4
- data/.codeclimate.yml +0 -14
- data/.github/CODE_OF_CONDUCT.md +0 -74
- data/.github/CONTRIBUTING.md +0 -20
- data/.github/CONTRIBUTORS.md +0 -9
- data/.github/FUNDING.yml +0 -12
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
- data/.github/ISSUE_TEMPLATE.md +0 -43
- data/.github/SUPPORT.md +0 -9
- data/.github/fogproxmox.png +0 -0
- data/.github/workflows/ci.yml +0 -79
- data/.gitignore +0 -8
- data/.rubocop.yml +0 -13
- data/.ruby-gemset +0 -1
- data/.solargraph.yml +0 -10
- data/.vscode/launch.json +0 -96
- data/.vscode/settings.json +0 -45
- data/.vscode/tasks.json +0 -27
- data/Gemfile +0 -23
- data/Rakefile +0 -58
- data/bin/console +0 -29
- data/bin/setup +0 -29
- 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=
|
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=
|
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=
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
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(
|
118
|
+
assert_equal('8', size)
|
115
119
|
end
|
116
|
-
|
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(
|
125
|
+
assert_equal('2', size)
|
121
126
|
end
|
122
|
-
|
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
|
-
|
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
|
-
|
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
|
159
|
+
it 'size=8 returns size 8' do
|
144
160
|
size = Fog::Proxmox::DiskHelper.extract_size(scsi[:scsi0])
|
145
|
-
assert_equal(
|
161
|
+
assert_equal('8', size)
|
146
162
|
end
|
147
|
-
|
163
|
+
|
164
|
+
it 'size=2 returns size 2' do
|
148
165
|
size = Fog::Proxmox::DiskHelper.extract_size(virtio[:virtio1])
|
149
|
-
assert_equal(
|
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
|
176
|
+
it 'rootfs returns true' do
|
155
177
|
assert Fog::Proxmox::DiskHelper.disk?('rootfs')
|
156
178
|
end
|
157
|
-
|
179
|
+
|
180
|
+
it 'mp0 returns true' do
|
158
181
|
assert Fog::Proxmox::DiskHelper.disk?('mp0')
|
159
182
|
end
|
160
|
-
|
183
|
+
|
184
|
+
it 'scsi0 returns true' do
|
161
185
|
assert Fog::Proxmox::DiskHelper.disk?('scsi0')
|
162
186
|
end
|
163
|
-
|
187
|
+
|
188
|
+
it 'virtio12 returns true' do
|
164
189
|
assert Fog::Proxmox::DiskHelper.disk?('virtio12')
|
165
190
|
end
|
166
|
-
|
191
|
+
|
192
|
+
it 'sata2 returns true' do
|
167
193
|
assert Fog::Proxmox::DiskHelper.disk?('sata2')
|
168
194
|
end
|
169
|
-
|
195
|
+
|
196
|
+
it 'ide0 returns true' do
|
170
197
|
assert Fog::Proxmox::DiskHelper.disk?('ide0')
|
171
198
|
end
|
172
|
-
|
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
|
206
|
+
it 'ide0 returns true' do
|
179
207
|
assert Fog::Proxmox::DiskHelper.server_disk?('ide0')
|
180
208
|
end
|
181
|
-
|
209
|
+
|
210
|
+
it 'scsi1 returns true' do
|
182
211
|
assert Fog::Proxmox::DiskHelper.server_disk?('scsi1')
|
183
212
|
end
|
184
|
-
|
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
|
220
|
+
it 'rootfs returns true' do
|
191
221
|
assert Fog::Proxmox::DiskHelper.container_disk?('rootfs')
|
192
222
|
end
|
193
|
-
|
223
|
+
|
224
|
+
it 'mp0 returns true' do
|
194
225
|
assert Fog::Proxmox::DiskHelper.container_disk?('mp0')
|
195
226
|
end
|
196
|
-
|
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
|
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
|
-
|
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
|
212
|
-
assert_equal Fog::Proxmox::DiskHelper.to_bytes('1Gb'),
|
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
|
218
|
-
assert_equal '1Gb', Fog::Proxmox::DiskHelper.to_human_bytes(
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
288
|
+
it 'qemu and rootfs returns false' do
|
242
289
|
refute Fog::Proxmox::DiskHelper.of_type?(rootfs, 'qemu')
|
243
290
|
end
|
244
|
-
|
291
|
+
|
292
|
+
it 'qemu and scsi0 returns true' do
|
245
293
|
assert Fog::Proxmox::DiskHelper.of_type?(scsi0, 'qemu')
|
246
294
|
end
|
247
|
-
|
295
|
+
|
296
|
+
it 'lxc and rootfs returns true' do
|
248
297
|
assert Fog::Proxmox::DiskHelper.of_type?(rootfs, 'lxc')
|
249
298
|
end
|
250
|
-
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
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
|