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.
Files changed (195) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/PackerFiles.gemspec +36 -0
  6. data/README.md +32 -0
  7. data/Rakefile +21 -0
  8. data/bin/pkf +5 -0
  9. data/lib/PackerFiles/CLI/OS.rb +44 -0
  10. data/lib/PackerFiles/CLI/Root.rb +41 -0
  11. data/lib/PackerFiles/Core/Base.rb +23 -0
  12. data/lib/PackerFiles/Core/CDImage.rb +185 -0
  13. data/lib/PackerFiles/Core/Disk.rb +135 -0
  14. data/lib/PackerFiles/Core/Exceptions.rb +65 -0
  15. data/lib/PackerFiles/Core/Hypervisor.rb +96 -0
  16. data/lib/PackerFiles/Core/Keyboard.rb +38 -0
  17. data/lib/PackerFiles/Core/Locale.rb +62 -0
  18. data/lib/PackerFiles/Core/LogicalVolume.rb +41 -0
  19. data/lib/PackerFiles/Core/Network.rb +67 -0
  20. data/lib/PackerFiles/Core/Packages.rb +30 -0
  21. data/lib/PackerFiles/Core/Partition.rb +41 -0
  22. data/lib/PackerFiles/Core/TimeZone.rb +45 -0
  23. data/lib/PackerFiles/Core/User.rb +46 -0
  24. data/lib/PackerFiles/Core/VolumeGroup.rb +50 -0
  25. data/lib/PackerFiles/Core/example/CDImage.txt +75 -0
  26. data/lib/PackerFiles/Core/example/Disk.txt +29 -0
  27. data/lib/PackerFiles/Core/example/Hypervisor.txt +111 -0
  28. data/lib/PackerFiles/Core/example/Keyboard.txt +28 -0
  29. data/lib/PackerFiles/Core/example/Locale.txt +31 -0
  30. data/lib/PackerFiles/Core/example/Network.txt +68 -0
  31. data/lib/PackerFiles/Core/example/Packages.txt +22 -0
  32. data/lib/PackerFiles/Core/example/TimeZone.txt +36 -0
  33. data/lib/PackerFiles/Core/example/User.txt +48 -0
  34. data/lib/PackerFiles/OS/Builder.rb +116 -0
  35. data/lib/PackerFiles/OS/CentOS/CD.rb +81 -0
  36. data/lib/PackerFiles/OS/CentOS/Kickstart.rb +64 -0
  37. data/lib/PackerFiles/OS/CentOS/Server.rb +170 -0
  38. data/lib/PackerFiles/OS/CentOS/Templates/Base_erb.rb +4 -0
  39. data/lib/PackerFiles/OS/CentOS/Templates/Disk_erb.rb +35 -0
  40. data/lib/PackerFiles/OS/CentOS/Templates/Keyboard_erb.rb +4 -0
  41. data/lib/PackerFiles/OS/CentOS/Templates/Locale_erb.rb +4 -0
  42. data/lib/PackerFiles/OS/CentOS/Templates/Network_erb.rb +17 -0
  43. data/lib/PackerFiles/OS/CentOS/Templates/Packages_erb.rb +34 -0
  44. data/lib/PackerFiles/OS/CentOS/Templates/Tail_erb.rb +15 -0
  45. data/lib/PackerFiles/OS/CentOS/Templates/TimeZone_erb.rb +10 -0
  46. data/lib/PackerFiles/OS/CentOS/Templates/User_erb.rb +20 -0
  47. data/lib/PackerFiles/OS/CentOS/Templates/boot_command_erb.rb +16 -0
  48. data/lib/PackerFiles/OS/CentOS/Templates/command_as_root_erb.rb +1 -0
  49. data/lib/PackerFiles/OS/CentOS/Templates/disable_root_erb.rb +1 -0
  50. data/lib/PackerFiles/OS/CentOS/Templates/enable_root_erb.rb +1 -0
  51. data/lib/PackerFiles/OS/CentOS/Templates/shutdown_command_erb.rb +1 -0
  52. data/lib/PackerFiles/OS/Debian/Apt.rb +42 -0
  53. data/lib/PackerFiles/OS/Debian/CD.rb +65 -0
  54. data/lib/PackerFiles/OS/Debian/Mirrors.rb +73 -0
  55. data/lib/PackerFiles/OS/Debian/Preseed.rb +64 -0
  56. data/lib/PackerFiles/OS/Debian/Server.rb +169 -0
  57. data/lib/PackerFiles/OS/Debian/Templates/Apt_erb.rb +18 -0
  58. data/lib/PackerFiles/OS/Debian/Templates/Disk_erb.rb +69 -0
  59. data/lib/PackerFiles/OS/Debian/Templates/Keyboard_erb.rb +5 -0
  60. data/lib/PackerFiles/OS/Debian/Templates/Locale_erb.rb +7 -0
  61. data/lib/PackerFiles/OS/Debian/Templates/Mirrors_erb.rb +9 -0
  62. data/lib/PackerFiles/OS/Debian/Templates/Network_erb.rb +19 -0
  63. data/lib/PackerFiles/OS/Debian/Templates/Packages_erb.rb +6 -0
  64. data/lib/PackerFiles/OS/Debian/Templates/TimeZone_erb.rb +6 -0
  65. data/lib/PackerFiles/OS/Debian/Templates/User_erb.rb +14 -0
  66. data/lib/PackerFiles/OS/Debian/Templates/boot_command_erb.rb +24 -0
  67. data/lib/PackerFiles/OS/Debian/Templates/command_as_root_erb.rb +1 -0
  68. data/lib/PackerFiles/OS/Debian/Templates/disable_root_erb.rb +5 -0
  69. data/lib/PackerFiles/OS/Debian/Templates/enable_root_erb.rb +1 -0
  70. data/lib/PackerFiles/OS/Debian/Templates/shutdown_command_erb.rb +1 -0
  71. data/lib/PackerFiles/OS/Debian/example/Apt.txt +55 -0
  72. data/lib/PackerFiles/OS/DocGenerator.rb +51 -0
  73. data/lib/PackerFiles/OS/Finder.rb +96 -0
  74. data/lib/PackerFiles/OS/RHEL/CD.rb +32 -0
  75. data/lib/PackerFiles/OS/RHEL/Fedora.rb +59 -0
  76. data/lib/PackerFiles/OS/RHEL/FedoraCD.rb +68 -0
  77. data/lib/PackerFiles/OS/RHEL/Server.rb +32 -0
  78. data/lib/PackerFiles/OS/RHEL/Templates/Fedora_Tail_erb.rb +14 -0
  79. data/lib/PackerFiles/OS/RHEL/Templates/boot_command_fedora_erb.rb +16 -0
  80. data/lib/PackerFiles/OS/SUSE/Templates/Base_erb.xml +32 -0
  81. data/lib/PackerFiles/OS/SUSE/Templates/Disk_erb.xml +110 -0
  82. data/lib/PackerFiles/OS/SUSE/Templates/Keyboard_erb.xml +7 -0
  83. data/lib/PackerFiles/OS/SUSE/Templates/Locale_erb.xml +18 -0
  84. data/lib/PackerFiles/OS/SUSE/Templates/Network_erb.xml +143 -0
  85. data/lib/PackerFiles/OS/SUSE/Templates/Packages_erb.xml +29 -0
  86. data/lib/PackerFiles/OS/SUSE/Templates/Tail_erb.xml +4 -0
  87. data/lib/PackerFiles/OS/SUSE/Templates/TimeZone_erb.xml +15 -0
  88. data/lib/PackerFiles/OS/SUSE/Templates/User_erb.xml +57 -0
  89. data/lib/PackerFiles/OS/SUSE/Templates/boot_command_erb.rb +23 -0
  90. data/lib/PackerFiles/OS/SUSE/Templates/command_as_root_erb.rb +1 -0
  91. data/lib/PackerFiles/OS/SUSE/Templates/disable_root_erb.rb +1 -0
  92. data/lib/PackerFiles/OS/SUSE/Templates/enable_root_erb.rb +1 -0
  93. data/lib/PackerFiles/OS/SUSE/Templates/shutdown_command_erb.rb +1 -0
  94. data/lib/PackerFiles/OS/Ubuntu/CD.rb +81 -0
  95. data/lib/PackerFiles/OS/Ubuntu/Desktop.rb +50 -0
  96. data/lib/PackerFiles/OS/Ubuntu/DesktopCD.rb +16 -0
  97. data/lib/PackerFiles/OS/Ubuntu/Mirrors.rb +103 -0
  98. data/lib/PackerFiles/OS/Ubuntu/Server.rb +78 -0
  99. data/lib/PackerFiles/OS/Ubuntu/Templates/Apt_erb.rb +18 -0
  100. data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_desktop_erb.rb +36 -0
  101. data/lib/PackerFiles/OS/Ubuntu/Templates/boot_command_erb.rb +30 -0
  102. data/lib/PackerFiles/OS/Ubuntu/Templates/ubiquity_erb.rb +8 -0
  103. data/lib/PackerFiles/OS/example/Doc.txt +8 -0
  104. data/lib/PackerFiles/Provision/Base.rb +20 -0
  105. data/lib/PackerFiles/Provision/ChefSolo.rb +90 -0
  106. data/lib/PackerFiles/Provision/ChefSoloHelper.rb +72 -0
  107. data/lib/PackerFiles/Provision/Copy.rb +22 -0
  108. data/lib/PackerFiles/Provision/ExternalScript.rb +43 -0
  109. data/lib/PackerFiles/Provision/InlineScript.rb +37 -0
  110. data/lib/PackerFiles/Provision/Provisioners.rb +87 -0
  111. data/lib/PackerFiles/Provision/example/Provisioners.txt +21 -0
  112. data/lib/PackerFiles/Utils/AutoZone.rb +96 -0
  113. data/lib/PackerFiles/Utils/FastestURL.rb +73 -0
  114. data/lib/PackerFiles/Utils/Generator.rb +34 -0
  115. data/lib/PackerFiles/Utils/HashSerializer.rb +110 -0
  116. data/lib/PackerFiles/Utils/Size.rb +44 -0
  117. data/lib/PackerFiles/Utils/TypeAccessor.rb +71 -0
  118. data/lib/PackerFiles/Virtual/Hypervisors.rb +72 -0
  119. data/lib/PackerFiles/Virtual/KVM.rb +119 -0
  120. data/lib/PackerFiles/Virtual/KVMConverter.rb +79 -0
  121. data/lib/PackerFiles/Virtual/VMWare.rb +108 -0
  122. data/lib/PackerFiles/Virtual/VMWareConverter.rb +78 -0
  123. data/lib/PackerFiles/Virtual/VirtualBox.rb +98 -0
  124. data/lib/PackerFiles/Virtual/VirtualBoxConverter.rb +75 -0
  125. data/lib/PackerFiles/Virtual/example/Hypervisors.txt +23 -0
  126. data/lib/PackerFiles/version.rb +3 -0
  127. data/lib/PackerFiles.rb +44 -0
  128. data/spec/core/builder_spec.rb +84 -0
  129. data/spec/core/cdimage_spec.rb +159 -0
  130. data/spec/core/disk_spec.rb +191 -0
  131. data/spec/core/keyboard_spec.rb +36 -0
  132. data/spec/core/locale_spec.rb +73 -0
  133. data/spec/core/network_spec.rb +96 -0
  134. data/spec/core/packages_spec.rb +18 -0
  135. data/spec/core/timezone_spec.rb +43 -0
  136. data/spec/core/user_spec.rb +44 -0
  137. data/spec/core/volume_group_spec.rb +53 -0
  138. data/spec/os/centos/cd_spec.rb +12 -0
  139. data/spec/os/centos/data/Server-Script-Provisioner.rb +57 -0
  140. data/spec/os/centos/data/Server.rb +55 -0
  141. data/spec/os/centos/data/chef-solo-provisioner.rb +58 -0
  142. data/spec/os/centos/finder_spec.rb +22 -0
  143. data/spec/os/centos/templates/boot_command_spec.rb +57 -0
  144. data/spec/os/centos/templates/disk_spec.rb +79 -0
  145. data/spec/os/centos/templates/keyboard_spec.rb +18 -0
  146. data/spec/os/centos/templates/locale_spec.rb +26 -0
  147. data/spec/os/centos/templates/network_spec.rb +38 -0
  148. data/spec/os/centos/templates/packages_spec.rb +18 -0
  149. data/spec/os/centos/templates/timezone_spec.rb +37 -0
  150. data/spec/os/centos/templates/user_spec.rb +24 -0
  151. data/spec/os/debian/apt_spec.rb +50 -0
  152. data/spec/os/debian/cd_spec.rb +30 -0
  153. data/spec/os/debian/data/7zip.tar.gz +0 -0
  154. data/spec/os/debian/data/All-sections.rb +60 -0
  155. data/spec/os/debian/data/Chef-Solo-Provisioner.rb +60 -0
  156. data/spec/os/debian/data/Copy-Provisioner.rb +61 -0
  157. data/spec/os/debian/data/External-Script-Provisioner.rb +69 -0
  158. data/spec/os/debian/data/Missing-CDImage.rb +53 -0
  159. data/spec/os/debian/data/Missing-VMWare-KVM-sections.rb +51 -0
  160. data/spec/os/debian/data/Missing-sections.rb +53 -0
  161. data/spec/os/debian/data/Script-Provisioner.rb +62 -0
  162. data/spec/os/debian/data/chef-solo-cookbooks/git_setup/Berksfile.lock +32 -0
  163. data/spec/os/debian/data/chef-solo-cookbooks/git_setup/README.md +81 -0
  164. data/spec/os/debian/data/chef-solo-cookbooks/git_setup/attributes/default.rb +3 -0
  165. data/spec/os/debian/data/chef-solo-cookbooks/git_setup/metadata.rb +11 -0
  166. data/spec/os/debian/data/chef-solo-cookbooks/git_setup/recipes/default.rb +30 -0
  167. data/spec/os/debian/data/chef-solo.json +5 -0
  168. data/spec/os/debian/data/test-script.sh +4 -0
  169. data/spec/os/debian/finder_spec.rb +59 -0
  170. data/spec/os/debian/mirrors_spec.rb +18 -0
  171. data/spec/os/debian/preseed_spec.rb +56 -0
  172. data/spec/os/debian/server_spec.rb +59 -0
  173. data/spec/os/debian/templates/apt_spec.rb +20 -0
  174. data/spec/os/debian/templates/boot_command_spec.rb +56 -0
  175. data/spec/os/debian/templates/disk_spec.rb +81 -0
  176. data/spec/os/debian/templates/keyboard_spec.rb +18 -0
  177. data/spec/os/debian/templates/locale_spec.rb +36 -0
  178. data/spec/os/debian/templates/mirrors_spec.rb +16 -0
  179. data/spec/os/debian/templates/network_spec.rb +38 -0
  180. data/spec/os/debian/templates/packages_spec.rb +17 -0
  181. data/spec/os/debian/templates/timezone_spec.rb +36 -0
  182. data/spec/os/debian/templates/user_spec.rb +25 -0
  183. data/spec/os/finder_spec.rb +21 -0
  184. data/spec/os/rhel/data/Fedora.rb +45 -0
  185. data/spec/os/rhel/data/Server-Custom.rb +54 -0
  186. data/spec/os/rhel/data/Server.rb +45 -0
  187. data/spec/os/rhel/finder_spec.rb +21 -0
  188. data/spec/os/ubuntu/cd_spec.rb +28 -0
  189. data/spec/os/ubuntu/data/Desktop.rb +61 -0
  190. data/spec/os/ubuntu/data/Server.rb +61 -0
  191. data/spec/os/ubuntu/finder_spec.rb +17 -0
  192. data/spec/os/ubuntu/mirrors_spec.rb +18 -0
  193. data/spec/utils/autozone_spec.rb +33 -0
  194. data/spec/virtual/virtual_box_spec.rb +16 -0
  195. metadata +405 -0
@@ -0,0 +1,45 @@
1
+ PackerFiles.Generate('RHEL::Server') do |svr|
2
+ svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
3
+ svr.Locale do |l|
4
+ l.default = 'en_US'
5
+ end
6
+ svr.Keyboard do |k|
7
+ k.variant = 'us'
8
+ k.layout = 'us'
9
+ end
10
+ svr.TimeZone do |t|
11
+ t.zone = 'US/Eastern'
12
+ end
13
+ svr.Network do |n|
14
+ n.interface = 'eth0'
15
+ n.type = PackerFiles::Core::Network::IPV4
16
+ end
17
+ svr.User do |u|
18
+ u.login = 'vagrant'
19
+ u.name = 'vagrant'
20
+ u.password = 'vagrant'
21
+ u.uid = 900
22
+ end
23
+ svr.Disk do |d|
24
+ d.name = 'sda'
25
+ d.size = '20GiB'
26
+ end
27
+ svr.Packages do |p|
28
+ p.list = %w[
29
+ openssh-clients sudo kernel-headers kernel-devel
30
+ gcc make perl curl wget nfs-utils -fprintd-pam -intltool
31
+ ]
32
+ end
33
+ svr.CDImage do |var|
34
+ var.release = '6.5'
35
+ var.arch = 'x86_64'
36
+ end
37
+ svr.Hypervisors do |h|
38
+ h.VirtualBox do |v|
39
+ v.cpu_count = 2
40
+ v.ram_size = '1GiB'
41
+ v.use_efi = false
42
+ end
43
+ end
44
+ end
45
+
@@ -0,0 +1,21 @@
1
+ # Test file for Finder
2
+ require 'OS/Finder'
3
+ require 'PackerFiles'
4
+
5
+ # Describe test cases
6
+ describe PackerFiles::Finder do
7
+
8
+ # Check finder functionality from the top level
9
+ it 'checks finder #1' do
10
+ load('spec/os/rhel/data/Server.rb')
11
+ end
12
+
13
+ it 'checks finder #1' do
14
+ load('spec/os/rhel/data/Fedora.rb')
15
+ end
16
+
17
+ it 'checks finder #1' do
18
+ load('spec/os/rhel/data/Server-Custom.rb')
19
+ end
20
+
21
+ end
@@ -0,0 +1,28 @@
1
+ # Test file for Ubuntu CD class in Ubuntu Server OS
2
+ require 'OS/Ubuntu/CD'
3
+
4
+ # Describe test cases
5
+ describe PackerFiles::Ubuntu::CD do
6
+
7
+ # Check for very basic variables
8
+ it 'checks url list' do
9
+ cd = PackerFiles::Ubuntu::CD.new
10
+ cd.get_iso_name_pattern.should include('@arch@')
11
+ cd.get_check_sum_pattern.should include('MD5SUMS')
12
+ cd.get_check_sum_type.should include('md5')
13
+ end
14
+
15
+ # Check for very basic variables
16
+ it 'checks if the URL list is correct for a given Country' do
17
+ cd = PackerFiles::Ubuntu::CD.new
18
+ cd.get_iso_name_pattern.should include('@arch@')
19
+ cd.get_check_sum_pattern.should include('MD5SUMS')
20
+ cd.get_check_sum_type.should include('md5')
21
+ urls = cd.index_urls
22
+ urls.size.should >= 1
23
+ urls.each do |url|
24
+ url.should include('@release@')
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,61 @@
1
+ PackerFiles.Generate('Ubuntu::Desktop') do |svr|
2
+ svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
3
+ svr.Locale do |l|
4
+ l.default = 'en_US'
5
+ end
6
+ svr.Keyboard do |k|
7
+ k.variant = 'us'
8
+ k.layout = 'us'
9
+ end
10
+ svr.TimeZone do |t|
11
+ t.zone = 'US/Eastern'
12
+ end
13
+ svr.Network do |n|
14
+ n.interface = 'eth0'
15
+ n.type = PackerFiles::Core::Network::IPV4
16
+ end
17
+ svr.User do |u|
18
+ u.login = 'vagrant'
19
+ u.name = 'vagrant'
20
+ u.password = 'vagrant'
21
+ u.uid = 900
22
+ end
23
+ svr.Disk do |d|
24
+ d.name = 'sda'
25
+ d.size = '20GiB'
26
+ end
27
+ svr.Packages do |p|
28
+ p.list = %w[
29
+ openssh-server sudo bzip2
30
+ acpid cryptsetup zlib1g-dev
31
+ wget curl dkms make
32
+ nfs-common
33
+ ]
34
+ end
35
+ svr.Apt do |apt|
36
+ apt.tasks = ['standard']
37
+ end
38
+ svr.CDImage do |var|
39
+ var.release = '14.04'
40
+ var.arch = 'i386'
41
+ var.check_sum_type = 'md5'
42
+ end
43
+ svr.Hypervisors do |h|
44
+ h.VirtualBox do |v|
45
+ v.cpu_count = 2
46
+ v.ram_size = '1GiB'
47
+ v.use_efi = false
48
+ end
49
+ h.KVM do |k|
50
+ k.cpu_count = 2
51
+ k.ram_size = '1GiB'
52
+ k.use_efi = false
53
+ end
54
+ h.VMWare do |vm|
55
+ vm.cpu_count = 2
56
+ vm.ram_size = '1GiB'
57
+ vm.use_efi = false
58
+ end
59
+ end
60
+ end
61
+
@@ -0,0 +1,61 @@
1
+ PackerFiles.Generate('Ubuntu::Server') do |svr|
2
+ svr.OutDir = File.join(Dir.pwd, 'tmp/abcde')
3
+ svr.Locale do |l|
4
+ l.default = 'en_US'
5
+ end
6
+ svr.Keyboard do |k|
7
+ k.variant = 'us'
8
+ k.layout = 'us'
9
+ end
10
+ svr.TimeZone do |t|
11
+ t.zone = 'US/Eastern'
12
+ end
13
+ svr.Network do |n|
14
+ n.interface = 'eth0'
15
+ n.type = PackerFiles::Core::Network::IPV4
16
+ end
17
+ svr.User do |u|
18
+ u.login = 'vagrant'
19
+ u.name = 'vagrant'
20
+ u.password = 'vagrant'
21
+ u.uid = 900
22
+ end
23
+ svr.Disk do |d|
24
+ d.name = 'sda'
25
+ d.size = '20GiB'
26
+ end
27
+ svr.Packages do |p|
28
+ p.list = %w[
29
+ openssh-server sudo bzip2
30
+ acpid cryptsetup zlib1g-dev
31
+ wget curl dkms make
32
+ nfs-common
33
+ ]
34
+ end
35
+ svr.Apt do |apt|
36
+ apt.tasks = ['standard']
37
+ end
38
+ svr.CDImage do |var|
39
+ var.release = '14.04'
40
+ var.arch = 'i386'
41
+ var.check_sum_type = 'md5'
42
+ end
43
+ svr.Hypervisors do |h|
44
+ h.VirtualBox do |v|
45
+ v.cpu_count = 2
46
+ v.ram_size = '1GiB'
47
+ v.use_efi = false
48
+ end
49
+ h.KVM do |k|
50
+ k.cpu_count = 2
51
+ k.ram_size = '1GiB'
52
+ k.use_efi = false
53
+ end
54
+ h.VMWare do |v|
55
+ v.cpu_count = 2
56
+ v.ram_size = '1GiB'
57
+ v.use_efi = false
58
+ end
59
+ end
60
+ end
61
+
@@ -0,0 +1,17 @@
1
+ # Test file for Finder
2
+ require 'OS/Finder'
3
+
4
+ # Describe test cases
5
+ describe PackerFiles::Finder do
6
+
7
+ # Check finder functionality from the top level for Ubuntu Server
8
+ it 'checks finder #1' do
9
+ load('spec/os/ubuntu/data/Server.rb')
10
+ end
11
+
12
+ # Check finder functionality from the top level for Ubuntu Server
13
+ it 'checks finder #2' do
14
+ load('spec/os/ubuntu/data/Desktop.rb')
15
+ end
16
+
17
+ end
@@ -0,0 +1,18 @@
1
+ # Test file for Mirror class in Ubuntu Server OS
2
+ require 'OS/Ubuntu/Mirrors'
3
+
4
+ # Describe test cases
5
+ describe PackerFiles::Ubuntu::Mirrors do
6
+
7
+ # Check if we are able to get a mirror.
8
+ it 'checks mirror' do
9
+ mirrors = PackerFiles::Ubuntu::Mirrors.new
10
+ mirrors.hosts.should_not be_nil
11
+ mirrors.hosts.should_not be_empty
12
+ mirrors.best.should_not be_nil
13
+ mirrors.best.host.should_not be_nil
14
+ mirrors.best.path.should_not be_nil
15
+ mirrors.best.scheme.should eql('http')
16
+ end
17
+
18
+ end
@@ -0,0 +1,33 @@
1
+ # Test file for AutoZone
2
+ require 'Utils/AutoZone'
3
+
4
+ # Describe test cases
5
+ describe PackerFiles::Utils::AutoZone do
6
+
7
+ # Check country code functionality
8
+ it 'checks country code' do
9
+ tz = PackerFiles::Utils::AutoZone.new
10
+ tz.JSON.should eql(tz.class.Cache)
11
+ end
12
+
13
+ # Check TimeZone functionality
14
+ it 'checks time zone' do
15
+ tz = PackerFiles::Utils::AutoZone.new
16
+ tz.country_code.should_not be_nil
17
+ tz.country_code.should_not be_empty
18
+ (c, a) = tz.country_area_code
19
+ c.should_not be_nil
20
+ c.should_not be_empty
21
+ a.should_not be_nil
22
+ c.should_not be_empty
23
+ end
24
+
25
+ # Check timezone
26
+ it 'checks time zone' do
27
+ tz = PackerFiles::Utils::AutoZone.new
28
+ tz.time_zone.should_not be_nil
29
+ tz.time_zone.should_not be_empty
30
+ tz.class.Cache['timezone'].should eql(tz.time_zone)
31
+ end
32
+
33
+ end
@@ -0,0 +1,16 @@
1
+ # Test file for VirtualBox
2
+ require 'Virtual/VirtualBox'
3
+
4
+ # Describe test cases
5
+ describe PackerFiles::Virtual::VirtualBox do
6
+
7
+ # Check VBoxManage functionality
8
+ it 'checks VBoxManage functionality' do
9
+ hyper = PackerFiles::Core::Hypervisor.new
10
+ vbox = PackerFiles::Virtual::VirtualBox.new
11
+ vbox.Hypervisor(hyper)
12
+ vbox.vboxmanage.size.should eql(14)
13
+ vbox.vboxmanage.flatten.size.should eql(56)
14
+ end
15
+
16
+ end