chef 17.6.15-universal-mingw32 → 17.8.25-universal-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 (321) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -0
  3. data/chef.gemspec +1 -0
  4. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  5. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  6. data/distro/ruby_bin_folder/AMD64/Ijwhost.dll +0 -0
  7. data/distro/ruby_bin_folder/AMD64/concrt140.dll +0 -0
  8. data/distro/ruby_bin_folder/AMD64/host/fxr/5.0.0/hostfxr.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/msvcp140.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/msvcp140_1.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/msvcp140_2.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/msvcp140_atomic_wait.dll +0 -0
  13. data/distro/ruby_bin_folder/AMD64/msvcp140_codecvt_ids.dll +0 -0
  14. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  17. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +180 -180
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  29. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  30. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  31. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  32. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  33. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  34. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  35. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  36. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  37. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  38. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  39. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  40. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  41. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  42. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  43. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  44. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  45. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  46. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  47. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  48. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  49. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  50. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  51. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  52. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  53. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  54. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  55. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  56. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  57. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  58. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  59. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  60. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  61. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  62. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  63. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  64. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  65. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  66. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  67. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  68. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  69. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  70. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  71. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  72. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  73. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  74. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  75. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  76. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  77. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  78. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  79. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  80. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  81. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  82. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  83. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  84. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  85. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  86. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  87. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  88. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  89. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  90. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  91. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  92. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  93. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  94. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  95. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  96. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  97. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  98. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  99. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  100. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  101. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  102. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  103. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  104. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  105. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  106. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  107. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  108. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  109. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  110. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  111. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  112. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  113. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  114. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  115. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  116. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  117. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  118. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  119. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  120. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  121. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  122. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  123. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  124. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  125. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  126. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  127. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  128. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  129. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  130. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  131. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  132. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  133. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  134. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  135. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  136. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  137. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  138. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  139. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  140. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  141. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  142. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  143. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  144. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  145. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  146. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  147. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  148. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  149. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  150. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  151. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  152. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  153. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  154. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  155. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  156. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  157. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  158. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  159. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  160. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  161. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  162. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  163. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  164. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  165. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  166. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  167. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  168. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  169. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  170. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  171. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  172. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  173. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  174. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  175. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  176. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  177. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  178. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  179. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  180. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  181. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  182. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  183. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  184. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  185. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  186. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  187. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  188. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  189. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  190. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.521.16609.dll +0 -0
  191. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  192. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  193. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  194. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  195. data/distro/ruby_bin_folder/AMD64/vccorlib140.dll +0 -0
  196. data/distro/ruby_bin_folder/AMD64/vcruntime140.dll +0 -0
  197. data/distro/ruby_bin_folder/AMD64/vcruntime140_1.dll +0 -0
  198. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  199. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  200. data/distro/ruby_bin_folder/x86/concrt140.dll +0 -0
  201. data/distro/ruby_bin_folder/x86/msvcp140.dll +0 -0
  202. data/distro/ruby_bin_folder/x86/msvcp140_1.dll +0 -0
  203. data/distro/ruby_bin_folder/x86/msvcp140_2.dll +0 -0
  204. data/distro/ruby_bin_folder/x86/msvcp140_atomic_wait.dll +0 -0
  205. data/distro/ruby_bin_folder/x86/msvcp140_codecvt_ids.dll +0 -0
  206. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  207. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  208. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  209. data/distro/ruby_bin_folder/x86/vccorlib140.dll +0 -0
  210. data/distro/ruby_bin_folder/x86/vcruntime140.dll +0 -0
  211. data/lib/chef/application/base.rb +1 -1
  212. data/lib/chef/chef_fs/file_pattern.rb +1 -1
  213. data/lib/chef/chef_fs/path_utils.rb +1 -1
  214. data/lib/chef/compliance/default_attributes.rb +12 -2
  215. data/lib/chef/compliance/runner.rb +51 -5
  216. data/lib/chef/data_collector/run_end_message.rb +1 -1
  217. data/lib/chef/dsl/reboot_pending.rb +1 -1
  218. data/lib/chef/exceptions.rb +10 -0
  219. data/lib/chef/mixin/powershell_exec.rb +6 -5
  220. data/lib/chef/mixin/why_run.rb +8 -2
  221. data/lib/chef/powershell.rb +8 -6
  222. data/lib/chef/provider/cron.rb +4 -1
  223. data/lib/chef/provider/git.rb +1 -1
  224. data/lib/chef/provider/ifconfig/debian.rb +1 -1
  225. data/lib/chef/provider/mount/linux.rb +16 -2
  226. data/lib/chef/provider/mount/mount.rb +1 -1
  227. data/lib/chef/provider/package/dnf.rb +1 -1
  228. data/lib/chef/provider/package/habitat.rb +1 -1
  229. data/lib/chef/provider/package/powershell.rb +13 -10
  230. data/lib/chef/provider/package/zypper.rb +2 -0
  231. data/lib/chef/provider/package.rb +58 -23
  232. data/lib/chef/provider/subversion.rb +5 -5
  233. data/lib/chef/provider.rb +1 -1
  234. data/lib/chef/pwsh.rb +3 -2
  235. data/lib/chef/resource/chef_client_config.rb +22 -1
  236. data/lib/chef/resource/chef_client_launchd.rb +1 -1
  237. data/lib/chef/resource/chef_client_trusted_certificate.rb +1 -0
  238. data/lib/chef/resource/chocolatey_config.rb +1 -1
  239. data/lib/chef/resource/chocolatey_feature.rb +1 -1
  240. data/lib/chef/resource/chocolatey_source.rb +24 -2
  241. data/lib/chef/resource/directory.rb +1 -1
  242. data/lib/chef/resource/dnf_package.rb +4 -6
  243. data/lib/chef/resource/dpkg_package.rb +5 -0
  244. data/lib/chef/resource/execute.rb +1 -4
  245. data/lib/chef/resource/habitat_install.rb +5 -5
  246. data/lib/chef/resource/inspec_waiver.rb +1 -1
  247. data/lib/chef/resource/inspec_waiver_file_entry.rb +1 -1
  248. data/lib/chef/resource/kernel_module.rb +27 -2
  249. data/lib/chef/resource/launchd.rb +0 -3
  250. data/lib/chef/resource/macos_userdefaults.rb +41 -131
  251. data/lib/chef/resource/rhsm_register.rb +31 -0
  252. data/lib/chef/resource/support/client.erb +7 -0
  253. data/lib/chef/resource/windows_auto_run.rb +1 -1
  254. data/lib/chef/resource/windows_dfs_namespace.rb +2 -2
  255. data/lib/chef/resource/windows_feature_powershell.rb +7 -7
  256. data/lib/chef/resource/windows_update_settings.rb +3 -3
  257. data/lib/chef/resource.rb +2 -2
  258. data/lib/chef/resource_reporter.rb +1 -1
  259. data/lib/chef/secret_fetcher/azure_key_vault.rb +62 -8
  260. data/lib/chef/secret_fetcher.rb +0 -1
  261. data/lib/chef/version.rb +1 -1
  262. data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
  263. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  264. data/spec/functional/resource/dnf_package_spec.rb +34 -20
  265. data/spec/functional/resource/dpkg_package_spec.rb +16 -0
  266. data/spec/functional/resource/dsc_script_spec.rb +2 -2
  267. data/spec/functional/resource/macos_userdefaults_spec.rb +139 -0
  268. data/spec/functional/resource/registry_spec.rb +81 -81
  269. data/spec/functional/resource/zypper_package_spec.rb +7 -0
  270. data/spec/functional/win32/registry_spec.rb +8 -8
  271. data/spec/integration/client/client_spec.rb +31 -0
  272. data/spec/unit/application/base_spec.rb +40 -0
  273. data/spec/unit/compliance/runner_spec.rb +62 -1
  274. data/spec/unit/data_collector_spec.rb +24 -1
  275. data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
  276. data/spec/unit/file_access_control_spec.rb +1 -1
  277. data/spec/unit/mixin/default_paths_spec.rb +1 -1
  278. data/spec/unit/mixin/securable_spec.rb +3 -3
  279. data/spec/unit/mixin/why_run_spec.rb +53 -0
  280. data/spec/unit/provider/cron_spec.rb +45 -0
  281. data/spec/unit/provider/group/groupadd_spec.rb +1 -0
  282. data/spec/unit/provider/group/usermod_spec.rb +2 -2
  283. data/spec/unit/provider/ifconfig_spec.rb +2 -0
  284. data/spec/unit/provider/mount/linux_spec.rb +16 -3
  285. data/spec/unit/provider/package/bff_spec.rb +1 -0
  286. data/spec/unit/provider/package/powershell_spec.rb +114 -114
  287. data/spec/unit/provider/package/rubygems_spec.rb +8 -5
  288. data/spec/unit/provider/package/solaris_spec.rb +1 -0
  289. data/spec/unit/provider/package/windows_spec.rb +1 -1
  290. data/spec/unit/provider/registry_key_spec.rb +4 -4
  291. data/spec/unit/provider/service/arch_service_spec.rb +2 -2
  292. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  293. data/spec/unit/provider/service/gentoo_service_spec.rb +1 -0
  294. data/spec/unit/provider/service/macosx_spec.rb +1 -0
  295. data/spec/unit/provider/service/redhat_spec.rb +4 -1
  296. data/spec/unit/provider/service/simple_service_spec.rb +6 -4
  297. data/spec/unit/provider/service/windows_spec.rb +5 -5
  298. data/spec/unit/provider/subversion_spec.rb +4 -4
  299. data/spec/unit/provider/user_spec.rb +2 -0
  300. data/spec/unit/provider/windows_env_spec.rb +1 -1
  301. data/spec/unit/provider/zypper_repository_spec.rb +1 -1
  302. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +14 -0
  303. data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
  304. data/spec/unit/resource/chocolatey_feature_spec.rb +1 -1
  305. data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
  306. data/spec/unit/resource/dpkg_package_spec.rb +12 -0
  307. data/spec/unit/resource/kernel_module_spec.rb +2 -1
  308. data/spec/unit/resource/macos_user_defaults_spec.rb +36 -96
  309. data/spec/unit/resource/registry_key_spec.rb +10 -10
  310. data/spec/unit/resource/rhsm_register_spec.rb +42 -0
  311. data/spec/unit/resource/windows_auto_run_spec.rb +1 -1
  312. data/spec/unit/resource/windows_feature_powershell_spec.rb +1 -1
  313. data/spec/unit/resource/windows_firewall_rule_spec.rb +2 -2
  314. data/spec/unit/resource/windows_task_spec.rb +3 -3
  315. data/spec/unit/resource_reporter_spec.rb +2 -2
  316. data/spec/unit/resource_spec.rb +5 -0
  317. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +99 -20
  318. data/spec/unit/util/backup_spec.rb +1 -1
  319. data/spec/unit/win32/registry_spec.rb +3 -3
  320. metadata +25 -8
  321. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.20.51904.dll +0 -0
@@ -75,19 +75,19 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
75
75
  def create_deletable_keys
76
76
  # create them both 32-bit and 64-bit
77
77
  [ 0x0100, 0x0200 ].each do |flag|
78
- hive_class.create(key_parent + '\Opscode', Win32::Registry::KEY_WRITE | flag)
79
- hive_class.open(key_parent + '\Opscode', Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
78
+ hive_class.create(key_parent + "\\Opscode", Win32::Registry::KEY_WRITE | flag)
79
+ hive_class.open(key_parent + "\\Opscode", Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
80
80
  reg["Color", Win32::Registry::REG_SZ] = "Orange"
81
81
  reg.write("Opscode", Win32::Registry::REG_MULTI_SZ, %w{Seattle Washington})
82
82
  reg["AKA", Win32::Registry::REG_SZ] = "OC"
83
83
  end
84
- hive_class.create(key_parent + '\ReportKey', Win32::Registry::KEY_WRITE | flag)
85
- hive_class.open(key_parent + '\ReportKey', Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
84
+ hive_class.create(key_parent + "\\ReportKey", Win32::Registry::KEY_WRITE | flag)
85
+ hive_class.open(key_parent + "\\ReportKey", Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
86
86
  reg["ReportVal4", Win32::Registry::REG_SZ] = "report4"
87
87
  reg["ReportVal5", Win32::Registry::REG_SZ] = "report5"
88
88
  end
89
- hive_class.create(key_parent + '\OpscodeWhyRun', Win32::Registry::KEY_WRITE | flag)
90
- hive_class.open(key_parent + '\OpscodeWhyRun', Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
89
+ hive_class.create(key_parent + "\\OpscodeWhyRun", Win32::Registry::KEY_WRITE | flag)
90
+ hive_class.open(key_parent + "\\OpscodeWhyRun", Win32::Registry::KEY_ALL_ACCESS | flag) do |reg|
91
91
  reg["BriskWalk", Win32::Registry::REG_SZ] = "is good for health"
92
92
  end
93
93
  end
@@ -188,13 +188,13 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
188
188
  end
189
189
 
190
190
  it "creates subkey if parent exists" do
191
- @new_resource.key(reg_child + '\OpscodeTest')
191
+ @new_resource.key(reg_child + "\\OpscodeTest")
192
192
  @new_resource.values([{ name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} }])
193
193
  @new_resource.recursive(false)
194
194
  @new_resource.run_action(:create)
195
195
 
196
- expect(@registry.key_exists?(reg_child + '\OpscodeTest')).to eq(true)
197
- expect(@registry.value_exists?(reg_child + '\OpscodeTest', { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
196
+ expect(@registry.key_exists?(reg_child + "\\OpscodeTest")).to eq(true)
197
+ expect(@registry.value_exists?(reg_child + "\\OpscodeTest", { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
198
198
  end
199
199
 
200
200
  it "raises an error if action create and parent does not exist and recursive is set to false" do
@@ -258,20 +258,20 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
258
258
  @registry.architecture = :machine
259
259
  end
260
260
  it "creates a key in a 32-bit registry that is not viewable in 64-bit" do
261
- @new_resource.key(reg_child + '\Atraxi' )
261
+ @new_resource.key(reg_child + "\\Atraxi" )
262
262
  @new_resource.values([{ name: "OC", type: :string, data: "Data" }])
263
263
  @new_resource.recursive(true)
264
264
  @new_resource.architecture(:i386)
265
265
  @new_resource.run_action(:create)
266
266
  @registry.architecture = :i386
267
- expect(@registry.data_exists?(reg_child + '\Atraxi', { name: "OC", type: :string, data: "Data" })).to eq(true)
267
+ expect(@registry.data_exists?(reg_child + "\\Atraxi", { name: "OC", type: :string, data: "Data" })).to eq(true)
268
268
  @registry.architecture = :x86_64
269
- expect(@registry.key_exists?(reg_child + '\Atraxi')).to eq(false)
269
+ expect(@registry.key_exists?(reg_child + "\\Atraxi")).to eq(false)
270
270
  end
271
271
  end
272
272
 
273
273
  it "prepares the reporting data for action :create" do
274
- @new_resource.key(reg_child + '\Ood')
274
+ @new_resource.key(reg_child + "\\Ood")
275
275
  @new_resource.values([{ name: "ReportingVal1", type: :string, data: "report1" }, { name: "ReportingVal2", type: :string, data: "report2" }])
276
276
  @new_resource.recursive(true)
277
277
  @new_resource.run_action(:create)
@@ -280,7 +280,7 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
280
280
  expect(@report["action"]).to eq("end")
281
281
  expect(@report["resources"][0]["type"]).to eq("registry_key")
282
282
  expect(@report["resources"][0]["name"]).to eq(resource_name)
283
- expect(@report["resources"][0]["id"]).to eq(reg_child + '\Ood')
283
+ expect(@report["resources"][0]["id"]).to eq(reg_child + "\\Ood")
284
284
  expect(@report["resources"][0]["after"][:values]).to eq([{ name: "ReportingVal1", type: :string, data: "report1" },
285
285
  { name: "ReportingVal2", type: :string, data: "report2" }])
286
286
  expect(@report["resources"][0]["before"][:values]).to eq([])
@@ -295,48 +295,48 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
295
295
  end
296
296
 
297
297
  it "does not raise an exception if the keys do not exist but recursive is set to false" do
298
- @new_resource.key(reg_child + '\Slitheen\Raxicoricofallapatorius')
298
+ @new_resource.key(reg_child + "\\Slitheen\\Raxicoricofallapatorius")
299
299
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
300
300
  @new_resource.recursive(false)
301
301
  @new_resource.run_action(:create) # should not raise_error
302
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
303
- expect(@registry.key_exists?(reg_child + '\Slitheen\Raxicoricofallapatorius')).to eq(false)
302
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
303
+ expect(@registry.key_exists?(reg_child + "\\Slitheen\\Raxicoricofallapatorius")).to eq(false)
304
304
  end
305
305
 
306
306
  it "does not create key if the action is create" do
307
- @new_resource.key(reg_child + '\Slitheen')
307
+ @new_resource.key(reg_child + "\\Slitheen")
308
308
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
309
309
  @new_resource.recursive(false)
310
310
  @new_resource.run_action(:create)
311
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
311
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
312
312
  end
313
313
 
314
314
  it "does not raise an exception if the action create and type key missing in values hash" do
315
- @new_resource.key(reg_child + '\Slitheen')
315
+ @new_resource.key(reg_child + "\\Slitheen")
316
316
  @new_resource.values([{ name: "BriskWalk", data: "my_data" }])
317
317
  @new_resource.run_action(:create) # should not raise_error
318
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
318
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
319
319
  end
320
320
 
321
321
  it "does not raise an exception if the action create and data key missing in values hash" do
322
- @new_resource.key(reg_child + '\Slitheen')
322
+ @new_resource.key(reg_child + "\\Slitheen")
323
323
  @new_resource.values([{ name: "BriskWalk", type: :string }])
324
324
  @new_resource.run_action(:create) # should not raise_error
325
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
325
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
326
326
  end
327
327
 
328
328
  it "does not raise an exception if the action create and only name key present in values hash" do
329
- @new_resource.key(reg_child + '\Slitheen')
329
+ @new_resource.key(reg_child + "\\Slitheen")
330
330
  @new_resource.values([{ name: "BriskWalk" }])
331
331
  @new_resource.run_action(:create) # should not raise_error
332
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
332
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
333
333
  end
334
334
 
335
335
  it "does not raise an exception if the action create and all keys are present in values hash" do
336
- @new_resource.key(reg_child + '\Slitheen')
336
+ @new_resource.key(reg_child + "\\Slitheen")
337
337
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "my_data" }])
338
338
  @new_resource.run_action(:create) # should not raise_error
339
- expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
339
+ expect(@registry.key_exists?(reg_child + "\\Slitheen")).to eq(false)
340
340
  end
341
341
  end
342
342
  end
@@ -374,17 +374,17 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
374
374
  end
375
375
 
376
376
  it "creates subkey if parent exists" do
377
- @new_resource.key(reg_child + '\Pyrovile')
377
+ @new_resource.key(reg_child + "\\Pyrovile")
378
378
  @new_resource.values([{ name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} }])
379
379
  @new_resource.recursive(false)
380
380
  @new_resource.run_action(:create_if_missing)
381
381
 
382
- expect(@registry.key_exists?(reg_child + '\Pyrovile')).to eq(true)
383
- expect(@registry.value_exists?(reg_child + '\Pyrovile', { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
382
+ expect(@registry.key_exists?(reg_child + "\\Pyrovile")).to eq(true)
383
+ expect(@registry.value_exists?(reg_child + "\\Pyrovile", { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
384
384
  end
385
385
 
386
386
  it "raises an error if action create and parent does not exist and recursive is set to false" do
387
- @new_resource.key(reg_child + '\Sontaran\Sontar')
387
+ @new_resource.key(reg_child + "\\Sontaran\\Sontar")
388
388
  @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
389
389
  @new_resource.recursive(false)
390
390
  expect { @new_resource.run_action(:create_if_missing) }.to raise_error(Chef::Exceptions::Win32RegNoRecursive)
@@ -415,28 +415,28 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
415
415
  end
416
416
 
417
417
  it "creates missing keys if action create and parent does not exist and recursive is set to true" do
418
- @new_resource.key(reg_child + '\Sontaran\Sontar')
418
+ @new_resource.key(reg_child + "\\Sontaran\\Sontar")
419
419
  @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
420
420
  @new_resource.recursive(true)
421
421
  @new_resource.run_action(:create_if_missing)
422
422
 
423
- expect(@registry.key_exists?(reg_child + '\Sontaran\Sontar')).to eq(true)
424
- expect(@registry.value_exists?(reg_child + '\Sontaran\Sontar', { name: "OC", type: :string, data: "MissingData" })).to eq(true)
423
+ expect(@registry.key_exists?(reg_child + "\\Sontaran\\Sontar")).to eq(true)
424
+ expect(@registry.value_exists?(reg_child + "\\Sontaran\\Sontar", { name: "OC", type: :string, data: "MissingData" })).to eq(true)
425
425
  end
426
426
 
427
427
  it "creates key with multiple value as specified" do
428
- @new_resource.key(reg_child + '\Adipose')
428
+ @new_resource.key(reg_child + "\\Adipose")
429
429
  @new_resource.values([{ name: "one", type: :string, data: "1" }, { name: "two", type: :string, data: "2" }, { name: "three", type: :string, data: "3" }])
430
430
  @new_resource.recursive(true)
431
431
  @new_resource.run_action(:create_if_missing)
432
432
 
433
433
  @new_resource.each_value do |value|
434
- expect(@registry.value_exists?(reg_child + '\Adipose', value)).to eq(true)
434
+ expect(@registry.value_exists?(reg_child + "\\Adipose", value)).to eq(true)
435
435
  end
436
436
  end
437
437
 
438
438
  it "prepares the reporting data for :create_if_missing" do
439
- @new_resource.key(reg_child + '\Judoon')
439
+ @new_resource.key(reg_child + "\\Judoon")
440
440
  @new_resource.values([{ name: "ReportingVal3", type: :string, data: "report3" }])
441
441
  @new_resource.recursive(true)
442
442
  @new_resource.run_action(:create_if_missing)
@@ -445,7 +445,7 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
445
445
  expect(@report["action"]).to eq("end")
446
446
  expect(@report["resources"][0]["type"]).to eq("registry_key")
447
447
  expect(@report["resources"][0]["name"]).to eq(resource_name)
448
- expect(@report["resources"][0]["id"]).to eq(reg_child + '\Judoon')
448
+ expect(@report["resources"][0]["id"]).to eq(reg_child + "\\Judoon")
449
449
  expect(@report["resources"][0]["after"][:values]).to eq([{ name: "ReportingVal3", type: :string, data: "report3" }])
450
450
  expect(@report["resources"][0]["before"][:values]).to eq([])
451
451
  expect(@report["resources"][0]["result"]).to eq("create_if_missing")
@@ -459,48 +459,48 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
459
459
  end
460
460
 
461
461
  it "does not raise an exception if the keys do not exist but recursive is set to false" do
462
- @new_resource.key(reg_child + '\Zygons\Zygor')
462
+ @new_resource.key(reg_child + "\\Zygons\\Zygor")
463
463
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
464
464
  @new_resource.recursive(false)
465
465
  @new_resource.run_action(:create_if_missing) # should not raise_error
466
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
467
- expect(@registry.key_exists?(reg_child + '\Zygons\Zygor')).to eq(false)
466
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
467
+ expect(@registry.key_exists?(reg_child + "\\Zygons\\Zygor")).to eq(false)
468
468
  end
469
469
 
470
470
  it "does nothing if the action is create_if_missing" do
471
- @new_resource.key(reg_child + '\Zygons')
471
+ @new_resource.key(reg_child + "\\Zygons")
472
472
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
473
473
  @new_resource.recursive(false)
474
474
  @new_resource.run_action(:create_if_missing)
475
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
475
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
476
476
  end
477
477
 
478
478
  it "does not raise an exception if the action create_if_missing and type key missing in values hash" do
479
- @new_resource.key(reg_child + '\Zygons')
479
+ @new_resource.key(reg_child + "\\Zygons")
480
480
  @new_resource.values([{ name: "BriskWalk", data: "my_data" }])
481
481
  @new_resource.run_action(:create_if_missing) # should not raise_error
482
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
482
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
483
483
  end
484
484
 
485
485
  it "does not raise an exception if the action create_if_missing and data key missing in values hash" do
486
- @new_resource.key(reg_child + '\Zygons')
486
+ @new_resource.key(reg_child + "\\Zygons")
487
487
  @new_resource.values([{ name: "BriskWalk", type: :string }])
488
488
  @new_resource.run_action(:create_if_missing) # should not raise_error
489
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
489
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
490
490
  end
491
491
 
492
492
  it "does not raise an exception if the action create_if_missing and only name key present in values hash" do
493
- @new_resource.key(reg_child + '\Zygons')
493
+ @new_resource.key(reg_child + "\\Zygons")
494
494
  @new_resource.values([{ name: "BriskWalk" }])
495
495
  @new_resource.run_action(:create_if_missing) # should not raise_error
496
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
496
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
497
497
  end
498
498
 
499
499
  it "does not raise an exception if the action create_if_missing and all keys are present in values hash" do
500
- @new_resource.key(reg_child + '\Zygons')
500
+ @new_resource.key(reg_child + "\\Zygons")
501
501
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "my_data" }])
502
502
  @new_resource.run_action(:create_if_missing) # should not raise_error
503
- expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
503
+ expect(@registry.key_exists?(reg_child + "\\Zygons")).to eq(false)
504
504
  end
505
505
  end
506
506
  end
@@ -512,61 +512,61 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
512
512
  end
513
513
 
514
514
  it "takes no action if the specified key path does not exist in the system" do
515
- expect(@registry.key_exists?(reg_parent + '\Osirian')).to eq(false)
515
+ expect(@registry.key_exists?(reg_parent + "\\Osirian")).to eq(false)
516
516
 
517
- @new_resource.key(reg_parent + '\Osirian')
517
+ @new_resource.key(reg_parent + "\\Osirian")
518
518
  @new_resource.recursive(false)
519
519
  @new_resource.run_action(:delete)
520
520
 
521
- expect(@registry.key_exists?(reg_parent + '\Osirian')).to eq(false)
521
+ expect(@registry.key_exists?(reg_parent + "\\Osirian")).to eq(false)
522
522
  end
523
523
 
524
524
  it "takes no action if the key exists but the value does not" do
525
- expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
525
+ expect(@registry.data_exists?(reg_parent + "\\Opscode", { name: "Color", type: :string, data: "Orange" })).to eq(true)
526
526
 
527
- @new_resource.key(reg_parent + '\Opscode')
527
+ @new_resource.key(reg_parent + "\\Opscode")
528
528
  @new_resource.values([{ name: "LooksLike", type: :multi_string, data: %w{SeattleGrey OCOrange} }])
529
529
  @new_resource.recursive(false)
530
530
  @new_resource.run_action(:delete)
531
531
 
532
- expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
532
+ expect(@registry.data_exists?(reg_parent + "\\Opscode", { name: "Color", type: :string, data: "Orange" })).to eq(true)
533
533
  end
534
534
 
535
535
  it "deletes only specified values under a key path" do
536
- @new_resource.key(reg_parent + '\Opscode')
536
+ @new_resource.key(reg_parent + "\\Opscode")
537
537
  @new_resource.values([{ name: "Opscode", type: :multi_string, data: %w{Seattle Washington} }, { name: "AKA", type: :string, data: "OC" }])
538
538
  @new_resource.recursive(false)
539
539
  @new_resource.run_action(:delete)
540
540
 
541
- expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
542
- expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "AKA", type: :string, data: "OC" })).to eq(false)
543
- expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "Opscode", type: :multi_string, data: %w{Seattle Washington} })).to eq(false)
541
+ expect(@registry.data_exists?(reg_parent + "\\Opscode", { name: "Color", type: :string, data: "Orange" })).to eq(true)
542
+ expect(@registry.value_exists?(reg_parent + "\\Opscode", { name: "AKA", type: :string, data: "OC" })).to eq(false)
543
+ expect(@registry.value_exists?(reg_parent + "\\Opscode", { name: "Opscode", type: :multi_string, data: %w{Seattle Washington} })).to eq(false)
544
544
  end
545
545
 
546
546
  it "it deletes the values with the same name irrespective of it type and data" do
547
- @new_resource.key(reg_parent + '\Opscode')
547
+ @new_resource.key(reg_parent + "\\Opscode")
548
548
  @new_resource.values([{ name: "Color", type: :multi_string, data: %w{Black Orange} }])
549
549
  @new_resource.recursive(false)
550
550
  @new_resource.run_action(:delete)
551
551
 
552
- expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(false)
552
+ expect(@registry.value_exists?(reg_parent + "\\Opscode", { name: "Color", type: :string, data: "Orange" })).to eq(false)
553
553
  end
554
554
 
555
555
  it "prepares the reporting data for action :delete" do
556
- @new_resource.key(reg_parent + '\ReportKey')
556
+ @new_resource.key(reg_parent + "\\ReportKey")
557
557
  @new_resource.values([{ name: "ReportVal4", type: :string, data: "report4" }, { name: "ReportVal5", type: :string, data: "report5" }])
558
558
  @new_resource.recursive(true)
559
559
  @new_resource.run_action(:delete)
560
560
 
561
561
  @report = @resource_reporter.prepare_run_data
562
562
 
563
- expect(@registry.value_exists?(reg_parent + '\ReportKey', [{ name: "ReportVal4", type: :string, data: "report4" }, { name: "ReportVal5", type: :string, data: "report5" }])).to eq(false)
563
+ expect(@registry.value_exists?(reg_parent + "\\ReportKey", [{ name: "ReportVal4", type: :string, data: "report4" }, { name: "ReportVal5", type: :string, data: "report5" }])).to eq(false)
564
564
 
565
565
  expect(@report["action"]).to eq("end")
566
566
  expect(@report["resources"].count).to eq(1)
567
567
  expect(@report["resources"][0]["type"]).to eq("registry_key")
568
568
  expect(@report["resources"][0]["name"]).to eq(resource_name)
569
- expect(@report["resources"][0]["id"]).to eq(reg_parent + '\ReportKey')
569
+ expect(@report["resources"][0]["id"]).to eq(reg_parent + "\\ReportKey")
570
570
  expect(@report["resources"][0]["before"][:values]).to eq([{ name: "ReportVal4", type: :string, data: "report4" },
571
571
  { name: "ReportVal5", type: :string, data: "report5" }])
572
572
  # Not testing for after values to match since after -> new_resource values.
@@ -580,12 +580,12 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
580
580
  Chef::Config[:why_run] = true
581
581
  end
582
582
  it "does nothing if the action is delete" do
583
- @new_resource.key(reg_parent + '\OpscodeWhyRun')
583
+ @new_resource.key(reg_parent + "\\OpscodeWhyRun")
584
584
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
585
585
  @new_resource.recursive(false)
586
586
  @new_resource.run_action(:delete)
587
587
 
588
- expect(@registry.key_exists?(reg_parent + '\OpscodeWhyRun')).to eq(true)
588
+ expect(@registry.key_exists?(reg_parent + "\\OpscodeWhyRun")).to eq(true)
589
589
  end
590
590
  end
591
591
  end
@@ -597,21 +597,21 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
597
597
  end
598
598
 
599
599
  it "takes no action if the specified key path does not exist in the system" do
600
- expect(@registry.key_exists?(reg_parent + '\Osirian')).to eq(false)
600
+ expect(@registry.key_exists?(reg_parent + "\\Osirian")).to eq(false)
601
601
 
602
- @new_resource.key(reg_parent + '\Osirian')
602
+ @new_resource.key(reg_parent + "\\Osirian")
603
603
  @new_resource.recursive(false)
604
604
  @new_resource.run_action(:delete_key)
605
605
 
606
- expect(@registry.key_exists?(reg_parent + '\Osirian')).to eq(false)
606
+ expect(@registry.key_exists?(reg_parent + "\\Osirian")).to eq(false)
607
607
  end
608
608
 
609
609
  it "deletes key if it has no subkeys and recursive == false" do
610
- @new_resource.key(reg_parent + '\OpscodeTest')
610
+ @new_resource.key(reg_parent + "\\OpscodeTest")
611
611
  @new_resource.recursive(false)
612
612
  @new_resource.run_action(:delete_key)
613
613
 
614
- expect(@registry.key_exists?(reg_parent + '\OpscodeTest')).to eq(false)
614
+ expect(@registry.key_exists?(reg_parent + "\\OpscodeTest")).to eq(false)
615
615
  end
616
616
 
617
617
  it "raises an exception if the key has subkeys and recursive == false" do
@@ -621,22 +621,22 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
621
621
  end
622
622
 
623
623
  it "ignores the values under a key" do
624
- @new_resource.key(reg_parent + '\OpscodeIgnoredValues')
624
+ @new_resource.key(reg_parent + "\\OpscodeIgnoredValues")
625
625
  # @new_resource.values([{:name=>"DontExist", :type=>:string, :data=>"These will be ignored anyways"}])
626
626
  @new_resource.recursive(true)
627
627
  @new_resource.run_action(:delete_key)
628
628
  end
629
629
 
630
630
  it "deletes the key if it has subkeys and recursive == true" do
631
- @new_resource.key(reg_parent + '\Opscode')
631
+ @new_resource.key(reg_parent + "\\Opscode")
632
632
  @new_resource.recursive(true)
633
633
  @new_resource.run_action(:delete_key)
634
634
 
635
- expect(@registry.key_exists?(reg_parent + '\Opscode')).to eq(false)
635
+ expect(@registry.key_exists?(reg_parent + "\\Opscode")).to eq(false)
636
636
  end
637
637
 
638
638
  it "prepares the reporting data for action :delete_key" do
639
- @new_resource.key(reg_parent + '\ReportKey')
639
+ @new_resource.key(reg_parent + "\\ReportKey")
640
640
  @new_resource.recursive(true)
641
641
  @new_resource.run_action(:delete_key)
642
642
 
@@ -644,7 +644,7 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
644
644
  expect(@report["action"]).to eq("end")
645
645
  expect(@report["resources"][0]["type"]).to eq("registry_key")
646
646
  expect(@report["resources"][0]["name"]).to eq(resource_name)
647
- expect(@report["resources"][0]["id"]).to eq(reg_parent + '\ReportKey')
647
+ expect(@report["resources"][0]["id"]).to eq(reg_parent + "\\ReportKey")
648
648
  # Not testing for before or after values to match since
649
649
  # after -> new_resource.values and
650
650
  # before -> current_resource.values
@@ -658,18 +658,18 @@ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
658
658
  end
659
659
 
660
660
  it "does not throw an exception if the key has subkeys but recursive is set to false" do
661
- @new_resource.key(reg_parent + '\OpscodeWhyRun')
661
+ @new_resource.key(reg_parent + "\\OpscodeWhyRun")
662
662
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
663
663
  @new_resource.recursive(false)
664
664
  @new_resource.run_action(:delete_key)
665
665
  end
666
666
  it "does nothing if the action is delete_key" do
667
- @new_resource.key(reg_parent + '\OpscodeWhyRun')
667
+ @new_resource.key(reg_parent + "\\OpscodeWhyRun")
668
668
  @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
669
669
  @new_resource.recursive(false)
670
670
  @new_resource.run_action(:delete_key)
671
671
 
672
- expect(@registry.key_exists?(reg_parent + '\OpscodeWhyRun')).to eq(true)
672
+ expect(@registry.key_exists?(reg_parent + "\\OpscodeWhyRun")).to eq(true)
673
673
  end
674
674
  end
675
675
  end
@@ -187,6 +187,13 @@ describe Chef::Resource::ZypperPackage, :requires_root, :suse_only do
187
187
  expect(zypper_package.updated_by_last_action?).to be true
188
188
  expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^package chef_rpm is not installed$")
189
189
  end
190
+
191
+ it "is idempotent when a package isn't installed" do
192
+ FileUtils.rm_f "/etc/zypp/repos.d/chef-zypp-localtesting.repo"
193
+ zypper_package.run_action(:remove)
194
+ expect(zypper_package.updated_by_last_action?).to be false
195
+ expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^package chef_rpm is not installed$")
196
+ end
190
197
  end
191
198
  end
192
199
 
@@ -28,14 +28,14 @@ describe "Chef::Win32::Registry", :windows_only do
28
28
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\Branch"
29
29
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\B®anch"
30
30
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\Branch\\Flower"
31
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root', Win32::Registry::KEY_ALL_ACCESS) do |reg|
31
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root", Win32::Registry::KEY_ALL_ACCESS) do |reg|
32
32
  reg["RootType1", Win32::Registry::REG_SZ] = "fibrous"
33
33
  reg.write("Roots", Win32::Registry::REG_MULTI_SZ, ["strong roots", "healthy tree"])
34
34
  end
35
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root\\Branch', Win32::Registry::KEY_ALL_ACCESS) do |reg|
35
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root\\Branch", Win32::Registry::KEY_ALL_ACCESS) do |reg|
36
36
  reg["Strong", Win32::Registry::REG_SZ] = "bird nest"
37
37
  end
38
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root\\Branch\\Flower', Win32::Registry::KEY_ALL_ACCESS) do |reg|
38
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root\\Branch\\Flower", Win32::Registry::KEY_ALL_ACCESS) do |reg|
39
39
  reg["Petals", Win32::Registry::REG_MULTI_SZ] = %w{Pink Delicate}
40
40
  end
41
41
 
@@ -297,7 +297,7 @@ describe "Chef::Win32::Registry", :windows_only do
297
297
  describe "delete_value" do
298
298
  before(:all) do
299
299
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\Trunk\\Peck\\Woodpecker"
300
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root\\Trunk\\Peck\\Woodpecker', Win32::Registry::KEY_ALL_ACCESS) do |reg|
300
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root\\Trunk\\Peck\\Woodpecker", Win32::Registry::KEY_ALL_ACCESS) do |reg|
301
301
  reg["Peter", Win32::Registry::REG_SZ] = "Tiny"
302
302
  end
303
303
  end
@@ -324,11 +324,11 @@ describe "Chef::Win32::Registry", :windows_only do
324
324
  describe "delete_key" do
325
325
  before(:all) do
326
326
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\Branch\\Fruit"
327
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root\\Branch\\Fruit', Win32::Registry::KEY_ALL_ACCESS) do |reg|
327
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root\\Branch\\Fruit", Win32::Registry::KEY_ALL_ACCESS) do |reg|
328
328
  reg["Apple", Win32::Registry::REG_MULTI_SZ] = %w{Red Juicy}
329
329
  end
330
330
  ::Win32::Registry::HKEY_CURRENT_USER.create "Software\\Root\\Trunk\\Peck\\Woodpecker"
331
- ::Win32::Registry::HKEY_CURRENT_USER.open('Software\\Root\\Trunk\\Peck\\Woodpecker', Win32::Registry::KEY_ALL_ACCESS) do |reg|
331
+ ::Win32::Registry::HKEY_CURRENT_USER.open("Software\\Root\\Trunk\\Peck\\Woodpecker", Win32::Registry::KEY_ALL_ACCESS) do |reg|
332
332
  reg["Peter", Win32::Registry::REG_SZ] = "Tiny"
333
333
  end
334
334
  end
@@ -519,12 +519,12 @@ describe "Chef::Win32::Registry", :windows_only do
519
519
  end
520
520
  # 64-bit
521
521
  ::Win32::Registry::HKEY_LOCAL_MACHINE.create("Software\\Root\\Mauve", ::Win32::Registry::KEY_ALL_ACCESS | 0x0100)
522
- ::Win32::Registry::HKEY_LOCAL_MACHINE.open('Software\\Root\\Mauve', Win32::Registry::KEY_ALL_ACCESS | 0x0100) do |reg|
522
+ ::Win32::Registry::HKEY_LOCAL_MACHINE.open("Software\\Root\\Mauve", Win32::Registry::KEY_ALL_ACCESS | 0x0100) do |reg|
523
523
  reg["Alert", Win32::Registry::REG_SZ] = "Universal"
524
524
  end
525
525
  # 32-bit
526
526
  ::Win32::Registry::HKEY_LOCAL_MACHINE.create("Software\\Root\\Poosh", ::Win32::Registry::KEY_ALL_ACCESS | 0x0200)
527
- ::Win32::Registry::HKEY_LOCAL_MACHINE.open('Software\\Root\\Poosh', Win32::Registry::KEY_ALL_ACCESS | 0x0200) do |reg|
527
+ ::Win32::Registry::HKEY_LOCAL_MACHINE.open("Software\\Root\\Poosh", Win32::Registry::KEY_ALL_ACCESS | 0x0200) do |reg|
528
528
  reg["Status", Win32::Registry::REG_SZ] = "Lost"
529
529
  end
530
530
  end
@@ -48,6 +48,37 @@ describe "chef-client" do
48
48
  let(:chef_client) { "bundle exec #{ChefUtils::Dist::Infra::CLIENT} --minimal-ohai" }
49
49
  let(:chef_solo) { "bundle exec #{ChefUtils::Dist::Solo::EXEC} --legacy-mode --minimal-ohai" }
50
50
 
51
+ context "when validation.pem in current Directory" do
52
+ let(:validation_path) { "" }
53
+
54
+ before do
55
+ tempfile = Tempfile.new(validation_path)
56
+ tempfile.write "string"
57
+ tempfile.close
58
+ @path = tempfile.path
59
+ Chef::Config.validation_key = @path
60
+
61
+ file "config/client.rb", <<~EOM
62
+ local_mode true
63
+ cookbook_path "#{path_to("cookbooks")}"
64
+ EOM
65
+ end
66
+
67
+ it "should find validation.pem successfully in current dir" do
68
+ validation_path = "validation.pem"
69
+ shell_out!("#{chef_client} -c \"#{path_to("config/client.rb")}\" -K #{@path} ", cwd: chef_dir)
70
+ end
71
+
72
+ it "should find validation.pem successfully in current dir" do
73
+ validation_path = "/tmp/validation.pem"
74
+ shell_out!("#{chef_client} -c \"#{path_to("config/client.rb")}\" -K #{@path} ", cwd: chef_dir)
75
+ end
76
+
77
+ it "should find validation.pem successfully in default directory" do
78
+ shell_out!("#{chef_client} -c \"#{path_to("config/client.rb")}\" ", cwd: chef_dir)
79
+ end
80
+ end
81
+
51
82
  when_the_repository "has a cookbook with a no-op recipe" do
52
83
  before { file "cookbooks/x/recipes/default.rb", "" }
53
84
 
@@ -0,0 +1,40 @@
1
+ require "spec_helper"
2
+
3
+ describe Chef::Application::Base, "setup_application" do
4
+ let(:validation_path) { "" }
5
+
6
+ context "when validation key is supplied" do
7
+ before do
8
+ @app = Chef::Application::Base.new
9
+ tempfile = Tempfile.new(validation_path)
10
+ tempfile.write "string"
11
+ tempfile.close
12
+ @path = tempfile.path
13
+ Chef::Config.validation_key = @path
14
+ end
15
+
16
+ context "when key is in current directory" do
17
+ it "should find with full path of validation_key" do
18
+ validation_path = "validation.pem"
19
+ expect(Chef::Config.validation_key).to eql(@path)
20
+ end
21
+ end
22
+
23
+ context "when path is given" do
24
+ validation_path = "/tmp/validation.pem"
25
+ it "should find validation_key" do
26
+ expect(Chef::Config.validation_key).to eql(@path)
27
+ end
28
+ end
29
+ end
30
+
31
+ context "when validation key is not supplied" do
32
+ it "should return default path for validation_key" do
33
+ if windows?
34
+ expect(Chef::Config.validation_key).to eql("C:\\chef\\validation.pem")
35
+ else
36
+ expect(Chef::Config.validation_key).to eql("/etc/chef/validation.pem")
37
+ end
38
+ end
39
+ end
40
+ end