facter 2.5.7-x64-mingw32 → 3.9.6.cfacter.20180412-x64-mingw32

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 (506) hide show
  1. checksums.yaml +5 -5
  2. data/bin/facter.bat +8 -0
  3. data/bin/facter.exe +0 -0
  4. data/bin/facter_interactive.bat +6 -0
  5. data/bin/libfacter.so +0 -0
  6. data/bin/run_facter_interactive.bat +9 -0
  7. data/lib/facter.rb +45 -261
  8. data/lib/libfacter.so.a +0 -0
  9. metadata +23 -854
  10. data/COMMITTERS.md +0 -185
  11. data/CONTRIBUTING.md +0 -91
  12. data/Gemfile +0 -69
  13. data/LICENSE +0 -15
  14. data/README.md +0 -65
  15. data/Rakefile +0 -46
  16. data/bin/facter +0 -20
  17. data/etc/facter.conf +0 -5
  18. data/ext/build_defaults.yaml +0 -9
  19. data/ext/debian/changelog.erb +0 -59
  20. data/ext/debian/compat +0 -1
  21. data/ext/debian/control +0 -15
  22. data/ext/debian/copyright +0 -19
  23. data/ext/debian/docs +0 -1
  24. data/ext/debian/lintian-overrides +0 -0
  25. data/ext/debian/rules +0 -10
  26. data/ext/debian/source/format +0 -1
  27. data/ext/facter-diff +0 -74
  28. data/ext/ips/facter.p5m.erb +0 -10
  29. data/ext/ips/rules +0 -7
  30. data/ext/ips/transforms +0 -18
  31. data/ext/osx/file_mapping.yaml +0 -32
  32. data/ext/osx/preflight.erb +0 -33
  33. data/ext/osx/prototype.plist.erb +0 -38
  34. data/ext/project_data.yaml +0 -31
  35. data/ext/redhat/facter.spec.erb +0 -223
  36. data/ext/solaris/pkginfo +0 -7
  37. data/install.rb +0 -380
  38. data/lib/facter/Cfkey.rb +0 -42
  39. data/lib/facter/application.rb +0 -206
  40. data/lib/facter/architecture.rb +0 -50
  41. data/lib/facter/augeasversion.rb +0 -28
  42. data/lib/facter/blockdevices.rb +0 -105
  43. data/lib/facter/core/aggregate.rb +0 -220
  44. data/lib/facter/core/directed_graph.rb +0 -46
  45. data/lib/facter/core/execution.rb +0 -123
  46. data/lib/facter/core/execution/base.rb +0 -81
  47. data/lib/facter/core/execution/posix.rb +0 -50
  48. data/lib/facter/core/execution/windows.rb +0 -57
  49. data/lib/facter/core/logging.rb +0 -197
  50. data/lib/facter/core/resolvable.rb +0 -94
  51. data/lib/facter/core/suitable.rb +0 -113
  52. data/lib/facter/dhcp_servers.rb +0 -45
  53. data/lib/facter/domain.rb +0 -99
  54. data/lib/facter/ec2.rb +0 -68
  55. data/lib/facter/ec2/rest.rb +0 -137
  56. data/lib/facter/facterversion.rb +0 -15
  57. data/lib/facter/filesystems.rb +0 -45
  58. data/lib/facter/fqdn.rb +0 -24
  59. data/lib/facter/gce.rb +0 -16
  60. data/lib/facter/gce/metadata.rb +0 -87
  61. data/lib/facter/gid.rb +0 -25
  62. data/lib/facter/hardwareisa.rb +0 -20
  63. data/lib/facter/hardwaremodel.rb +0 -67
  64. data/lib/facter/hostname.rb +0 -31
  65. data/lib/facter/id.rb +0 -21
  66. data/lib/facter/interfaces.rb +0 -58
  67. data/lib/facter/ipaddress.rb +0 -169
  68. data/lib/facter/ipaddress6.rb +0 -82
  69. data/lib/facter/iphostnumber.rb +0 -29
  70. data/lib/facter/kernel.rb +0 -22
  71. data/lib/facter/kernelmajversion.rb +0 -23
  72. data/lib/facter/kernelrelease.rb +0 -45
  73. data/lib/facter/kernelversion.rb +0 -22
  74. data/lib/facter/ldom.rb +0 -51
  75. data/lib/facter/lsbdistcodename.rb +0 -20
  76. data/lib/facter/lsbdistdescription.rb +0 -21
  77. data/lib/facter/lsbdistid.rb +0 -20
  78. data/lib/facter/lsbdistrelease.rb +0 -20
  79. data/lib/facter/lsbmajdistrelease.rb +0 -22
  80. data/lib/facter/lsbminordistrelease.rb +0 -22
  81. data/lib/facter/lsbrelease.rb +0 -20
  82. data/lib/facter/macaddress.rb +0 -99
  83. data/lib/facter/macosx.rb +0 -56
  84. data/lib/facter/manufacturer.rb +0 -68
  85. data/lib/facter/memory.rb +0 -168
  86. data/lib/facter/netmask.rb +0 -43
  87. data/lib/facter/network.rb +0 -20
  88. data/lib/facter/operatingsystem.rb +0 -24
  89. data/lib/facter/operatingsystem/base.rb +0 -61
  90. data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  91. data/lib/facter/operatingsystem/implementation.rb +0 -33
  92. data/lib/facter/operatingsystem/linux.rb +0 -511
  93. data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  94. data/lib/facter/operatingsystem/sunos.rb +0 -54
  95. data/lib/facter/operatingsystem/vmkernel.rb +0 -11
  96. data/lib/facter/operatingsystem/windows.rb +0 -43
  97. data/lib/facter/operatingsystemmajrelease.rb +0 -31
  98. data/lib/facter/operatingsystemrelease.rb +0 -29
  99. data/lib/facter/os.rb +0 -98
  100. data/lib/facter/osfamily.rb +0 -18
  101. data/lib/facter/partitions.rb +0 -39
  102. data/lib/facter/path.rb +0 -14
  103. data/lib/facter/physicalprocessorcount.rb +0 -27
  104. data/lib/facter/processor.rb +0 -52
  105. data/lib/facter/processors.rb +0 -66
  106. data/lib/facter/processors/os.rb +0 -244
  107. data/lib/facter/ps.rb +0 -31
  108. data/lib/facter/puppetversion.rb +0 -20
  109. data/lib/facter/rackspace.rb +0 -37
  110. data/lib/facter/rubyplatform.rb +0 -12
  111. data/lib/facter/rubysitedir.rb +0 -15
  112. data/lib/facter/rubyversion.rb +0 -12
  113. data/lib/facter/selinux.rb +0 -154
  114. data/lib/facter/ssh.rb +0 -73
  115. data/lib/facter/system32.rb +0 -21
  116. data/lib/facter/system_uptime.rb +0 -44
  117. data/lib/facter/timezone.rb +0 -14
  118. data/lib/facter/uniqueid.rb +0 -4
  119. data/lib/facter/uptime.rb +0 -16
  120. data/lib/facter/uptime_days.rb +0 -13
  121. data/lib/facter/uptime_hours.rb +0 -13
  122. data/lib/facter/uptime_seconds.rb +0 -20
  123. data/lib/facter/util/architecture.rb +0 -19
  124. data/lib/facter/util/collection.rb +0 -161
  125. data/lib/facter/util/composite_loader.rb +0 -12
  126. data/lib/facter/util/config.rb +0 -88
  127. data/lib/facter/util/confine.rb +0 -66
  128. data/lib/facter/util/dhcp_servers.rb +0 -58
  129. data/lib/facter/util/directory_loader.rb +0 -88
  130. data/lib/facter/util/ec2.rb +0 -106
  131. data/lib/facter/util/fact.rb +0 -204
  132. data/lib/facter/util/file_read.rb +0 -37
  133. data/lib/facter/util/formatter.rb +0 -39
  134. data/lib/facter/util/ip.rb +0 -340
  135. data/lib/facter/util/ip/windows.rb +0 -215
  136. data/lib/facter/util/loader.rb +0 -155
  137. data/lib/facter/util/macaddress.rb +0 -43
  138. data/lib/facter/util/macosx.rb +0 -73
  139. data/lib/facter/util/manufacturer.rb +0 -99
  140. data/lib/facter/util/memory.rb +0 -228
  141. data/lib/facter/util/netmask.rb +0 -40
  142. data/lib/facter/util/normalization.rb +0 -94
  143. data/lib/facter/util/nothing_loader.rb +0 -12
  144. data/lib/facter/util/operatingsystem.rb +0 -21
  145. data/lib/facter/util/parser.rb +0 -168
  146. data/lib/facter/util/partitions.rb +0 -47
  147. data/lib/facter/util/partitions/linux.rb +0 -71
  148. data/lib/facter/util/partitions/openbsd.rb +0 -40
  149. data/lib/facter/util/plist.rb +0 -24
  150. data/lib/facter/util/plist/generator.rb +0 -228
  151. data/lib/facter/util/plist/parser.rb +0 -226
  152. data/lib/facter/util/posix.rb +0 -16
  153. data/lib/facter/util/processor.rb +0 -289
  154. data/lib/facter/util/registry.rb +0 -11
  155. data/lib/facter/util/resolution.rb +0 -160
  156. data/lib/facter/util/solaris_zones.rb +0 -158
  157. data/lib/facter/util/unix_root.rb +0 -5
  158. data/lib/facter/util/uptime.rb +0 -83
  159. data/lib/facter/util/values.rb +0 -109
  160. data/lib/facter/util/virtual.rb +0 -220
  161. data/lib/facter/util/vlans.rb +0 -21
  162. data/lib/facter/util/windows.rb +0 -10
  163. data/lib/facter/util/windows/api_types.rb +0 -135
  164. data/lib/facter/util/windows/dir.rb +0 -43
  165. data/lib/facter/util/windows/error.rb +0 -87
  166. data/lib/facter/util/windows/process.rb +0 -294
  167. data/lib/facter/util/windows/user.rb +0 -186
  168. data/lib/facter/util/windows_root.rb +0 -7
  169. data/lib/facter/util/wmi.rb +0 -49
  170. data/lib/facter/util/xendomains.rb +0 -28
  171. data/lib/facter/version.rb +0 -86
  172. data/lib/facter/virtual.rb +0 -339
  173. data/lib/facter/vlans.rb +0 -17
  174. data/lib/facter/xendomains.rb +0 -20
  175. data/lib/facter/zfs_version.rb +0 -14
  176. data/lib/facter/zonename.rb +0 -6
  177. data/lib/facter/zones.rb +0 -18
  178. data/lib/facter/zpool_version.rb +0 -10
  179. data/spec/fixtures/cpuinfo/amd64dual +0 -57
  180. data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
  181. data/spec/fixtures/cpuinfo/amd64quad +0 -79
  182. data/spec/fixtures/cpuinfo/amd64solo +0 -23
  183. data/spec/fixtures/cpuinfo/amd64tri +0 -86
  184. data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
  185. data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
  186. data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
  187. data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
  188. data/spec/fixtures/cpuinfo/panda-armel +0 -17
  189. data/spec/fixtures/cpuinfo/ppc64 +0 -19
  190. data/spec/fixtures/cpuinfo/ppc64le +0 -15
  191. data/spec/fixtures/cpuinfo/sparc +0 -10
  192. data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
  193. data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
  194. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
  195. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
  196. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
  197. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
  198. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
  199. data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
  200. data/spec/fixtures/hpux/sched.models +0 -174
  201. data/spec/fixtures/hpux/unistd.h +0 -1534
  202. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
  203. data/spec/fixtures/ifconfig/centos_5_5 +0 -17
  204. data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
  205. data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
  206. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
  207. data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
  208. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
  209. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
  210. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
  211. data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
  212. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
  213. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
  214. data/spec/fixtures/ifconfig/fedora_10 +0 -36
  215. data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
  216. data/spec/fixtures/ifconfig/fedora_13 +0 -18
  217. data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
  218. data/spec/fixtures/ifconfig/fedora_8 +0 -38
  219. data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
  220. data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
  221. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
  222. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
  223. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
  224. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
  225. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
  226. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
  227. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
  228. data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
  229. data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
  230. data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
  231. data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
  232. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
  233. data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
  234. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
  235. data/spec/fixtures/ldom/ldom_v1 +0 -6
  236. data/spec/fixtures/netstat/centos_5_5 +0 -5
  237. data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
  238. data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
  239. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
  240. data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
  241. data/spec/fixtures/netstat/fedora_10 +0 -7
  242. data/spec/fixtures/netstat/open_solaris_10 +0 -16
  243. data/spec/fixtures/netstat/open_solaris_b132 +0 -17
  244. data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
  245. data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
  246. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
  247. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
  248. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
  249. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
  250. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
  251. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
  252. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
  253. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
  254. data/spec/fixtures/unit/dhcp_servers/route +0 -3
  255. data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
  256. data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
  257. data/spec/fixtures/unit/filesystems/linux +0 -28
  258. data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
  259. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
  260. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
  261. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
  262. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
  263. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
  264. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
  265. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
  266. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
  267. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
  268. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
  269. data/spec/fixtures/unit/memory/aix-svmon +0 -9
  270. data/spec/fixtures/unit/memory/aix-swap_l +0 -2
  271. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
  272. data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
  273. data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
  274. data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
  275. data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
  276. data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
  277. data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
  278. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
  279. data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
  280. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
  281. data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
  282. data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
  283. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
  284. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
  285. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
  286. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
  287. data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
  288. data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
  289. data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
  290. data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
  291. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
  292. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
  293. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
  294. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
  295. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
  296. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
  297. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
  298. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
  299. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
  300. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
  301. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
  302. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
  303. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
  304. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
  305. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
  306. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
  307. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
  308. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
  309. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
  310. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
  311. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
  312. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
  313. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
  314. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
  315. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
  316. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
  317. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
  318. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
  319. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
  320. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
  321. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
  322. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
  323. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
  324. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
  325. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
  326. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
  327. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
  328. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
  329. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
  330. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
  331. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
  332. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
  333. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
  334. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
  335. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
  336. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
  337. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
  338. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
  339. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
  340. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
  341. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
  342. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
  343. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
  344. data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
  345. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
  346. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
  347. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
  348. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
  349. data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
  350. data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
  351. data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
  352. data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
  353. data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
  354. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
  355. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
  356. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
  357. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  358. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  359. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
  360. data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
  361. data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
  362. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  363. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
  364. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
  365. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
  366. data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
  367. data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
  368. data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
  369. data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
  370. data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
  371. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
  372. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
  373. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
  374. data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
  375. data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
  376. data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
  377. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
  378. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
  379. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
  380. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
  381. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
  382. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
  383. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
  384. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
  385. data/spec/integration/facter_spec.rb +0 -39
  386. data/spec/integration/util/windows/user_spec.rb +0 -59
  387. data/spec/lib/facter_spec/cpuinfo.rb +0 -15
  388. data/spec/lib/facter_spec/windows_network.rb +0 -64
  389. data/spec/puppetlabs_spec/files.rb +0 -57
  390. data/spec/puppetlabs_spec/fixtures.rb +0 -49
  391. data/spec/puppetlabs_spec/matchers.rb +0 -87
  392. data/spec/puppetlabs_spec/verbose.rb +0 -9
  393. data/spec/puppetlabs_spec_helper.rb +0 -26
  394. data/spec/schema/validate_facter_schema.rb +0 -18
  395. data/spec/shared_contexts/platform.rb +0 -55
  396. data/spec/shared_formats/parses.rb +0 -3
  397. data/spec/spec_helper.rb +0 -68
  398. data/spec/unit/application_spec.rb +0 -110
  399. data/spec/unit/architecture_spec.rb +0 -63
  400. data/spec/unit/blockdevices_spec.rb +0 -109
  401. data/spec/unit/core/aggregate_spec.rb +0 -125
  402. data/spec/unit/core/directed_graph_spec.rb +0 -79
  403. data/spec/unit/core/execution/base_spec.rb +0 -130
  404. data/spec/unit/core/execution/posix_spec.rb +0 -96
  405. data/spec/unit/core/execution/windows_spec.rb +0 -106
  406. data/spec/unit/core/execution_spec.rb +0 -42
  407. data/spec/unit/core/logging_spec.rb +0 -223
  408. data/spec/unit/core/resolvable_spec.rb +0 -81
  409. data/spec/unit/core/suitable_spec.rb +0 -106
  410. data/spec/unit/dhcp_servers_spec.rb +0 -212
  411. data/spec/unit/domain_spec.rb +0 -310
  412. data/spec/unit/ec2/rest_spec.rb +0 -168
  413. data/spec/unit/ec2_spec.rb +0 -139
  414. data/spec/unit/facter_spec.rb +0 -108
  415. data/spec/unit/filesystems_spec.rb +0 -50
  416. data/spec/unit/fqdn_spec.rb +0 -16
  417. data/spec/unit/gce/metadata_spec.rb +0 -49
  418. data/spec/unit/gce_spec.rb +0 -34
  419. data/spec/unit/gid_spec.rb +0 -51
  420. data/spec/unit/hardwareisa_spec.rb +0 -41
  421. data/spec/unit/hardwaremodel_spec.rb +0 -58
  422. data/spec/unit/hostname_spec.rb +0 -40
  423. data/spec/unit/id_spec.rb +0 -29
  424. data/spec/unit/interfaces_spec.rb +0 -67
  425. data/spec/unit/ipaddress6_spec.rb +0 -180
  426. data/spec/unit/ipaddress_spec.rb +0 -114
  427. data/spec/unit/kernel_spec.rb +0 -24
  428. data/spec/unit/kernelmajversion_spec.rb +0 -22
  429. data/spec/unit/kernelrelease_spec.rb +0 -66
  430. data/spec/unit/kernelversion_spec.rb +0 -32
  431. data/spec/unit/ldom_spec.rb +0 -84
  432. data/spec/unit/lsbdistcodename_spec.rb +0 -30
  433. data/spec/unit/lsbdistdescription_spec.rb +0 -30
  434. data/spec/unit/lsbdistid_spec.rb +0 -30
  435. data/spec/unit/lsbdistrelease_spec.rb +0 -30
  436. data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
  437. data/spec/unit/lsbminordistrelease_spec.rb +0 -31
  438. data/spec/unit/lsbrelease_spec.rb +0 -30
  439. data/spec/unit/macaddress_spec.rb +0 -76
  440. data/spec/unit/manufacturer_spec.rb +0 -115
  441. data/spec/unit/memory_spec.rb +0 -470
  442. data/spec/unit/netmask_spec.rb +0 -106
  443. data/spec/unit/operatingsystem/base_spec.rb +0 -76
  444. data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
  445. data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
  446. data/spec/unit/operatingsystem/linux_spec.rb +0 -559
  447. data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
  448. data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
  449. data/spec/unit/operatingsystem/windows_spec.rb +0 -77
  450. data/spec/unit/operatingsystem_spec.rb +0 -17
  451. data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
  452. data/spec/unit/operatingsystemrelease_spec.rb +0 -20
  453. data/spec/unit/os_spec.rb +0 -131
  454. data/spec/unit/osfamily_spec.rb +0 -17
  455. data/spec/unit/partitions_spec.rb +0 -88
  456. data/spec/unit/physicalprocessorcount_spec.rb +0 -13
  457. data/spec/unit/processor_spec.rb +0 -38
  458. data/spec/unit/processors/os_spec.rb +0 -469
  459. data/spec/unit/processors_spec.rb +0 -203
  460. data/spec/unit/ps_spec.rb +0 -42
  461. data/spec/unit/rackspace_spec.rb +0 -40
  462. data/spec/unit/rubyplatform_spec.rb +0 -7
  463. data/spec/unit/selinux_spec.rb +0 -119
  464. data/spec/unit/ssh_spec.rb +0 -77
  465. data/spec/unit/system32_spec.rb +0 -28
  466. data/spec/unit/system_uptime_spec.rb +0 -80
  467. data/spec/unit/uniqueid_spec.rb +0 -27
  468. data/spec/unit/uptime_spec.rb +0 -110
  469. data/spec/unit/util/collection_spec.rb +0 -258
  470. data/spec/unit/util/config_spec.rb +0 -120
  471. data/spec/unit/util/confine_spec.rb +0 -148
  472. data/spec/unit/util/dhcp_servers_spec.rb +0 -63
  473. data/spec/unit/util/directory_loader_spec.rb +0 -102
  474. data/spec/unit/util/ec2_spec.rb +0 -184
  475. data/spec/unit/util/fact_spec.rb +0 -142
  476. data/spec/unit/util/file_read_spec.rb +0 -29
  477. data/spec/unit/util/formatter_spec.rb +0 -55
  478. data/spec/unit/util/ip/windows_spec.rb +0 -80
  479. data/spec/unit/util/ip_spec.rb +0 -487
  480. data/spec/unit/util/loader_spec.rb +0 -286
  481. data/spec/unit/util/macaddress_spec.rb +0 -143
  482. data/spec/unit/util/macosx_spec.rb +0 -114
  483. data/spec/unit/util/manufacturer_spec.rb +0 -223
  484. data/spec/unit/util/normalization_spec.rb +0 -113
  485. data/spec/unit/util/operatingsystem_spec.rb +0 -107
  486. data/spec/unit/util/parser_spec.rb +0 -233
  487. data/spec/unit/util/partitions/partitions_spec.rb +0 -67
  488. data/spec/unit/util/partitions_spec.rb +0 -19
  489. data/spec/unit/util/posix_spec.rb +0 -11
  490. data/spec/unit/util/processor_spec.rb +0 -212
  491. data/spec/unit/util/registry_spec.rb +0 -76
  492. data/spec/unit/util/resolution_spec.rb +0 -129
  493. data/spec/unit/util/solaris_zones_spec.rb +0 -127
  494. data/spec/unit/util/uptime_spec.rb +0 -131
  495. data/spec/unit/util/values_spec.rb +0 -171
  496. data/spec/unit/util/virtual_spec.rb +0 -393
  497. data/spec/unit/util/vlans_spec.rb +0 -42
  498. data/spec/unit/util/wmi_spec.rb +0 -19
  499. data/spec/unit/util/xendomains_spec.rb +0 -114
  500. data/spec/unit/version_spec.rb +0 -42
  501. data/spec/unit/virtual_spec.rb +0 -585
  502. data/spec/unit/zfs_version_spec.rb +0 -87
  503. data/spec/unit/zonename_spec.rb +0 -14
  504. data/spec/unit/zones_spec.rb +0 -55
  505. data/spec/unit/zpool_version_spec.rb +0 -80
  506. data/spec/watchr.rb +0 -125
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "system32 fact" do
4
- let(:systemroot) { 'D:\Windows' }
5
- let(:sysnative) { "#{systemroot}\\sysnative" }
6
- let(:system32) { "#{systemroot}\\system32" }
7
-
8
- before(:each) do
9
- Facter.fact(:kernel).stubs(:value).returns("windows")
10
- ENV['SYSTEMROOT'] = systemroot
11
- end
12
-
13
- describe "when running in 32-bit ruby" do
14
- it "resolves to sysnative" do
15
- File.expects(:exist?).with(sysnative).returns(true)
16
-
17
- expect(Facter.fact(:system32).value).to eq(sysnative)
18
- end
19
- end
20
-
21
- describe "when running in 64-bit ruby" do
22
- it "resolves to system32" do
23
- File.expects(:exist?).with(sysnative).returns(false)
24
-
25
- expect(Facter.fact(:system32).value).to eq(system32)
26
- end
27
- end
28
- end
@@ -1,80 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/uptime'
5
-
6
- describe "system_uptime:" do
7
- before { Facter.clear }
8
- after { Facter.clear }
9
-
10
- describe "When uptime information is available" do
11
- describe "uptime" do
12
- test_cases = [
13
- [60 * 60 * 24 * 3, '3 days'],
14
- [60 * 60 * 24 * 3 + 25, '3 days'],
15
- [60 * 60 * 24 * 1, '1 day'],
16
- [60 * 60 * 24 * 1 + 25, '1 day'],
17
- [60 * (60 * 3 + 45), '3:45 hours'],
18
- [60 * (60 * 3 + 4), '3:04 hours'],
19
- [60 * 60, '1:00 hours'],
20
- [60 * 35, '0:35 hours']
21
- ]
22
-
23
- test_cases.each do |seconds, expected|
24
- it "should return #{expected.inspect} for #{seconds} seconds in Linux" do
25
- Facter.fact(:kernel).stubs(:value).returns("linux")
26
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(seconds)
27
- Facter.fact(:system_uptime).value['uptime'].should eq expected
28
- end
29
-
30
- it "should return #{expected.inspect} for #{seconds} seconds in Windows" do
31
- Facter.fact(:kernel).stubs(:value).returns("windows")
32
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(seconds)
33
- Facter.fact(:system_uptime).value['uptime'].should eq expected
34
- end
35
- end
36
- end
37
- end
38
-
39
- describe "when uptime information is available" do
40
- before do
41
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(60 * 60 * 24 + 23)
42
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(60 * 60 * 24 + 23)
43
- end
44
-
45
- it "should include a key for seconds" do
46
- Facter.fact(:system_uptime).value['seconds'].should eq 60 * 60 * 24 + 23
47
- end
48
-
49
- it "should include a key for hours" do
50
- Facter.fact(:system_uptime).value['hours'].should eq 24
51
- end
52
-
53
- it "should include a key for days" do
54
- Facter.fact(:system_uptime).value['days'].should eq 1
55
- end
56
- end
57
-
58
- describe "when uptime information is not available" do
59
- before do
60
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(nil)
61
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(nil)
62
- end
63
-
64
- it "should have an 'uptime' key with value 'unknown'" do
65
- Facter.fact(:system_uptime).value['uptime'].should eq "unknown"
66
- end
67
-
68
- it "should have a 'seconds' key with value nil" do
69
- Facter.fact(:system_uptime).value['seconds'].should eq nil
70
- end
71
-
72
- it "should have a 'hours' key with value nil" do
73
- Facter.fact(:system_uptime).value['hours'].should eq nil
74
- end
75
-
76
- it "should have a 'days' key with value nil" do
77
- Facter.fact(:system_uptime).value['days'].should eq nil
78
- end
79
- end
80
- end
@@ -1,27 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter'
5
-
6
- describe "Uniqueid fact" do
7
- it "should match hostid on Solaris" do
8
- Facter.fact(:kernel).stubs(:value).returns("SunOS")
9
- Facter::Core::Execution.stubs(:execute).with("hostid", anything).returns("Larry")
10
-
11
- Facter.fact(:uniqueid).value.should == "Larry"
12
- end
13
-
14
- it "should match hostid on Linux" do
15
- Facter.fact(:kernel).stubs(:value).returns("Linux")
16
- Facter::Core::Execution.stubs(:execute).with("hostid", anything).returns("Curly")
17
-
18
- Facter.fact(:uniqueid).value.should == "Curly"
19
- end
20
-
21
- it "should match hostid on AIX" do
22
- Facter.fact(:kernel).stubs(:value).returns("AIX")
23
- Facter::Core::Execution.stubs(:execute).with("hostid", anything).returns("Moe")
24
-
25
- Facter.fact(:uniqueid).value.should == "Moe"
26
- end
27
- end
@@ -1,110 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/uptime'
5
-
6
- describe "uptime facts:" do
7
- before { Facter.clear }
8
- after { Facter.clear }
9
-
10
- describe "when uptime information is available" do
11
- describe "uptime" do
12
- test_cases = [
13
- [60 * 60 * 24 * 3, '3 days'],
14
- [60 * 60 * 24 * 3 + 25, '3 days'],
15
- [60 * 60 * 24 * 1, '1 day'],
16
- [60 * 60 * 24 * 1 + 25, '1 day'],
17
- [60 * (60 * 3 + 45), '3:45 hours'],
18
- [60 * (60 * 3 + 4), '3:04 hours'],
19
- [60 * 60, '1:00 hours'],
20
- [60 * 35, '0:35 hours']
21
- ]
22
-
23
- test_cases.each do |seconds, expected|
24
- it "should return #{expected.inspect} for #{seconds} seconds" do
25
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(seconds)
26
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(seconds)
27
-
28
- Facter.fact(:uptime).value.should == expected
29
- end
30
- end
31
- end
32
-
33
- end
34
-
35
- describe "when uptime information is available" do
36
- before do
37
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(60 * 60 * 24 + 23)
38
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(60 * 60 * 24 + 23)
39
- end
40
-
41
- describe "uptime_seconds" do
42
- it "should return the uptime in seconds" do
43
- Facter.fact(:uptime_seconds).value.should == 60 * 60 * 24 + 23
44
- end
45
- end
46
-
47
- describe "uptime_hours" do
48
- it "should return the uptime in hours" do
49
- Facter.fact(:uptime_hours).value.should == 24
50
- end
51
- end
52
-
53
- describe "uptime_days" do
54
- it "should return the uptime in days" do
55
- Facter.fact(:uptime_days).value.should == 1
56
- end
57
- end
58
- end
59
-
60
- describe "when uptime information is not available" do
61
- before do
62
- Facter::Util::Uptime.stubs(:get_uptime_seconds_unix).returns(nil)
63
- Facter::Util::Uptime.stubs(:get_uptime_seconds_win).returns(nil)
64
- $stderr, @old = StringIO.new, $stderr
65
- end
66
-
67
- after do
68
- $stderr = @old
69
- end
70
-
71
- describe "uptime" do
72
- it "should return 'unknown'" do
73
- Facter.fact(:uptime).value.should == "unknown"
74
- end
75
- end
76
-
77
- describe "uptime_seconds" do
78
- it "should return nil" do
79
- Facter.fact(:uptime_seconds).value.should == nil
80
- end
81
-
82
- it "should not print a warn message to stderr" do
83
- Facter.fact(:uptime_seconds).value
84
- $stderr.string.should == ""
85
- end
86
- end
87
-
88
- describe "uptime_hours" do
89
- it "should return nil" do
90
- Facter.fact(:uptime_hours).value.should == nil
91
- end
92
-
93
- it "should not print a warn message to stderr" do
94
- Facter.fact(:uptime_hours).value
95
- $stderr.string.should == ""
96
- end
97
- end
98
-
99
- describe "uptime_days" do
100
- it "should return nil" do
101
- Facter.fact(:uptime_days).value.should == nil
102
- end
103
-
104
- it "should not print a warn message to stderr" do
105
- Facter.fact(:uptime_days).value
106
- $stderr.string.should == ""
107
- end
108
- end
109
- end
110
- end
@@ -1,258 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/collection'
5
- require 'facter/util/nothing_loader'
6
-
7
- describe Facter::Util::Collection do
8
- let(:external_loader) { Facter::Util::NothingLoader.new }
9
- let(:internal_loader) do
10
- load = Facter::Util::Loader.new
11
- load.stubs(:load).returns nil
12
- load.stubs(:load_all).returns nil
13
- load
14
- end
15
- let(:collection) { Facter::Util::Collection.new(internal_loader, external_loader) }
16
-
17
- it "should delegate its load_all method to its loader" do
18
- internal_loader.expects(:load_all)
19
-
20
- collection.load_all
21
- end
22
-
23
- describe "when adding facts" do
24
- it "should create a new fact if no fact with the same name already exists" do
25
- collection.add(:myname)
26
- collection.fact(:myname).name.should == :myname
27
- end
28
-
29
- it "should accept options" do
30
- collection.add(:myname, :timeout => 1) { }
31
- end
32
-
33
- it "passes resolution specific options to the fact" do
34
- fact = Facter::Util::Fact.new(:myname)
35
- Facter::Util::Fact.expects(:new).with(:myname, {:timeout => 'myval'}).returns fact
36
-
37
- fact.expects(:add).with({:timeout => 'myval'})
38
-
39
- collection.add(:myname, :timeout => "myval") {}
40
- end
41
-
42
- describe "and a block is provided" do
43
- it "should use the block to add a resolution to the fact" do
44
- fact = mock 'fact'
45
- fact.stubs(:extract_ldapname_option!)
46
- Facter::Util::Fact.expects(:new).returns fact
47
-
48
- fact.expects(:add)
49
-
50
- collection.add(:myname) {}
51
- end
52
-
53
- it "should discard resolutions that throw an exception when added" do
54
- Facter.expects(:warn).with(regexp_matches(/Unable to add resolve .* kaboom!/))
55
- expect {
56
- collection.add('yay') do
57
- raise "kaboom!"
58
- end
59
- }.to_not raise_error
60
- expect(collection.value('yay')).to be_nil
61
- end
62
- end
63
- end
64
-
65
- describe "when only defining facts" do
66
- it "creates a new fact if no such fact exists" do
67
- fact = Facter::Util::Fact.new(:newfact)
68
- Facter::Util::Fact.expects(:new).with(:newfact, {}).returns fact
69
- expect(collection.define_fact(:newfact)).to equal fact
70
- end
71
-
72
- it "returns an existing fact if the fact has already been defined" do
73
- fact = collection.define_fact(:newfact)
74
- expect(collection.define_fact(:newfact)).to equal fact
75
- end
76
-
77
- it "passes options to newly generated facts" do
78
- Facter.stubs(:warnonce)
79
- fact = collection.define_fact(:newfact, :ldapname => 'NewFact')
80
- expect(fact.ldapname).to eq 'NewFact'
81
- end
82
-
83
- it "logs a warning if the fact could not be defined" do
84
- Facter.expects(:warn).with("Unable to add fact newfact: kaboom!")
85
-
86
- collection.define_fact(:newfact) do
87
- raise "kaboom!"
88
- end
89
- end
90
- end
91
-
92
- describe "when retrieving facts" do
93
- before do
94
- @fact = collection.add("YayNess")
95
- end
96
-
97
- it "should return the fact instance specified by the name" do
98
- collection.fact("YayNess").should equal(@fact)
99
- end
100
-
101
- it "should be case-insensitive" do
102
- collection.fact("yayness").should equal(@fact)
103
- end
104
-
105
- it "should treat strings and symbols equivalently" do
106
- collection.fact(:yayness).should equal(@fact)
107
- end
108
-
109
- it "should use its loader to try to load the fact if no fact can be found" do
110
- collection.internal_loader.expects(:load).with(:testing)
111
- collection.fact("testing")
112
- end
113
-
114
- it "should return nil if it cannot find or load the fact" do
115
- collection.internal_loader.expects(:load).with(:testing)
116
- collection.fact("testing").should be_nil
117
- end
118
- end
119
-
120
- describe "when returning a fact's value" do
121
- before do
122
- @fact = collection.add("YayNess", :value => "result")
123
- end
124
-
125
- it "should return the result of calling :value on the fact" do
126
- collection.value("YayNess").should == "result"
127
- end
128
-
129
- it "should be case-insensitive" do
130
- collection.value("yayness").should == "result"
131
- end
132
-
133
- it "should treat strings and symbols equivalently" do
134
- collection.value(:yayness).should == "result"
135
- end
136
- end
137
-
138
- it "should return the fact's value when the array index method is used" do
139
- collection.add("myfact", :value => "foo")
140
-
141
- collection["myfact"].should == "foo"
142
- end
143
-
144
- it "should have a method for flushing all facts" do
145
- fact = collection.add("YayNess")
146
-
147
- fact.expects(:flush)
148
-
149
- collection.flush
150
- end
151
-
152
- it "should have a method that returns all fact names" do
153
- collection.add(:one)
154
- collection.add(:two)
155
-
156
- collection.list.sort { |a,b| a.to_s <=> b.to_s }.should == [:one, :two]
157
- end
158
-
159
- describe "when returning a hash of values" do
160
- it "should return a hash of fact names and values with the fact names as strings" do
161
- collection.add(:one, :value => "me")
162
-
163
- collection.to_hash.should == {"one" => "me"}
164
- end
165
-
166
- it "should not include facts that did not return a value" do
167
- collection.add(:two, :value => nil)
168
-
169
- collection.to_hash.should_not be_include(:two)
170
- end
171
- end
172
-
173
- describe "when iterating over facts" do
174
- before do
175
- collection.add(:one, :value => "ONE")
176
- collection.add(:two, :value => "TWO")
177
- end
178
-
179
- it "should yield each fact name and the fact value" do
180
- facts = {}
181
- collection.each do |fact, value|
182
- facts[fact] = value
183
- end
184
- facts.should == {"one" => "ONE", "two" => "TWO"}
185
- end
186
-
187
- it "should convert the fact name to a string" do
188
- facts = {}
189
- collection.each do |fact, value|
190
- fact.should be_instance_of(String)
191
- end
192
- end
193
-
194
- it "should only yield facts that have values" do
195
- collection.add(:nil_fact, :value => nil)
196
- facts = {}
197
- collection.each do |fact, value|
198
- facts[fact] = value
199
- end
200
-
201
- facts.should_not be_include("nil_fact")
202
- end
203
- end
204
-
205
- describe "when no facts are loaded" do
206
- it "should warn when no facts were loaded" do
207
- Facter.expects(:warnonce).with("No facts loaded from #{internal_loader.search_path.join(File::PATH_SEPARATOR)}").once
208
-
209
- collection.fact("one")
210
- end
211
- end
212
-
213
- describe "external facts" do
214
- let(:external_loader) { SingleFactLoader.new(:test_fact, "fact value") }
215
- let(:collection) { Facter::Util::Collection.new(internal_loader, external_loader) }
216
-
217
- it "loads when a specific fact is requested" do
218
- collection.fact(:test_fact).value.should == "fact value"
219
- end
220
-
221
- it "loads when facts are listed" do
222
- collection.list.should == [:test_fact]
223
- end
224
-
225
- it "loads when all facts are iterated over" do
226
- facts = []
227
- collection.each { |fact_name, fact_value| facts << [fact_name, fact_value] }
228
-
229
- facts.should == [["test_fact", "fact value"]]
230
- end
231
-
232
- it "are loaded only once" do
233
- external_loader.expects(:load).with(collection)
234
-
235
- collection.load_all
236
- collection.load_all
237
- end
238
-
239
- it "are reloaded after flushing" do
240
- external_loader.expects(:load).with(collection).twice
241
-
242
- collection.load_all
243
- collection.flush
244
- collection.load_all
245
- end
246
- end
247
-
248
- class SingleFactLoader
249
- def initialize(name, value)
250
- @name = name
251
- @value = value
252
- end
253
-
254
- def load(collection)
255
- collection.add(@name, :value => @value)
256
- end
257
- end
258
- end