PackerFiles 0.0.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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/PackerFiles.gemspec +36 -0
- data/README.md +32 -0
- data/Rakefile +21 -0
- data/bin/pkf +5 -0
- data/lib/PackerFiles/CLI/OS.rb +44 -0
- data/lib/PackerFiles/CLI/Root.rb +41 -0
- data/lib/PackerFiles/Core/Base.rb +23 -0
- data/lib/PackerFiles/Core/CDImage.rb +185 -0
- data/lib/PackerFiles/Core/Disk.rb +135 -0
- data/lib/PackerFiles/Core/Exceptions.rb +65 -0
- data/lib/PackerFiles/Core/Hypervisor.rb +96 -0
- data/lib/PackerFiles/Core/Keyboard.rb +38 -0
- data/lib/PackerFiles/Core/Locale.rb +62 -0
- data/lib/PackerFiles/Core/LogicalVolume.rb +41 -0
- data/lib/PackerFiles/Core/Network.rb +67 -0
- data/lib/PackerFiles/Core/Packages.rb +30 -0
- data/lib/PackerFiles/Core/Partition.rb +41 -0
- data/lib/PackerFiles/Core/TimeZone.rb +45 -0
- data/lib/PackerFiles/Core/User.rb +46 -0
- data/lib/PackerFiles/Core/VolumeGroup.rb +50 -0
- data/lib/PackerFiles/Core/example/CDImage.txt +75 -0
- data/lib/PackerFiles/Core/example/Disk.txt +29 -0
- data/lib/PackerFiles/Core/example/Hypervisor.txt +111 -0
- data/lib/PackerFiles/Core/example/Keyboard.txt +28 -0
- data/lib/PackerFiles/Core/example/Locale.txt +31 -0
- data/lib/PackerFiles/Core/example/Network.txt +68 -0
- data/lib/PackerFiles/Core/example/Packages.txt +22 -0
- data/lib/PackerFiles/Core/example/TimeZone.txt +36 -0
- data/lib/PackerFiles/Core/example/User.txt +48 -0
- data/lib/PackerFiles/OS/Builder.rb +116 -0
- data/lib/PackerFiles/OS/CentOS/CD.rb +81 -0
- data/lib/PackerFiles/OS/CentOS/Kickstart.rb +64 -0
- data/lib/PackerFiles/OS/CentOS/Server.rb +170 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Base_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Disk_erb.rb +35 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Keyboard_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Locale_erb.rb +4 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Network_erb.rb +17 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Packages_erb.rb +34 -0
- data/lib/PackerFiles/OS/CentOS/Templates/Tail_erb.rb +15 -0
- data/lib/PackerFiles/OS/CentOS/Templates/TimeZone_erb.rb +10 -0
- data/lib/PackerFiles/OS/CentOS/Templates/User_erb.rb +20 -0
- data/lib/PackerFiles/OS/CentOS/Templates/boot_command_erb.rb +16 -0
- data/lib/PackerFiles/OS/CentOS/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/disable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/CentOS/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Apt.rb +42 -0
- data/lib/PackerFiles/OS/Debian/CD.rb +65 -0
- data/lib/PackerFiles/OS/Debian/Mirrors.rb +73 -0
- data/lib/PackerFiles/OS/Debian/Preseed.rb +64 -0
- data/lib/PackerFiles/OS/Debian/Server.rb +169 -0
- data/lib/PackerFiles/OS/Debian/Templates/Apt_erb.rb +18 -0
- data/lib/PackerFiles/OS/Debian/Templates/Disk_erb.rb +69 -0
- data/lib/PackerFiles/OS/Debian/Templates/Keyboard_erb.rb +5 -0
- data/lib/PackerFiles/OS/Debian/Templates/Locale_erb.rb +7 -0
- data/lib/PackerFiles/OS/Debian/Templates/Mirrors_erb.rb +9 -0
- data/lib/PackerFiles/OS/Debian/Templates/Network_erb.rb +19 -0
- data/lib/PackerFiles/OS/Debian/Templates/Packages_erb.rb +6 -0
- data/lib/PackerFiles/OS/Debian/Templates/TimeZone_erb.rb +6 -0
- data/lib/PackerFiles/OS/Debian/Templates/User_erb.rb +14 -0
- data/lib/PackerFiles/OS/Debian/Templates/boot_command_erb.rb +24 -0
- data/lib/PackerFiles/OS/Debian/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Templates/disable_root_erb.rb +5 -0
- data/lib/PackerFiles/OS/Debian/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Debian/example/Apt.txt +55 -0
- data/lib/PackerFiles/OS/DocGenerator.rb +51 -0
- data/lib/PackerFiles/OS/Finder.rb +96 -0
- data/lib/PackerFiles/OS/RHEL/CD.rb +32 -0
- data/lib/PackerFiles/OS/RHEL/Fedora.rb +59 -0
- data/lib/PackerFiles/OS/RHEL/FedoraCD.rb +68 -0
- data/lib/PackerFiles/OS/RHEL/Server.rb +32 -0
- data/lib/PackerFiles/OS/RHEL/Templates/Fedora_Tail_erb.rb +14 -0
- data/lib/PackerFiles/OS/RHEL/Templates/boot_command_fedora_erb.rb +16 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Base_erb.xml +32 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Disk_erb.xml +110 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Keyboard_erb.xml +7 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Locale_erb.xml +18 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Network_erb.xml +143 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Packages_erb.xml +29 -0
- data/lib/PackerFiles/OS/SUSE/Templates/Tail_erb.xml +4 -0
- data/lib/PackerFiles/OS/SUSE/Templates/TimeZone_erb.xml +15 -0
- data/lib/PackerFiles/OS/SUSE/Templates/User_erb.xml +57 -0
- data/lib/PackerFiles/OS/SUSE/Templates/boot_command_erb.rb +23 -0
- data/lib/PackerFiles/OS/SUSE/Templates/command_as_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/disable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/enable_root_erb.rb +1 -0
- data/lib/PackerFiles/OS/SUSE/Templates/shutdown_command_erb.rb +1 -0
- data/lib/PackerFiles/OS/Ubuntu/CD.rb +81 -0
- data/lib/PackerFiles/OS/Ubuntu/Desktop.rb +50 -0
- data/lib/PackerFiles/OS/Ubuntu/DesktopCD.rb +16 -0
- data/lib/PackerFiles/OS/Ubuntu/Mirrors.rb +103 -0
- data/lib/PackerFiles/OS/Ubuntu/Server.rb +78 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/Apt_erb.rb +18 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_desktop_erb.rb +36 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_erb.rb +30 -0
- data/lib/PackerFiles/OS/Ubuntu/Templates/ubiquity_erb.rb +8 -0
- data/lib/PackerFiles/OS/example/Doc.txt +8 -0
- data/lib/PackerFiles/Provision/Base.rb +20 -0
- data/lib/PackerFiles/Provision/ChefSolo.rb +90 -0
- data/lib/PackerFiles/Provision/ChefSoloHelper.rb +72 -0
- data/lib/PackerFiles/Provision/Copy.rb +22 -0
- data/lib/PackerFiles/Provision/ExternalScript.rb +43 -0
- data/lib/PackerFiles/Provision/InlineScript.rb +37 -0
- data/lib/PackerFiles/Provision/Provisioners.rb +87 -0
- data/lib/PackerFiles/Provision/example/Provisioners.txt +21 -0
- data/lib/PackerFiles/Utils/AutoZone.rb +96 -0
- data/lib/PackerFiles/Utils/FastestURL.rb +73 -0
- data/lib/PackerFiles/Utils/Generator.rb +34 -0
- data/lib/PackerFiles/Utils/HashSerializer.rb +110 -0
- data/lib/PackerFiles/Utils/Size.rb +44 -0
- data/lib/PackerFiles/Utils/TypeAccessor.rb +71 -0
- data/lib/PackerFiles/Virtual/Hypervisors.rb +72 -0
- data/lib/PackerFiles/Virtual/KVM.rb +119 -0
- data/lib/PackerFiles/Virtual/KVMConverter.rb +79 -0
- data/lib/PackerFiles/Virtual/VMWare.rb +108 -0
- data/lib/PackerFiles/Virtual/VMWareConverter.rb +78 -0
- data/lib/PackerFiles/Virtual/VirtualBox.rb +98 -0
- data/lib/PackerFiles/Virtual/VirtualBoxConverter.rb +75 -0
- data/lib/PackerFiles/Virtual/example/Hypervisors.txt +23 -0
- data/lib/PackerFiles/version.rb +3 -0
- data/lib/PackerFiles.rb +44 -0
- data/spec/core/builder_spec.rb +84 -0
- data/spec/core/cdimage_spec.rb +159 -0
- data/spec/core/disk_spec.rb +191 -0
- data/spec/core/keyboard_spec.rb +36 -0
- data/spec/core/locale_spec.rb +73 -0
- data/spec/core/network_spec.rb +96 -0
- data/spec/core/packages_spec.rb +18 -0
- data/spec/core/timezone_spec.rb +43 -0
- data/spec/core/user_spec.rb +44 -0
- data/spec/core/volume_group_spec.rb +53 -0
- data/spec/os/centos/cd_spec.rb +12 -0
- data/spec/os/centos/data/Server-Script-Provisioner.rb +57 -0
- data/spec/os/centos/data/Server.rb +55 -0
- data/spec/os/centos/data/chef-solo-provisioner.rb +58 -0
- data/spec/os/centos/finder_spec.rb +22 -0
- data/spec/os/centos/templates/boot_command_spec.rb +57 -0
- data/spec/os/centos/templates/disk_spec.rb +79 -0
- data/spec/os/centos/templates/keyboard_spec.rb +18 -0
- data/spec/os/centos/templates/locale_spec.rb +26 -0
- data/spec/os/centos/templates/network_spec.rb +38 -0
- data/spec/os/centos/templates/packages_spec.rb +18 -0
- data/spec/os/centos/templates/timezone_spec.rb +37 -0
- data/spec/os/centos/templates/user_spec.rb +24 -0
- data/spec/os/debian/apt_spec.rb +50 -0
- data/spec/os/debian/cd_spec.rb +30 -0
- data/spec/os/debian/data/7zip.tar.gz +0 -0
- data/spec/os/debian/data/All-sections.rb +60 -0
- data/spec/os/debian/data/Chef-Solo-Provisioner.rb +60 -0
- data/spec/os/debian/data/Copy-Provisioner.rb +61 -0
- data/spec/os/debian/data/External-Script-Provisioner.rb +69 -0
- data/spec/os/debian/data/Missing-CDImage.rb +53 -0
- data/spec/os/debian/data/Missing-VMWare-KVM-sections.rb +51 -0
- data/spec/os/debian/data/Missing-sections.rb +53 -0
- data/spec/os/debian/data/Script-Provisioner.rb +62 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/Berksfile.lock +32 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/README.md +81 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/attributes/default.rb +3 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/metadata.rb +11 -0
- data/spec/os/debian/data/chef-solo-cookbooks/git_setup/recipes/default.rb +30 -0
- data/spec/os/debian/data/chef-solo.json +5 -0
- data/spec/os/debian/data/test-script.sh +4 -0
- data/spec/os/debian/finder_spec.rb +59 -0
- data/spec/os/debian/mirrors_spec.rb +18 -0
- data/spec/os/debian/preseed_spec.rb +56 -0
- data/spec/os/debian/server_spec.rb +59 -0
- data/spec/os/debian/templates/apt_spec.rb +20 -0
- data/spec/os/debian/templates/boot_command_spec.rb +56 -0
- data/spec/os/debian/templates/disk_spec.rb +81 -0
- data/spec/os/debian/templates/keyboard_spec.rb +18 -0
- data/spec/os/debian/templates/locale_spec.rb +36 -0
- data/spec/os/debian/templates/mirrors_spec.rb +16 -0
- data/spec/os/debian/templates/network_spec.rb +38 -0
- data/spec/os/debian/templates/packages_spec.rb +17 -0
- data/spec/os/debian/templates/timezone_spec.rb +36 -0
- data/spec/os/debian/templates/user_spec.rb +25 -0
- data/spec/os/finder_spec.rb +21 -0
- data/spec/os/rhel/data/Fedora.rb +45 -0
- data/spec/os/rhel/data/Server-Custom.rb +54 -0
- data/spec/os/rhel/data/Server.rb +45 -0
- data/spec/os/rhel/finder_spec.rb +21 -0
- data/spec/os/ubuntu/cd_spec.rb +28 -0
- data/spec/os/ubuntu/data/Desktop.rb +61 -0
- data/spec/os/ubuntu/data/Server.rb +61 -0
- data/spec/os/ubuntu/finder_spec.rb +17 -0
- data/spec/os/ubuntu/mirrors_spec.rb +18 -0
- data/spec/utils/autozone_spec.rb +33 -0
- data/spec/virtual/virtual_box_spec.rb +16 -0
- metadata +405 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Test file for Checking if the Builder meta-method works
|
|
2
|
+
require 'OS/Builder'
|
|
3
|
+
require 'Core/Locale'
|
|
4
|
+
|
|
5
|
+
# Describe test cases
|
|
6
|
+
describe PackerFiles::Builder do
|
|
7
|
+
|
|
8
|
+
# Check if the builder's instance eval functionality
|
|
9
|
+
# Works
|
|
10
|
+
it 'checks builder instance_eval #1' do
|
|
11
|
+
class TestBuilder < PackerFiles::Builder
|
|
12
|
+
type_accessor PackerFiles::Core::Locale
|
|
13
|
+
end
|
|
14
|
+
builder = TestBuilder.new
|
|
15
|
+
builder.Locale do |b|
|
|
16
|
+
b.default = 'en_IN'
|
|
17
|
+
end
|
|
18
|
+
builder.Locale.normalize
|
|
19
|
+
builder.Locale.default.should eql('en_IN.UTF-8')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Check normalize functionalty
|
|
23
|
+
it 'checks normalization #5' do
|
|
24
|
+
class TestBuilder < PackerFiles::Builder
|
|
25
|
+
type_accessor PackerFiles::Core::Locale
|
|
26
|
+
end
|
|
27
|
+
builder = TestBuilder.new
|
|
28
|
+
builder.Locale do |b|
|
|
29
|
+
b.default = 'en_IN'
|
|
30
|
+
b.supported = ['en_IN']
|
|
31
|
+
end
|
|
32
|
+
builder.Locale.normalize
|
|
33
|
+
builder.Locale.default.should eql('en_IN.UTF-8')
|
|
34
|
+
builder.Locale.supported.first.should eql('en_IN.UTF-8')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Check Hypervisor functionalty
|
|
38
|
+
it 'checks Hypervisor #1' do
|
|
39
|
+
class TestBuilder < PackerFiles::Builder
|
|
40
|
+
end
|
|
41
|
+
builder = TestBuilder.new
|
|
42
|
+
builder.Hypervisors do |h|
|
|
43
|
+
h.VirtualBox do |v|
|
|
44
|
+
v.cpu_count = 2
|
|
45
|
+
v.use_efi = false
|
|
46
|
+
end
|
|
47
|
+
h.VMWare do |v|
|
|
48
|
+
v.cpu_count = 2
|
|
49
|
+
v.use_efi = false
|
|
50
|
+
end
|
|
51
|
+
h.KVM do |v|
|
|
52
|
+
v.cpu_count = 2
|
|
53
|
+
v.use_efi = false
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
builder.Hypervisors.VirtualBox.cpu_count.should eql(2)
|
|
57
|
+
builder.Hypervisors.VirtualBox.use_efi.should be(false)
|
|
58
|
+
builder.Hypervisors.VMWare.cpu_count.should eql(2)
|
|
59
|
+
builder.Hypervisors.VMWare.use_efi.should be(false)
|
|
60
|
+
builder.Hypervisors.KVM.cpu_count.should eql(2)
|
|
61
|
+
builder.Hypervisors.KVM.use_efi.should be(false)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Check Versions functionality
|
|
65
|
+
it 'checks Versions #1' do
|
|
66
|
+
class TestBuilder < PackerFiles::Builder
|
|
67
|
+
end
|
|
68
|
+
TestBuilder.respond_to?(:versions).should be(true)
|
|
69
|
+
TestBuilder.versions.empty?.should be(true)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Check Versions functionality
|
|
73
|
+
it 'checks Versions #2' do
|
|
74
|
+
class TestBuilder < PackerFiles::Builder
|
|
75
|
+
def self.versions
|
|
76
|
+
['12.04']
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
TestBuilder.respond_to?(:versions).should be(true)
|
|
80
|
+
TestBuilder.versions.empty?.should be(false)
|
|
81
|
+
TestBuilder.versions.first.should eql('12.04')
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Test file for CDImage class
|
|
2
|
+
require 'Core/CDImage'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::CDImage do
|
|
6
|
+
|
|
7
|
+
# Check for error conditions
|
|
8
|
+
it 'checks error #1' do
|
|
9
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
10
|
+
end
|
|
11
|
+
begin
|
|
12
|
+
cd.normalize
|
|
13
|
+
rescue PackerFiles::Core::NilException => e
|
|
14
|
+
e.message.should include('arch')
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'checks error #2' do
|
|
19
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
20
|
+
var.arch = 'i386'
|
|
21
|
+
end
|
|
22
|
+
begin
|
|
23
|
+
cd.normalize
|
|
24
|
+
rescue PackerFiles::Core::NilException => e
|
|
25
|
+
e.message.should include('release')
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'checks error #3' do
|
|
30
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
31
|
+
var.arch = 'i386'
|
|
32
|
+
var.release = '6.0.9'
|
|
33
|
+
end
|
|
34
|
+
begin
|
|
35
|
+
cd.normalize
|
|
36
|
+
rescue PackerFiles::Core::NilException => e
|
|
37
|
+
e.message.should include('iso_name_pattern')
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'checks error #4' do
|
|
42
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
43
|
+
var.arch = 'i386'
|
|
44
|
+
var.release = '6.0.9'
|
|
45
|
+
var.iso_name_pattern = 'debian-6.0.9-i386-kde-CD-1.iso'
|
|
46
|
+
end
|
|
47
|
+
begin
|
|
48
|
+
cd.normalize
|
|
49
|
+
rescue PackerFiles::Core::NilException => e
|
|
50
|
+
e.message.should include('check_sum_pattern')
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it 'checks error #5' do
|
|
55
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
56
|
+
var.arch = 'i386'
|
|
57
|
+
var.release = '6.0.9'
|
|
58
|
+
var.iso_name_pattern = 'debian-6.0.9-i386-kde-CD-1.iso'
|
|
59
|
+
var.check_sum_pattern = 'MD5SUM'
|
|
60
|
+
end
|
|
61
|
+
begin
|
|
62
|
+
cd.normalize
|
|
63
|
+
rescue PackerFiles::Core::NilException => e
|
|
64
|
+
e.message.should include('check_sum_type')
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it 'checks error #6' do
|
|
69
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
70
|
+
var.arch = 'i386'
|
|
71
|
+
var.release = '6.0.9'
|
|
72
|
+
var.iso_name_pattern = 'debian-6.0.9-i386-kde-CD-1.iso'
|
|
73
|
+
var.check_sum_pattern = 'MD5SUM'
|
|
74
|
+
var.check_sum_type = 'md5'
|
|
75
|
+
end
|
|
76
|
+
begin
|
|
77
|
+
cd.normalize
|
|
78
|
+
rescue PackerFiles::Core::NilException => e
|
|
79
|
+
e.message.should include('index_urls')
|
|
80
|
+
rescue PackerFiles::Core::EmptyArrayException => e
|
|
81
|
+
e.message.should include('index_urls')
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it 'checks iso / checksum values #1' do
|
|
86
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
87
|
+
var.arch = 'i386'
|
|
88
|
+
var.release = '6.0.9'
|
|
89
|
+
var.iso_name_pattern = 'debian-6.0.9-i386-kde-CD-1.iso'
|
|
90
|
+
var.check_sum_pattern = 'MD5SUMS'
|
|
91
|
+
var.check_sum_type = 'md5'
|
|
92
|
+
var.index_urls = [
|
|
93
|
+
'http://cdimage.debian.org/mirror/cdimage/archive/@release@/@arch@/iso-cd/'
|
|
94
|
+
]
|
|
95
|
+
end
|
|
96
|
+
cd.normalize
|
|
97
|
+
cd.iso_url.should eql('http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso')
|
|
98
|
+
cd.check_sum.should eql('b125597ef23366594eb18b82352e06f9') if cd.check_sum_type != 'none'
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
it 'checks iso / checksum values #2' do
|
|
102
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
103
|
+
var.arch = 'i386'
|
|
104
|
+
var.release = '6.0.9'
|
|
105
|
+
var.check_sum_type = 'md5'
|
|
106
|
+
var.iso_url = 'http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso'
|
|
107
|
+
var.check_sum = 'b125597ef23366594eb18b82352e06f9'
|
|
108
|
+
end
|
|
109
|
+
cd.normalize
|
|
110
|
+
cd.iso_url.should eql('http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso')
|
|
111
|
+
cd.check_sum.should eql('b125597ef23366594eb18b82352e06f9')
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
it 'checks iso / checksum values #3' do
|
|
115
|
+
class DebianCD < PackerFiles::Core::CDImageImpl
|
|
116
|
+
def get_iso_name_pattern
|
|
117
|
+
'debian-6.0.9-i386-kde-CD-1.iso'
|
|
118
|
+
end
|
|
119
|
+
def get_check_sum_pattern
|
|
120
|
+
'MD5SUMS'
|
|
121
|
+
end
|
|
122
|
+
def index_urls
|
|
123
|
+
['http://cdimage.debian.org/mirror/cdimage/archive/@release@/@arch@/iso-cd/']
|
|
124
|
+
end
|
|
125
|
+
def get_check_sum_type
|
|
126
|
+
'md5'
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
130
|
+
var.arch = 'i386'
|
|
131
|
+
var.release = '6.0.9'
|
|
132
|
+
var.impl = DebianCD.new
|
|
133
|
+
end
|
|
134
|
+
cd.normalize
|
|
135
|
+
cd.iso_url.should eql('http://cdimage.debian.org/mirror/cdimage/archive/6.0.9/i386/iso-cd/debian-6.0.9-i386-kde-CD-1.iso')
|
|
136
|
+
cd.check_sum.should eql('b125597ef23366594eb18b82352e06f9') if cd.check_sum_type != 'none'
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
it 'checks documentation #1' do
|
|
140
|
+
cd = PackerFiles::Core::CDImage.new do |var|
|
|
141
|
+
var.arch = 'i386'
|
|
142
|
+
var.release = '6.0.9'
|
|
143
|
+
var.iso_name_pattern = 'debian-6.0.9-i386-kde-CD-1.iso'
|
|
144
|
+
var.check_sum_pattern = 'MD5SUMS'
|
|
145
|
+
var.check_sum_type = 'md5'
|
|
146
|
+
var.index_urls = [
|
|
147
|
+
'http://cdimage.debian.org/mirror/cdimage/archive/@release@/@arch@/iso-cd/'
|
|
148
|
+
]
|
|
149
|
+
end
|
|
150
|
+
cd.normalize
|
|
151
|
+
|
|
152
|
+
File.exist?(cd.class.doc_file).should be(true)
|
|
153
|
+
result = PackerFiles.evaluate_erb(cd.class.doc_file, Hash.new)
|
|
154
|
+
result.should_not include('kde')
|
|
155
|
+
result = PackerFiles.evaluate_erb(cd.class.doc_file, {'obj' => cd})
|
|
156
|
+
result.should include('kde')
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
end
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Test file for Disk
|
|
2
|
+
require 'Core/Disk'
|
|
3
|
+
require 'Core/Partition'
|
|
4
|
+
|
|
5
|
+
# Describe test cases
|
|
6
|
+
describe PackerFiles::Core::Disk do
|
|
7
|
+
|
|
8
|
+
# Check normalize functionalty
|
|
9
|
+
it 'checks normalization #1' do
|
|
10
|
+
disk = PackerFiles::Core::Disk.new
|
|
11
|
+
disk.name = 'sda'
|
|
12
|
+
disk.size = '2GiB'
|
|
13
|
+
disk.normalize
|
|
14
|
+
disk.size.should eql(2048)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'checks normalization #2' do
|
|
18
|
+
disk = PackerFiles::Core::Disk.new
|
|
19
|
+
disk.name = 'sda'
|
|
20
|
+
disk.size = '2MiB'
|
|
21
|
+
disk.normalize
|
|
22
|
+
disk.size.should eql(2)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'checks normalization #3' do
|
|
26
|
+
disk = PackerFiles::Core::Disk.new
|
|
27
|
+
disk.name = 'sda'
|
|
28
|
+
disk.size = '2TiB'
|
|
29
|
+
disk.normalize
|
|
30
|
+
disk.size.should eql(2097152)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'checks normalization #4' do
|
|
34
|
+
disk = PackerFiles::Core::Disk.new
|
|
35
|
+
disk.name = 'sda'
|
|
36
|
+
disk.size = '2GB'
|
|
37
|
+
disk.normalize
|
|
38
|
+
disk.size.should eql(1907)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'checks normalization #5' do
|
|
42
|
+
disk = PackerFiles::Core::Disk.new
|
|
43
|
+
disk.name = 'sda'
|
|
44
|
+
disk.size = '100MB'
|
|
45
|
+
disk.normalize
|
|
46
|
+
disk.size.should eql(95)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it 'checks normalization #6' do
|
|
50
|
+
disk = PackerFiles::Core::Disk.new
|
|
51
|
+
disk.name = 'sda'
|
|
52
|
+
disk.size = '1TB'
|
|
53
|
+
disk.normalize
|
|
54
|
+
disk.size.should eql(909486)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Checks for disks and Partitions
|
|
58
|
+
it 'checks normalization #7' do
|
|
59
|
+
part = PackerFiles::Core::Partition.new
|
|
60
|
+
part.name = 'A'
|
|
61
|
+
part.size = '2MB'
|
|
62
|
+
disk = PackerFiles::Core::Disk.new
|
|
63
|
+
disk.name = 'sda'
|
|
64
|
+
disk.size = '1MB'
|
|
65
|
+
disk.partitions.push(part)
|
|
66
|
+
begin
|
|
67
|
+
disk.normalize
|
|
68
|
+
rescue PackerFiles::Core::SizeException => e
|
|
69
|
+
disk.size.should eql(1)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'checks normalization #8' do
|
|
74
|
+
part = PackerFiles::Core::Partition.new
|
|
75
|
+
part.name = 'A'
|
|
76
|
+
part.size = '1MB'
|
|
77
|
+
disk = PackerFiles::Core::Disk.new
|
|
78
|
+
disk.name = 'sda'
|
|
79
|
+
disk.size = '1MB'
|
|
80
|
+
disk.partitions.push(part)
|
|
81
|
+
disk.normalize
|
|
82
|
+
disk.size.should eql(1)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it 'checks Partition evaluation #9' do
|
|
86
|
+
disk = PackerFiles::Core::Disk.new
|
|
87
|
+
disk.name = 'sda'
|
|
88
|
+
disk.size = '1MB'
|
|
89
|
+
disk.Partition do |p|
|
|
90
|
+
p.name = 'A'
|
|
91
|
+
p.size = '1MB'
|
|
92
|
+
end
|
|
93
|
+
disk.normalize
|
|
94
|
+
disk.size.should eql(1)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
it 'checks Partition evaluation #10' do
|
|
98
|
+
disk = PackerFiles::Core::Disk.new
|
|
99
|
+
disk.name = 'sda'
|
|
100
|
+
disk.size = '1MB'
|
|
101
|
+
disk.Partition do |p|
|
|
102
|
+
p.size = '1MB'
|
|
103
|
+
end
|
|
104
|
+
disk.normalize
|
|
105
|
+
disk.size.should eql(1)
|
|
106
|
+
disk.partitions.first.size.should eql(1)
|
|
107
|
+
disk.partitions.first.name.should eql(0)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
it 'checks Partition evaluation #11' do
|
|
111
|
+
disk = PackerFiles::Core::Disk.new
|
|
112
|
+
disk.name = 'sda'
|
|
113
|
+
disk.size = '2MB'
|
|
114
|
+
disk.Partition do |p|
|
|
115
|
+
p.size = '1MB'
|
|
116
|
+
end
|
|
117
|
+
disk.Partition do |p|
|
|
118
|
+
p.size = '1MB'
|
|
119
|
+
end
|
|
120
|
+
disk.normalize
|
|
121
|
+
disk.size.should eql(2)
|
|
122
|
+
disk.partitions.first.size.should eql(1)
|
|
123
|
+
disk.partitions.first.name.should eql(0)
|
|
124
|
+
disk.partitions.last.size.should eql(1)
|
|
125
|
+
disk.partitions.last.name.should eql(1)
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
it 'checks VG evaluation #12' do
|
|
129
|
+
disk = PackerFiles::Core::Disk.new
|
|
130
|
+
disk.name = 'sda'
|
|
131
|
+
disk.size = '6GiB'
|
|
132
|
+
disk.Partition do |p|
|
|
133
|
+
p.size = '5GiB'
|
|
134
|
+
end
|
|
135
|
+
disk.Partition do |p|
|
|
136
|
+
p.size = '1GiB'
|
|
137
|
+
end
|
|
138
|
+
disk.VolumeGroup do |v|
|
|
139
|
+
v.name = 'VG'
|
|
140
|
+
v.disk_names = [0, 1]
|
|
141
|
+
v.LogicalVolume do |l|
|
|
142
|
+
l.size = '2GiB'
|
|
143
|
+
end
|
|
144
|
+
v.LogicalVolume do |l|
|
|
145
|
+
l.size = '4GiB'
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
disk.normalize
|
|
149
|
+
disk.vg.lvs.size.should eql(2)
|
|
150
|
+
disk.vg.lvs.first.size.should eql(2048)
|
|
151
|
+
disk.vg.lvs.first.vg_name.should eql('VG')
|
|
152
|
+
disk.vg.lvs.last.size.should eql(4096)
|
|
153
|
+
disk.vg.lvs.last.vg_name.should eql('VG')
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
it 'checks VG evaluation #13' do
|
|
157
|
+
disk = PackerFiles::Core::Disk.new
|
|
158
|
+
disk.name = 'sda'
|
|
159
|
+
disk.size = '10GiB'
|
|
160
|
+
disk.VolumeGroup do |v|
|
|
161
|
+
v.name = 'VG'
|
|
162
|
+
v.disk_names = ['sda']
|
|
163
|
+
v.LogicalVolume do |l|
|
|
164
|
+
l.size = '2GiB'
|
|
165
|
+
end
|
|
166
|
+
v.LogicalVolume do |l|
|
|
167
|
+
l.size = '4GiB'
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
disk.normalize
|
|
171
|
+
disk.vg.lvs.size.should eql(2)
|
|
172
|
+
disk.vg.lvs.first.size.should eql(2048)
|
|
173
|
+
disk.vg.lvs.first.vg_name.should eql('VG')
|
|
174
|
+
disk.vg.lvs.last.size.should eql(4096)
|
|
175
|
+
disk.vg.lvs.last.vg_name.should eql('VG')
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
it 'checks Disk documentation #1' do
|
|
179
|
+
disk = PackerFiles::Core::Disk.new
|
|
180
|
+
disk.name = 'sdcc'
|
|
181
|
+
disk.size = '10GiB'
|
|
182
|
+
disk.normalize
|
|
183
|
+
File.exist?(disk.class.doc_file).should be(true)
|
|
184
|
+
result = PackerFiles.evaluate_erb(disk.class.doc_file, Hash.new)
|
|
185
|
+
result.should_not include((10*1024).to_s)
|
|
186
|
+
result = PackerFiles.evaluate_erb(disk.class.doc_file, {'obj' => disk})
|
|
187
|
+
result.should include((10*1024).to_s)
|
|
188
|
+
result.should include('sdcc')
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Test file for Keyboard
|
|
2
|
+
require 'Core/Keyboard'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::Keyboard do
|
|
6
|
+
|
|
7
|
+
# Check normalize functionalty
|
|
8
|
+
it 'checks normalization #1' do
|
|
9
|
+
keyboard = PackerFiles::Core::Keyboard.new
|
|
10
|
+
keyboard.variant = 'us'
|
|
11
|
+
keyboard.layout = 'us'
|
|
12
|
+
keyboard.normalize
|
|
13
|
+
keyboard.layout.should eql('us')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'checks normalization #2' do
|
|
17
|
+
keyboard = PackerFiles::Core::Keyboard.new
|
|
18
|
+
begin
|
|
19
|
+
keyboard.normalize
|
|
20
|
+
rescue PackerFiles::Core::NilException => e
|
|
21
|
+
keyboard.layout.should be_nil
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'checks Keyboard documentation #1' do
|
|
26
|
+
keyboard = PackerFiles::Core::Keyboard.new
|
|
27
|
+
keyboard.variant = 'xyZ'
|
|
28
|
+
keyboard.layout = 'aBC'
|
|
29
|
+
keyboard.normalize
|
|
30
|
+
File.exist?(keyboard.class.doc_file).should be(true)
|
|
31
|
+
result = PackerFiles.evaluate_erb(keyboard.class.doc_file, {'obj' => keyboard})
|
|
32
|
+
result.should include('xyZ')
|
|
33
|
+
result.should include('aBC')
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Test file for locale
|
|
2
|
+
require 'Core/Locale'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::Locale do
|
|
6
|
+
|
|
7
|
+
# Check normalize functionalty
|
|
8
|
+
it 'checks normalization #1' do
|
|
9
|
+
locale = PackerFiles::Core::Locale.new
|
|
10
|
+
locale.default = 'en_IN'
|
|
11
|
+
locale.normalize
|
|
12
|
+
locale.default.should eql('en_IN.UTF-8')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'checks normalization #2' do
|
|
16
|
+
locale = PackerFiles::Core::Locale.new
|
|
17
|
+
locale.default = 'en_IN'
|
|
18
|
+
locale.normalize(false)
|
|
19
|
+
locale.default.should eql('en_IN')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'checks normalization #3' do
|
|
23
|
+
locale = PackerFiles::Core::Locale.new
|
|
24
|
+
locale.default = 'en_IN'
|
|
25
|
+
locale.normalize(true, '.ABC')
|
|
26
|
+
locale.default.should eql('en_IN.ABC')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Check normalize functionalty
|
|
30
|
+
it 'checks normalization #4' do
|
|
31
|
+
locale = PackerFiles::Core::Locale.new
|
|
32
|
+
locale.default = 'en_IN'
|
|
33
|
+
locale.supported = ['en_IN']
|
|
34
|
+
locale.normalize
|
|
35
|
+
locale.default.should eql('en_IN.UTF-8')
|
|
36
|
+
locale.supported.first.should eql('en_IN.UTF-8')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'checks normalization #5' do
|
|
40
|
+
locale = PackerFiles::Core::Locale.new
|
|
41
|
+
locale.country = 'IN'
|
|
42
|
+
locale.language = 'en'
|
|
43
|
+
locale.supported = ['en_IN']
|
|
44
|
+
locale.normalize
|
|
45
|
+
locale.default.should eql('en_IN.UTF-8')
|
|
46
|
+
locale.supported.first.should eql('en_IN.UTF-8')
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Checks yield functionality
|
|
50
|
+
it 'checks yield functionality #1' do
|
|
51
|
+
locale = PackerFiles::Core::Locale.new do |obj|
|
|
52
|
+
obj.default = 'en_IN'
|
|
53
|
+
obj.supported = ['en_IN']
|
|
54
|
+
obj.normalize
|
|
55
|
+
end
|
|
56
|
+
locale.default.should eql('en_IN.UTF-8')
|
|
57
|
+
locale.supported.first.should eql('en_IN.UTF-8')
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'checks Locale documentation #1' do
|
|
61
|
+
locale = PackerFiles::Core::Locale.new
|
|
62
|
+
locale.default = 'de_DE'
|
|
63
|
+
locale.supported = ['en_KN']
|
|
64
|
+
locale.normalize
|
|
65
|
+
|
|
66
|
+
File.exist?(locale.class.doc_file).should be(true)
|
|
67
|
+
result = PackerFiles.evaluate_erb(locale.class.doc_file, {'obj' => locale})
|
|
68
|
+
result.should include('de_DE')
|
|
69
|
+
result.should include('en_KN')
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Test file for Network
|
|
2
|
+
require 'Core/Network'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::Network do
|
|
6
|
+
|
|
7
|
+
# Check normalize functionalty
|
|
8
|
+
it 'checks normalization #1' do
|
|
9
|
+
net = PackerFiles::Core::Network.new
|
|
10
|
+
net.interface = 'eth0'
|
|
11
|
+
net.type = PackerFiles::Core::Network::IPV4
|
|
12
|
+
net.normalize
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'checks normalization #2' do
|
|
16
|
+
net = PackerFiles::Core::Network.new
|
|
17
|
+
net.interface = 'eth0'
|
|
18
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
19
|
+
net.ip = '10.10.10.10'
|
|
20
|
+
net.mask = '255.255.0.0'
|
|
21
|
+
net.gateway = '10.11.12.13'
|
|
22
|
+
net.dns = ['10.20.30.50']
|
|
23
|
+
net.normalize
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'checks normalization #3' do
|
|
27
|
+
net = PackerFiles::Core::Network.new
|
|
28
|
+
net.interface = 'eth0'
|
|
29
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
30
|
+
net.ip = '10.10.10.10'
|
|
31
|
+
net.mask = '255.255.0.0'
|
|
32
|
+
net.gateway = '10.11.12.13'
|
|
33
|
+
begin
|
|
34
|
+
net.normalize
|
|
35
|
+
rescue PackerFiles::Core::EmptyArrayException => e
|
|
36
|
+
net.gateway.should eql('10.11.12.13')
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it 'checks normalization #4' do
|
|
41
|
+
net = PackerFiles::Core::Network.new
|
|
42
|
+
net.interface = 'eth0'
|
|
43
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
44
|
+
net.ip = '10.10.10.10'
|
|
45
|
+
net.mask = '255.255.0.0'
|
|
46
|
+
begin
|
|
47
|
+
net.normalize
|
|
48
|
+
rescue PackerFiles::Core::NilException => e
|
|
49
|
+
net.mask.should eql('255.255.0.0')
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it 'checks normalization #5' do
|
|
54
|
+
net = PackerFiles::Core::Network.new
|
|
55
|
+
net.interface = 'eth0'
|
|
56
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
57
|
+
net.ip = '10.10.10.10'
|
|
58
|
+
begin
|
|
59
|
+
net.normalize
|
|
60
|
+
rescue PackerFiles::Core::NilException => e
|
|
61
|
+
net.ip.should eql('10.10.10.10')
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it 'checks normalization #6' do
|
|
66
|
+
net = PackerFiles::Core::Network.new
|
|
67
|
+
net.interface = 'eth0'
|
|
68
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
69
|
+
begin
|
|
70
|
+
net.normalize
|
|
71
|
+
rescue PackerFiles::Core::NilException => e
|
|
72
|
+
net.interface.should eql('eth0')
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it 'checks Documentation #1' do
|
|
77
|
+
net = PackerFiles::Core::Network.new
|
|
78
|
+
net.interface = 'eth23'
|
|
79
|
+
net.type = PackerFiles::Core::Network::STATIC | PackerFiles::Core::Network::IPV4
|
|
80
|
+
net.ip = '10.10.10.10'
|
|
81
|
+
net.mask = '255.255.0.0'
|
|
82
|
+
net.gateway = '10.11.12.13'
|
|
83
|
+
net.dns = ['10.20.30.50']
|
|
84
|
+
net.normalize
|
|
85
|
+
File.exist?(net.class.doc_file).should be(true)
|
|
86
|
+
result = PackerFiles.evaluate_erb(net.class.doc_file, {'obj' => net})
|
|
87
|
+
result.should include('eth23')
|
|
88
|
+
result.should include('PackerFiles::Core::Network::IPV4 | PackerFiles::Core::Network::STATIC')
|
|
89
|
+
result.should include('10.10.10.10')
|
|
90
|
+
result.should include('10.11.12.13')
|
|
91
|
+
result.should include('255.255.0.0')
|
|
92
|
+
result.should include('["10.20.30.50"]')
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Test file for Packages
|
|
2
|
+
require 'Core/Packages'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::Packages do
|
|
6
|
+
|
|
7
|
+
it 'checks Packages documentation #1' do
|
|
8
|
+
pkg = PackerFiles::Core::Packages.new
|
|
9
|
+
pkg.list += ['nfs-common']
|
|
10
|
+
pkg.normalize
|
|
11
|
+
|
|
12
|
+
File.exist?(pkg.class.doc_file).should be(true)
|
|
13
|
+
result = PackerFiles.evaluate_erb(pkg.class.doc_file, {'obj' => pkg})
|
|
14
|
+
result.should include('nfs-common')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Test file for TimeZone
|
|
2
|
+
require 'Core/TimeZone'
|
|
3
|
+
|
|
4
|
+
# Describe test cases
|
|
5
|
+
describe PackerFiles::Core::TimeZone do
|
|
6
|
+
|
|
7
|
+
# Check normalize functionalty
|
|
8
|
+
it 'checks normalization #1' do
|
|
9
|
+
tz = PackerFiles::Core::TimeZone.new
|
|
10
|
+
tz.utc = true
|
|
11
|
+
tz.zone = 'Asia/Kolkata'
|
|
12
|
+
tz.normalize
|
|
13
|
+
tz.zone.should eql('Asia/Kolkata')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Check normalize functionalty
|
|
17
|
+
it 'checks normalization #2' do
|
|
18
|
+
tz = PackerFiles::Core::TimeZone.new
|
|
19
|
+
tz.auto = true
|
|
20
|
+
tz.normalize
|
|
21
|
+
tz.zone.should_not be_nil
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Check normalize functionalty
|
|
25
|
+
it 'checks normalization #3' do
|
|
26
|
+
tz = PackerFiles::Core::TimeZone.new
|
|
27
|
+
tz.auto = false
|
|
28
|
+
tz.normalize
|
|
29
|
+
tz.zone.should be_nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'checks timezone documentation #1' do
|
|
33
|
+
tz = PackerFiles::Core::TimeZone.new
|
|
34
|
+
tz.utc = false
|
|
35
|
+
tz.zone = 'Asia/Kolkata'
|
|
36
|
+
tz.normalize
|
|
37
|
+
File.exist?(tz.class.doc_file).should be(true)
|
|
38
|
+
result = PackerFiles.evaluate_erb(tz.class.doc_file, {'obj' => tz})
|
|
39
|
+
result.should include('Asia/Kolkata')
|
|
40
|
+
result.should include('timezone.utc = false')
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|