chef 18.6.2-universal-mingw-ucrt

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 (2515) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +95 -0
  3. data/LICENSE +201 -0
  4. data/README.md +63 -0
  5. data/Rakefile +110 -0
  6. data/chef-universal-mingw-ucrt.gemspec +23 -0
  7. data/chef.gemspec +86 -0
  8. data/distro/powershell/chef/chef.psm1 +459 -0
  9. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/Ijwhost.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/Newtonsoft.Json.dll +0 -0
  13. data/distro/ruby_bin_folder/AMD64/concrt140.dll +0 -0
  14. data/distro/ruby_bin_folder/AMD64/host/fxr/5.0.0/hostfxr.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/msvcp140.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/msvcp140_1.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/msvcp140_2.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/msvcp140_atomic_wait.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/msvcp140_codecvt_ids.dll +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Wrapper.Core.runtimeconfig.json +9 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Markdig.Signed.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.ApplicationInsights.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  29. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.dll +0 -0
  30. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.DiaSymReader.Native.amd64.dll +0 -0
  31. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.Unmanaged.dll +0 -0
  32. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.dll +0 -0
  33. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.dll +0 -0
  34. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +2580 -0
  35. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  36. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  37. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  38. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  39. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  40. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  41. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  42. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  43. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  44. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  45. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  46. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  47. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.AccessControl.dll +0 -0
  48. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  49. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.SystemEvents.dll +0 -0
  50. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/NJsonSchema.dll +0 -0
  51. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Namotion.Reflection.dll +0 -0
  52. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  53. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/PowerShell.Core.Instrumentation.dll +0 -0
  54. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  55. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  56. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.CodeDom.dll +0 -0
  57. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  58. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  59. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  60. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  61. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  62. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  63. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  64. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  65. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  66. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  67. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  68. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.ConfigurationManager.dll +0 -0
  69. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  70. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  71. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  72. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  73. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  74. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  75. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  76. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  77. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  78. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  79. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  80. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  81. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  82. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  83. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  84. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  85. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  86. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  87. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.DirectoryServices.dll +0 -0
  88. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  89. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  90. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  91. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  92. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  93. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  94. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  95. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  96. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  97. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  98. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  99. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  100. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  101. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  102. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  103. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  104. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  105. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  106. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  107. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  108. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  109. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  110. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  111. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  112. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  113. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  114. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  115. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  116. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.dll +0 -0
  117. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  118. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  119. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  120. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  121. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  122. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  123. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  124. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  125. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  126. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  127. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  128. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  129. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  130. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  131. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  132. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  133. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  134. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  135. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  136. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  137. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  138. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  139. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  140. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  141. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  142. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  143. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  144. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  145. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  146. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  147. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  148. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  149. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  150. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  151. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  152. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  153. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  154. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  155. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  156. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  157. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  158. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  159. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  160. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  161. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  162. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  163. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  164. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  165. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  166. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  167. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  168. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  169. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  170. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  171. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  172. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  173. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  174. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  175. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  176. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  177. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  178. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  179. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  180. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  181. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  182. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Permissions.dll +0 -0
  183. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  184. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  185. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  186. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  187. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  188. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.ServiceController.dll +0 -0
  189. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  190. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  191. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  192. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  193. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  194. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  195. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  196. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.AccessControl.dll +0 -0
  197. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  198. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  199. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  200. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  201. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  202. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  203. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  204. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  205. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  206. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  207. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  208. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  209. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  210. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  211. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  212. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.Extensions.dll +0 -0
  213. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  214. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  215. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  216. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  217. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  218. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  219. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  220. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  221. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  222. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  223. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  224. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  225. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-1-0.dll +0 -0
  226. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-2-0.dll +0 -0
  227. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  228. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-debug-l1-1-0.dll +0 -0
  229. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  230. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-1-0.dll +0 -0
  231. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-2-0.dll +0 -0
  232. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l2-1-0.dll +0 -0
  233. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-handle-l1-1-0.dll +0 -0
  234. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-heap-l1-1-0.dll +0 -0
  235. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  236. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  237. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-localization-l1-2-0.dll +0 -0
  238. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-memory-l1-1-0.dll +0 -0
  239. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  240. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  241. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  242. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  243. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-profile-l1-1-0.dll +0 -0
  244. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  245. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-string-l1-1-0.dll +0 -0
  246. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-1-0.dll +0 -0
  247. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-2-0.dll +0 -0
  248. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  249. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  250. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-util-l1-1-0.dll +0 -0
  251. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  252. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  253. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  254. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  255. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  256. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  257. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-math-l1-1-0.dll +0 -0
  258. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  259. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-private-l1-1-0.dll +0 -0
  260. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-process-l1-1-0.dll +0 -0
  261. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  262. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  263. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-string-l1-1-0.dll +0 -0
  264. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-time-l1-1-0.dll +0 -0
  265. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  266. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  267. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  268. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  269. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  270. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  271. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  272. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  273. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  274. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  275. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  276. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  277. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  278. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  279. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  280. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  281. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  282. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  283. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  284. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  285. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  286. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  287. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  288. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mi.dll +0 -0
  289. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/miutils.dll +0 -0
  290. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  291. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_amd64_amd64_5.0.521.16609.dll +0 -0
  292. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  293. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  294. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  295. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  296. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  297. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  298. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  299. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  300. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/pwrshplugin.dll +0 -0
  301. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  302. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  303. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  304. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  305. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/ucrtbase.dll +0 -0
  306. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  307. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  308. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  309. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  310. data/distro/ruby_bin_folder/AMD64/vccorlib140.dll +0 -0
  311. data/distro/ruby_bin_folder/AMD64/vcruntime140.dll +0 -0
  312. data/distro/ruby_bin_folder/AMD64/vcruntime140_1.dll +0 -0
  313. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  314. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  315. data/distro/ruby_bin_folder/x86/Ijwhost.dll +0 -0
  316. data/distro/ruby_bin_folder/x86/Newtonsoft.Json.dll +0 -0
  317. data/distro/ruby_bin_folder/x86/concrt140.dll +0 -0
  318. data/distro/ruby_bin_folder/x86/host/fxr/5.0.0/hostfxr.dll +0 -0
  319. data/distro/ruby_bin_folder/x86/msvcp140.dll +0 -0
  320. data/distro/ruby_bin_folder/x86/msvcp140_1.dll +0 -0
  321. data/distro/ruby_bin_folder/x86/msvcp140_2.dll +0 -0
  322. data/distro/ruby_bin_folder/x86/msvcp140_atomic_wait.dll +0 -0
  323. data/distro/ruby_bin_folder/x86/msvcp140_codecvt_ids.dll +0 -0
  324. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/API-MS-Win-core-xstate-l2-1-0.dll +0 -0
  325. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  326. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  327. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  328. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Wrapper.Core.runtimeconfig.json +9 -0
  329. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  330. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Markdig.Signed.dll +0 -0
  331. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.ApplicationInsights.dll +0 -0
  332. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  333. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  334. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CodeAnalysis.dll +0 -0
  335. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.DiaSymReader.Native.x86.dll +0 -0
  336. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.Unmanaged.dll +0 -0
  337. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.Native.dll +0 -0
  338. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Management.Infrastructure.dll +0 -0
  339. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +2583 -0
  340. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  341. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  342. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  343. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  344. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  345. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  346. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  347. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  348. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  349. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  350. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  351. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  352. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.AccessControl.dll +0 -0
  353. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  354. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.SystemEvents.dll +0 -0
  355. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/NJsonSchema.dll +0 -0
  356. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Namotion.Reflection.dll +0 -0
  357. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  358. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/PowerShell.Core.Instrumentation.dll +0 -0
  359. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  360. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  361. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.CodeDom.dll +0 -0
  362. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  363. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  364. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  365. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  366. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  367. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  368. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  369. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  370. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  371. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  372. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  373. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.ConfigurationManager.dll +0 -0
  374. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  375. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  376. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  377. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  378. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  379. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  380. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  381. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  382. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  383. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  384. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  385. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  386. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  387. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  388. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  389. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  390. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  391. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  392. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.DirectoryServices.dll +0 -0
  393. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  394. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  395. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  396. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  397. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  398. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  399. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  400. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  401. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  402. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  403. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  404. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  405. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  406. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  407. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  408. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  409. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  410. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  411. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  412. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  413. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  414. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  415. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  416. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  417. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  418. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  419. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  420. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  421. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.dll +0 -0
  422. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  423. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  424. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  425. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  426. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  427. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  428. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  429. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  430. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  431. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  432. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  433. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  434. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  435. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  436. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  437. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  438. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  439. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  440. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  441. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  442. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  443. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  444. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  445. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  446. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  447. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  448. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  449. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  450. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  451. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  452. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  453. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  454. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  455. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  456. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  457. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  458. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  459. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  460. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  461. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  462. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  463. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  464. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  465. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  466. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  467. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  468. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  469. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  470. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  471. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  472. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  473. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  474. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  475. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  476. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  477. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  478. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  479. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  480. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  481. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  482. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  483. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  484. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  485. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  486. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  487. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Permissions.dll +0 -0
  488. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  489. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  490. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  491. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  492. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  493. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.ServiceController.dll +0 -0
  494. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  495. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  496. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  497. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  498. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  499. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  500. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  501. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.AccessControl.dll +0 -0
  502. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  503. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  504. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  505. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  506. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  507. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  508. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  509. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  510. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  511. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  512. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  513. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  514. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  515. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  516. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  517. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Windows.Extensions.dll +0 -0
  518. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  519. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  520. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  521. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  522. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  523. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  524. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  525. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  526. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  527. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  528. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  529. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  530. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-1-0.dll +0 -0
  531. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-console-l1-2-0.dll +0 -0
  532. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  533. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-debug-l1-1-0.dll +0 -0
  534. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  535. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-1-0.dll +0 -0
  536. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l1-2-0.dll +0 -0
  537. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-file-l2-1-0.dll +0 -0
  538. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-handle-l1-1-0.dll +0 -0
  539. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-heap-l1-1-0.dll +0 -0
  540. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  541. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  542. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-localization-l1-2-0.dll +0 -0
  543. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-memory-l1-1-0.dll +0 -0
  544. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  545. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  546. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  547. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  548. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-profile-l1-1-0.dll +0 -0
  549. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  550. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-string-l1-1-0.dll +0 -0
  551. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-1-0.dll +0 -0
  552. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-synch-l1-2-0.dll +0 -0
  553. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  554. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  555. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-core-util-l1-1-0.dll +0 -0
  556. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  557. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  558. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  559. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  560. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  561. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  562. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-math-l1-1-0.dll +0 -0
  563. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  564. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-private-l1-1-0.dll +0 -0
  565. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-process-l1-1-0.dll +0 -0
  566. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  567. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  568. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-string-l1-1-0.dll +0 -0
  569. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-time-l1-1-0.dll +0 -0
  570. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  571. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  572. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  573. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  574. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  575. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  576. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  577. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  578. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  579. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  580. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  581. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  582. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  583. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  584. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  585. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  586. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  587. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  588. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  589. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  590. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  591. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  592. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  593. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mi.dll +0 -0
  594. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/miutils.dll +0 -0
  595. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  596. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordaccore_x86_x86_5.0.20.51904.dll +0 -0
  597. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  598. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  599. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  600. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  601. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  602. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  603. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  604. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  605. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/pwrshplugin.dll +0 -0
  606. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  607. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  608. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  609. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  610. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/ucrtbase.dll +0 -0
  611. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  612. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  613. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  614. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  615. data/distro/ruby_bin_folder/x86/vccorlib140.dll +0 -0
  616. data/distro/ruby_bin_folder/x86/vcruntime140.dll +0 -0
  617. data/distro/templates/powershell/chef/chef.psm1.erb +459 -0
  618. data/ext/win32-eventlog/Rakefile +61 -0
  619. data/ext/win32-eventlog/chef-log.man.erb +56 -0
  620. data/lib/chef/action_collection.rb +255 -0
  621. data/lib/chef/api_client/registration.rb +201 -0
  622. data/lib/chef/api_client.rb +228 -0
  623. data/lib/chef/api_client_v1.rb +335 -0
  624. data/lib/chef/application/apply.rb +248 -0
  625. data/lib/chef/application/base.rb +498 -0
  626. data/lib/chef/application/client.rb +178 -0
  627. data/lib/chef/application/exit_code.rb +152 -0
  628. data/lib/chef/application/solo.rb +137 -0
  629. data/lib/chef/application.rb +411 -0
  630. data/lib/chef/applications.rb +3 -0
  631. data/lib/chef/attribute_allowlist.rb +86 -0
  632. data/lib/chef/attribute_blocklist.rb +81 -0
  633. data/lib/chef/chef_class.rb +242 -0
  634. data/lib/chef/chef_fs/chef_fs_data_store.rb +878 -0
  635. data/lib/chef/chef_fs/command_line.rb +299 -0
  636. data/lib/chef/chef_fs/config.rb +285 -0
  637. data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +26 -0
  638. data/lib/chef/chef_fs/data_handler/client_data_handler.rb +39 -0
  639. data/lib/chef/chef_fs/data_handler/client_key_data_handler.rb +11 -0
  640. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +35 -0
  641. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +38 -0
  642. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +67 -0
  643. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +207 -0
  644. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +40 -0
  645. data/lib/chef/chef_fs/data_handler/group_data_handler.rb +55 -0
  646. data/lib/chef/chef_fs/data_handler/node_data_handler.rb +36 -0
  647. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +35 -0
  648. data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +17 -0
  649. data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +17 -0
  650. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +48 -0
  651. data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +33 -0
  652. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +40 -0
  653. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +29 -0
  654. data/lib/chef/chef_fs/file_pattern.rb +307 -0
  655. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +47 -0
  656. data/lib/chef/chef_fs/file_system/base_fs_object.rb +194 -0
  657. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +65 -0
  658. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +67 -0
  659. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +75 -0
  660. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +196 -0
  661. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +38 -0
  662. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +106 -0
  663. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +211 -0
  664. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +78 -0
  665. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +61 -0
  666. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +42 -0
  667. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +118 -0
  668. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +77 -0
  669. data/lib/chef/chef_fs/file_system/chef_server/data_bag_entry.rb +19 -0
  670. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +67 -0
  671. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +58 -0
  672. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +51 -0
  673. data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +35 -0
  674. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +65 -0
  675. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +64 -0
  676. data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +41 -0
  677. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +159 -0
  678. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +136 -0
  679. data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +43 -0
  680. data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +38 -0
  681. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +177 -0
  682. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +211 -0
  683. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +45 -0
  684. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +111 -0
  685. data/lib/chef/chef_fs/file_system/exceptions.rb +105 -0
  686. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +53 -0
  687. data/lib/chef/chef_fs/file_system/memory/memory_file.rb +20 -0
  688. data/lib/chef/chef_fs/file_system/memory/memory_root.rb +23 -0
  689. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +62 -0
  690. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +32 -0
  691. data/lib/chef/chef_fs/file_system/repository/acl.rb +45 -0
  692. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +50 -0
  693. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +38 -0
  694. data/lib/chef/chef_fs/file_system/repository/base_file.rb +157 -0
  695. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +41 -0
  696. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +153 -0
  697. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +180 -0
  698. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +234 -0
  699. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +43 -0
  700. data/lib/chef/chef_fs/file_system/repository/client.rb +38 -0
  701. data/lib/chef/chef_fs/file_system/repository/client_key.rb +38 -0
  702. data/lib/chef/chef_fs/file_system/repository/client_keys_dir.rb +42 -0
  703. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +38 -0
  704. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +37 -0
  705. data/lib/chef/chef_fs/file_system/repository/container.rb +38 -0
  706. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +37 -0
  707. data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +36 -0
  708. data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +51 -0
  709. data/lib/chef/chef_fs/file_system/repository/data_bag.rb +39 -0
  710. data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +38 -0
  711. data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +39 -0
  712. data/lib/chef/chef_fs/file_system/repository/directory.rb +171 -0
  713. data/lib/chef/chef_fs/file_system/repository/environment.rb +38 -0
  714. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +37 -0
  715. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +153 -0
  716. data/lib/chef/chef_fs/file_system/repository/group.rb +38 -0
  717. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +37 -0
  718. data/lib/chef/chef_fs/file_system/repository/node.rb +38 -0
  719. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +59 -0
  720. data/lib/chef/chef_fs/file_system/repository/policies_dir.rb +42 -0
  721. data/lib/chef/chef_fs/file_system/repository/policy.rb +38 -0
  722. data/lib/chef/chef_fs/file_system/repository/policy_group.rb +38 -0
  723. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +37 -0
  724. data/lib/chef/chef_fs/file_system/repository/role.rb +38 -0
  725. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +37 -0
  726. data/lib/chef/chef_fs/file_system/repository/user.rb +38 -0
  727. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +37 -0
  728. data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +34 -0
  729. data/lib/chef/chef_fs/file_system.rb +445 -0
  730. data/lib/chef/chef_fs/file_system_cache.rb +81 -0
  731. data/lib/chef/chef_fs/path_utils.rb +128 -0
  732. data/lib/chef/chef_fs.rb +59 -0
  733. data/lib/chef/client.rb +1093 -0
  734. data/lib/chef/compliance/default_attributes.rb +110 -0
  735. data/lib/chef/compliance/fetcher/automate.rb +73 -0
  736. data/lib/chef/compliance/fetcher/chef_server.rb +134 -0
  737. data/lib/chef/compliance/input.rb +115 -0
  738. data/lib/chef/compliance/input_collection.rb +139 -0
  739. data/lib/chef/compliance/profile.rb +122 -0
  740. data/lib/chef/compliance/profile_collection.rb +108 -0
  741. data/lib/chef/compliance/reporter/automate.rb +211 -0
  742. data/lib/chef/compliance/reporter/chef_server_automate.rb +99 -0
  743. data/lib/chef/compliance/reporter/cli.rb +77 -0
  744. data/lib/chef/compliance/reporter/compliance_enforcer.rb +24 -0
  745. data/lib/chef/compliance/reporter/json_file.rb +26 -0
  746. data/lib/chef/compliance/runner.rb +409 -0
  747. data/lib/chef/compliance/waiver.rb +115 -0
  748. data/lib/chef/compliance/waiver_collection.rb +143 -0
  749. data/lib/chef/config.rb +85 -0
  750. data/lib/chef/config_fetcher.rb +72 -0
  751. data/lib/chef/constants.rb +28 -0
  752. data/lib/chef/cookbook/chefignore.rb +85 -0
  753. data/lib/chef/cookbook/cookbook_collection.rb +62 -0
  754. data/lib/chef/cookbook/cookbook_version_loader.rb +287 -0
  755. data/lib/chef/cookbook/file_system_file_vendor.rb +58 -0
  756. data/lib/chef/cookbook/file_vendor.rb +71 -0
  757. data/lib/chef/cookbook/gem_installer.rb +104 -0
  758. data/lib/chef/cookbook/manifest_v0.rb +74 -0
  759. data/lib/chef/cookbook/manifest_v2.rb +45 -0
  760. data/lib/chef/cookbook/metadata.rb +778 -0
  761. data/lib/chef/cookbook/remote_file_vendor.rb +86 -0
  762. data/lib/chef/cookbook/synchronizer.rb +347 -0
  763. data/lib/chef/cookbook/syntax_check.rb +264 -0
  764. data/lib/chef/cookbook_loader.rb +223 -0
  765. data/lib/chef/cookbook_manifest.rb +331 -0
  766. data/lib/chef/cookbook_uploader.rb +157 -0
  767. data/lib/chef/cookbook_version.rb +616 -0
  768. data/lib/chef/daemon.rb +131 -0
  769. data/lib/chef/data_bag.rb +174 -0
  770. data/lib/chef/data_bag_item.rb +221 -0
  771. data/lib/chef/data_collector/config_validation.rb +140 -0
  772. data/lib/chef/data_collector/error_handlers.rb +116 -0
  773. data/lib/chef/data_collector/message_helpers.rb +50 -0
  774. data/lib/chef/data_collector/run_end_message.rb +191 -0
  775. data/lib/chef/data_collector/run_start_message.rb +60 -0
  776. data/lib/chef/data_collector.rb +290 -0
  777. data/lib/chef/decorator/lazy.rb +60 -0
  778. data/lib/chef/decorator/lazy_array.rb +59 -0
  779. data/lib/chef/decorator/unchain.rb +43 -0
  780. data/lib/chef/decorator.rb +80 -0
  781. data/lib/chef/delayed_evaluator.rb +29 -0
  782. data/lib/chef/deprecated.rb +276 -0
  783. data/lib/chef/deprecation/warnings.rb +39 -0
  784. data/lib/chef/digester.rb +75 -0
  785. data/lib/chef/dsl/chef_vault.rb +84 -0
  786. data/lib/chef/dsl/cheffish.rb +65 -0
  787. data/lib/chef/dsl/compliance.rb +38 -0
  788. data/lib/chef/dsl/data_query.rb +103 -0
  789. data/lib/chef/dsl/declare_resource.rb +318 -0
  790. data/lib/chef/dsl/definitions.rb +43 -0
  791. data/lib/chef/dsl/include_attribute.rb +57 -0
  792. data/lib/chef/dsl/include_recipe.rb +34 -0
  793. data/lib/chef/dsl/platform_introspection.rb +265 -0
  794. data/lib/chef/dsl/powershell.rb +29 -0
  795. data/lib/chef/dsl/reader_helpers.rb +51 -0
  796. data/lib/chef/dsl/reboot_pending.rb +56 -0
  797. data/lib/chef/dsl/recipe.rb +71 -0
  798. data/lib/chef/dsl/registry_helper.rb +63 -0
  799. data/lib/chef/dsl/render_helpers.rb +44 -0
  800. data/lib/chef/dsl/resources.rb +47 -0
  801. data/lib/chef/dsl/rest_resource.rb +77 -0
  802. data/lib/chef/dsl/secret.rb +170 -0
  803. data/lib/chef/dsl/toml.rb +116 -0
  804. data/lib/chef/dsl/universal.rb +63 -0
  805. data/lib/chef/dsl.rb +7 -0
  806. data/lib/chef/encrypted_data_bag_item/assertions.rb +54 -0
  807. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +57 -0
  808. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +22 -0
  809. data/lib/chef/encrypted_data_bag_item/decryptor.rb +234 -0
  810. data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +37 -0
  811. data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +22 -0
  812. data/lib/chef/encrypted_data_bag_item/encryptor.rb +226 -0
  813. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +22 -0
  814. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +22 -0
  815. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +22 -0
  816. data/lib/chef/encrypted_data_bag_item.rb +160 -0
  817. data/lib/chef/environment.rb +321 -0
  818. data/lib/chef/event_dispatch/base.rb +394 -0
  819. data/lib/chef/event_dispatch/dispatcher.rb +96 -0
  820. data/lib/chef/event_dispatch/dsl.rb +65 -0
  821. data/lib/chef/event_dispatch/events_output_stream.rb +37 -0
  822. data/lib/chef/event_loggers/base.rb +63 -0
  823. data/lib/chef/event_loggers/windows_eventlog.rb +102 -0
  824. data/lib/chef/exceptions.rb +573 -0
  825. data/lib/chef/file_access_control/unix.rb +293 -0
  826. data/lib/chef/file_access_control/windows.rb +350 -0
  827. data/lib/chef/file_access_control.rb +75 -0
  828. data/lib/chef/file_cache.rb +239 -0
  829. data/lib/chef/file_content_management/content_base.rb +58 -0
  830. data/lib/chef/file_content_management/deploy/cp.rb +48 -0
  831. data/lib/chef/file_content_management/deploy/mv_unix.rb +77 -0
  832. data/lib/chef/file_content_management/deploy/mv_windows.rb +103 -0
  833. data/lib/chef/file_content_management/deploy.rb +37 -0
  834. data/lib/chef/file_content_management/tempfile.rb +107 -0
  835. data/lib/chef/formatters/base.rb +245 -0
  836. data/lib/chef/formatters/doc.rb +438 -0
  837. data/lib/chef/formatters/error_description.rb +86 -0
  838. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +185 -0
  839. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +154 -0
  840. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +169 -0
  841. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +82 -0
  842. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +129 -0
  843. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +148 -0
  844. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +125 -0
  845. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +122 -0
  846. data/lib/chef/formatters/error_inspectors.rb +19 -0
  847. data/lib/chef/formatters/error_mapper.rb +85 -0
  848. data/lib/chef/formatters/indentable_output_stream.rb +173 -0
  849. data/lib/chef/formatters/minimal.rb +216 -0
  850. data/lib/chef/group.rb +75 -0
  851. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +46 -0
  852. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +129 -0
  853. data/lib/chef/guard_interpreter.rb +32 -0
  854. data/lib/chef/handler/error_report.rb +33 -0
  855. data/lib/chef/handler/json_file.rb +62 -0
  856. data/lib/chef/handler/slow_report.rb +66 -0
  857. data/lib/chef/handler.rb +305 -0
  858. data/lib/chef/http/api_versions.rb +55 -0
  859. data/lib/chef/http/auth_credentials.rb +64 -0
  860. data/lib/chef/http/authenticator.rb +370 -0
  861. data/lib/chef/http/basic_client.rb +167 -0
  862. data/lib/chef/http/cookie_jar.rb +31 -0
  863. data/lib/chef/http/cookie_manager.rb +59 -0
  864. data/lib/chef/http/decompressor.rb +143 -0
  865. data/lib/chef/http/http_request.rb +193 -0
  866. data/lib/chef/http/json_input.rb +73 -0
  867. data/lib/chef/http/json_output.rb +82 -0
  868. data/lib/chef/http/json_to_model_output.rb +34 -0
  869. data/lib/chef/http/remote_request_id.rb +45 -0
  870. data/lib/chef/http/simple.rb +40 -0
  871. data/lib/chef/http/simple_json.rb +43 -0
  872. data/lib/chef/http/socketless_chef_zero_client.rb +214 -0
  873. data/lib/chef/http/ssl_policies.rb +170 -0
  874. data/lib/chef/http/validate_content_length.rb +114 -0
  875. data/lib/chef/http.rb +555 -0
  876. data/lib/chef/json_compat.rb +63 -0
  877. data/lib/chef/key.rb +271 -0
  878. data/lib/chef/local_mode.rb +127 -0
  879. data/lib/chef/log/syslog.rb +46 -0
  880. data/lib/chef/log/winevt.rb +99 -0
  881. data/lib/chef/log.rb +75 -0
  882. data/lib/chef/mash.rb +21 -0
  883. data/lib/chef/mixin/api_version_request_handling.rb +64 -0
  884. data/lib/chef/mixin/checksum.rb +42 -0
  885. data/lib/chef/mixin/chef_utils_wiring.rb +40 -0
  886. data/lib/chef/mixin/convert_to_class_name.rb +71 -0
  887. data/lib/chef/mixin/create_path.rb +71 -0
  888. data/lib/chef/mixin/deep_merge.rb +157 -0
  889. data/lib/chef/mixin/default_paths.rb +32 -0
  890. data/lib/chef/mixin/deprecation.rb +117 -0
  891. data/lib/chef/mixin/descendants_tracker.rb +81 -0
  892. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +39 -0
  893. data/lib/chef/mixin/file_class.rb +35 -0
  894. data/lib/chef/mixin/from_file.rb +55 -0
  895. data/lib/chef/mixin/get_source_from_package.rb +48 -0
  896. data/lib/chef/mixin/homebrew.rb +87 -0
  897. data/lib/chef/mixin/lazy_module_include.rb +77 -0
  898. data/lib/chef/mixin/notifying_block.rb +51 -0
  899. data/lib/chef/mixin/openssl_helper.rb +437 -0
  900. data/lib/chef/mixin/params_validate.rb +506 -0
  901. data/lib/chef/mixin/path_sanity.rb +31 -0
  902. data/lib/chef/mixin/powershell_exec.rb +106 -0
  903. data/lib/chef/mixin/powershell_out.rb +105 -0
  904. data/lib/chef/mixin/powershell_type_coercions.rb +84 -0
  905. data/lib/chef/mixin/properties.rb +380 -0
  906. data/lib/chef/mixin/provides.rb +29 -0
  907. data/lib/chef/mixin/proxified_socket.rb +42 -0
  908. data/lib/chef/mixin/securable.rb +192 -0
  909. data/lib/chef/mixin/shell_out.rb +28 -0
  910. data/lib/chef/mixin/subclass_directive.rb +37 -0
  911. data/lib/chef/mixin/template.rb +267 -0
  912. data/lib/chef/mixin/unformatter.rb +32 -0
  913. data/lib/chef/mixin/uris.rb +44 -0
  914. data/lib/chef/mixin/user_context.rb +55 -0
  915. data/lib/chef/mixin/versioned_api.rb +83 -0
  916. data/lib/chef/mixin/which.rb +39 -0
  917. data/lib/chef/mixin/why_run.rb +332 -0
  918. data/lib/chef/mixin/wide_string.rb +54 -0
  919. data/lib/chef/mixin/windows_architecture_helper.rb +113 -0
  920. data/lib/chef/mixin/windows_env_helper.rb +67 -0
  921. data/lib/chef/mixin/xml_escape.rb +138 -0
  922. data/lib/chef/mixins.rb +13 -0
  923. data/lib/chef/monkey_patches/net-http.rb +127 -0
  924. data/lib/chef/monkey_patches/webrick-utils.rb +53 -0
  925. data/lib/chef/monkey_patches/win32/registry.rb +60 -0
  926. data/lib/chef/monologger.rb +4 -0
  927. data/lib/chef/node/attribute.rb +673 -0
  928. data/lib/chef/node/attribute_collections.rb +191 -0
  929. data/lib/chef/node/common_api.rb +129 -0
  930. data/lib/chef/node/immutable_collections.rb +218 -0
  931. data/lib/chef/node/mixin/deep_merge_cache.rb +65 -0
  932. data/lib/chef/node/mixin/immutablize_array.rb +185 -0
  933. data/lib/chef/node/mixin/immutablize_hash.rb +171 -0
  934. data/lib/chef/node/mixin/mashy_array.rb +68 -0
  935. data/lib/chef/node/mixin/state_tracking.rb +99 -0
  936. data/lib/chef/node/mixin/state_tracking_array.rb +41 -0
  937. data/lib/chef/node.rb +796 -0
  938. data/lib/chef/node_map.rb +331 -0
  939. data/lib/chef/null_logger.rb +71 -0
  940. data/lib/chef/org.rb +145 -0
  941. data/lib/chef/platform/priority_map.rb +41 -0
  942. data/lib/chef/platform/provider_handler_map.rb +29 -0
  943. data/lib/chef/platform/provider_mapping.rb +55 -0
  944. data/lib/chef/platform/provider_priority_map.rb +11 -0
  945. data/lib/chef/platform/query_helpers.rb +79 -0
  946. data/lib/chef/platform/rebooter.rb +71 -0
  947. data/lib/chef/platform/resource_handler_map.rb +29 -0
  948. data/lib/chef/platform/resource_priority_map.rb +11 -0
  949. data/lib/chef/platform/service_helpers.rb +57 -0
  950. data/lib/chef/platform.rb +30 -0
  951. data/lib/chef/policy_builder/dynamic.rb +188 -0
  952. data/lib/chef/policy_builder/expand_node_object.rb +260 -0
  953. data/lib/chef/policy_builder/policyfile.rb +623 -0
  954. data/lib/chef/policy_builder.rb +42 -0
  955. data/lib/chef/property.rb +777 -0
  956. data/lib/chef/provider/batch.rb +38 -0
  957. data/lib/chef/provider/cookbook_file/content.rb +49 -0
  958. data/lib/chef/provider/cookbook_file.rb +48 -0
  959. data/lib/chef/provider/cron/aix.rb +57 -0
  960. data/lib/chef/provider/cron/solaris.rb +22 -0
  961. data/lib/chef/provider/cron/unix.rb +82 -0
  962. data/lib/chef/provider/cron.rb +286 -0
  963. data/lib/chef/provider/directory.rb +164 -0
  964. data/lib/chef/provider/dsc_resource.rb +196 -0
  965. data/lib/chef/provider/dsc_script.rb +181 -0
  966. data/lib/chef/provider/execute.rb +126 -0
  967. data/lib/chef/provider/file/content.rb +39 -0
  968. data/lib/chef/provider/file.rb +486 -0
  969. data/lib/chef/provider/git.rb +423 -0
  970. data/lib/chef/provider/group/aix.rb +81 -0
  971. data/lib/chef/provider/group/dscl.rb +180 -0
  972. data/lib/chef/provider/group/gpasswd.rb +58 -0
  973. data/lib/chef/provider/group/groupadd.rb +134 -0
  974. data/lib/chef/provider/group/groupmod.rb +123 -0
  975. data/lib/chef/provider/group/pw.rb +137 -0
  976. data/lib/chef/provider/group/solaris.rb +62 -0
  977. data/lib/chef/provider/group/usermod.rb +85 -0
  978. data/lib/chef/provider/group/windows.rb +121 -0
  979. data/lib/chef/provider/group.rb +189 -0
  980. data/lib/chef/provider/http_request.rb +134 -0
  981. data/lib/chef/provider/ifconfig/aix.rb +95 -0
  982. data/lib/chef/provider/ifconfig/debian.rb +105 -0
  983. data/lib/chef/provider/ifconfig/redhat.rb +90 -0
  984. data/lib/chef/provider/ifconfig.rb +285 -0
  985. data/lib/chef/provider/launchd.rb +207 -0
  986. data/lib/chef/provider/link.rb +159 -0
  987. data/lib/chef/provider/lwrp_base.rb +88 -0
  988. data/lib/chef/provider/mount/aix.rb +221 -0
  989. data/lib/chef/provider/mount/linux.rb +86 -0
  990. data/lib/chef/provider/mount/mount.rb +290 -0
  991. data/lib/chef/provider/mount/solaris.rb +274 -0
  992. data/lib/chef/provider/mount/windows.rb +92 -0
  993. data/lib/chef/provider/mount.rb +196 -0
  994. data/lib/chef/provider/noop.rb +37 -0
  995. data/lib/chef/provider/package/apt.rb +270 -0
  996. data/lib/chef/provider/package/bff.rb +143 -0
  997. data/lib/chef/provider/package/cab.rb +188 -0
  998. data/lib/chef/provider/package/chocolatey.rb +536 -0
  999. data/lib/chef/provider/package/deb.rb +131 -0
  1000. data/lib/chef/provider/package/dnf/dnf_helper.py +191 -0
  1001. data/lib/chef/provider/package/dnf/python_helper.rb +221 -0
  1002. data/lib/chef/provider/package/dnf/version.rb +60 -0
  1003. data/lib/chef/provider/package/dnf.rb +279 -0
  1004. data/lib/chef/provider/package/dpkg.rb +218 -0
  1005. data/lib/chef/provider/package/freebsd/base.rb +92 -0
  1006. data/lib/chef/provider/package/freebsd/pkgng.rb +78 -0
  1007. data/lib/chef/provider/package/freebsd/port.rb +56 -0
  1008. data/lib/chef/provider/package/habitat.rb +168 -0
  1009. data/lib/chef/provider/package/homebrew.rb +198 -0
  1010. data/lib/chef/provider/package/ips.rb +85 -0
  1011. data/lib/chef/provider/package/macports.rb +100 -0
  1012. data/lib/chef/provider/package/msu.rb +166 -0
  1013. data/lib/chef/provider/package/openbsd.rb +139 -0
  1014. data/lib/chef/provider/package/pacman.rb +94 -0
  1015. data/lib/chef/provider/package/paludis.rb +86 -0
  1016. data/lib/chef/provider/package/portage.rb +134 -0
  1017. data/lib/chef/provider/package/powershell.rb +146 -0
  1018. data/lib/chef/provider/package/rpm.rb +127 -0
  1019. data/lib/chef/provider/package/rubygems.rb +648 -0
  1020. data/lib/chef/provider/package/smartos.rb +93 -0
  1021. data/lib/chef/provider/package/snap.rb +428 -0
  1022. data/lib/chef/provider/package/solaris.rb +137 -0
  1023. data/lib/chef/provider/package/windows/exe.rb +117 -0
  1024. data/lib/chef/provider/package/windows/msi.rb +97 -0
  1025. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +102 -0
  1026. data/lib/chef/provider/package/windows.rb +296 -0
  1027. data/lib/chef/provider/package/yum/python_helper.rb +302 -0
  1028. data/lib/chef/provider/package/yum/rpm_utils.rb +641 -0
  1029. data/lib/chef/provider/package/yum/version.rb +60 -0
  1030. data/lib/chef/provider/package/yum/yum_cache.rb +93 -0
  1031. data/lib/chef/provider/package/yum/yum_helper.py +192 -0
  1032. data/lib/chef/provider/package/yum.rb +306 -0
  1033. data/lib/chef/provider/package/zypper/version.rb +60 -0
  1034. data/lib/chef/provider/package/zypper.rb +244 -0
  1035. data/lib/chef/provider/package.rb +669 -0
  1036. data/lib/chef/provider/powershell_script.rb +300 -0
  1037. data/lib/chef/provider/registry_key.rb +201 -0
  1038. data/lib/chef/provider/remote_directory.rb +269 -0
  1039. data/lib/chef/provider/remote_file/cache_control_data.rb +195 -0
  1040. data/lib/chef/provider/remote_file/content.rb +84 -0
  1041. data/lib/chef/provider/remote_file/fetcher.rb +61 -0
  1042. data/lib/chef/provider/remote_file/ftp.rb +175 -0
  1043. data/lib/chef/provider/remote_file/http.rb +146 -0
  1044. data/lib/chef/provider/remote_file/local_file.rb +61 -0
  1045. data/lib/chef/provider/remote_file/network_file.rb +61 -0
  1046. data/lib/chef/provider/remote_file/sftp.rb +108 -0
  1047. data/lib/chef/provider/remote_file.rb +67 -0
  1048. data/lib/chef/provider/resource_update.rb +52 -0
  1049. data/lib/chef/provider/route.rb +248 -0
  1050. data/lib/chef/provider/ruby_block.rb +40 -0
  1051. data/lib/chef/provider/script.rb +46 -0
  1052. data/lib/chef/provider/service/aix.rb +125 -0
  1053. data/lib/chef/provider/service/aixinit.rb +117 -0
  1054. data/lib/chef/provider/service/arch.rb +119 -0
  1055. data/lib/chef/provider/service/debian.rb +197 -0
  1056. data/lib/chef/provider/service/freebsd.rb +188 -0
  1057. data/lib/chef/provider/service/gentoo.rb +70 -0
  1058. data/lib/chef/provider/service/init.rb +93 -0
  1059. data/lib/chef/provider/service/insserv.rb +61 -0
  1060. data/lib/chef/provider/service/invokercd.rb +41 -0
  1061. data/lib/chef/provider/service/macosx.rb +258 -0
  1062. data/lib/chef/provider/service/openbsd.rb +213 -0
  1063. data/lib/chef/provider/service/redhat.rb +126 -0
  1064. data/lib/chef/provider/service/simple.rb +173 -0
  1065. data/lib/chef/provider/service/solaris.rb +127 -0
  1066. data/lib/chef/provider/service/systemd.rb +250 -0
  1067. data/lib/chef/provider/service/upstart.rb +250 -0
  1068. data/lib/chef/provider/service/windows.rb +480 -0
  1069. data/lib/chef/provider/service.rb +269 -0
  1070. data/lib/chef/provider/subversion.rb +248 -0
  1071. data/lib/chef/provider/support/yum_repo.erb +138 -0
  1072. data/lib/chef/provider/support/zypper_repo.erb +19 -0
  1073. data/lib/chef/provider/systemd_unit.rb +312 -0
  1074. data/lib/chef/provider/template/content.rb +90 -0
  1075. data/lib/chef/provider/template.rb +60 -0
  1076. data/lib/chef/provider/template_finder.rb +54 -0
  1077. data/lib/chef/provider/user/aix.rb +139 -0
  1078. data/lib/chef/provider/user/dscl.rb +637 -0
  1079. data/lib/chef/provider/user/linux.rb +151 -0
  1080. data/lib/chef/provider/user/mac.rb +677 -0
  1081. data/lib/chef/provider/user/pw.rb +106 -0
  1082. data/lib/chef/provider/user/solaris.rb +162 -0
  1083. data/lib/chef/provider/user/windows.rb +137 -0
  1084. data/lib/chef/provider/user.rb +273 -0
  1085. data/lib/chef/provider/whyrun_safe_ruby_block.rb +32 -0
  1086. data/lib/chef/provider/windows_script.rb +137 -0
  1087. data/lib/chef/provider/yum_repository.rb +125 -0
  1088. data/lib/chef/provider/zypper_repository.rb +184 -0
  1089. data/lib/chef/provider.rb +484 -0
  1090. data/lib/chef/provider_resolver.rb +152 -0
  1091. data/lib/chef/providers.rb +137 -0
  1092. data/lib/chef/pwsh.rb +72 -0
  1093. data/lib/chef/recipe.rb +124 -0
  1094. data/lib/chef/request_id.rb +37 -0
  1095. data/lib/chef/reserved_names.rb +9 -0
  1096. data/lib/chef/resource/_rest_resource.rb +389 -0
  1097. data/lib/chef/resource/action_class.rb +92 -0
  1098. data/lib/chef/resource/alternatives.rb +209 -0
  1099. data/lib/chef/resource/apt_package.rb +99 -0
  1100. data/lib/chef/resource/apt_preference.rb +147 -0
  1101. data/lib/chef/resource/apt_repository.rb +523 -0
  1102. data/lib/chef/resource/apt_update.rb +108 -0
  1103. data/lib/chef/resource/archive_file.rb +206 -0
  1104. data/lib/chef/resource/bash.rb +167 -0
  1105. data/lib/chef/resource/batch.rb +37 -0
  1106. data/lib/chef/resource/bff_package.rb +60 -0
  1107. data/lib/chef/resource/breakpoint.rb +105 -0
  1108. data/lib/chef/resource/build_essential.rb +182 -0
  1109. data/lib/chef/resource/cab_package.rb +80 -0
  1110. data/lib/chef/resource/chef_client_config.rb +343 -0
  1111. data/lib/chef/resource/chef_client_cron.rb +234 -0
  1112. data/lib/chef/resource/chef_client_launchd.rb +194 -0
  1113. data/lib/chef/resource/chef_client_scheduled_task.rb +259 -0
  1114. data/lib/chef/resource/chef_client_systemd_timer.rb +191 -0
  1115. data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
  1116. data/lib/chef/resource/chef_gem.rb +94 -0
  1117. data/lib/chef/resource/chef_handler.rb +278 -0
  1118. data/lib/chef/resource/chef_sleep.rb +70 -0
  1119. data/lib/chef/resource/chef_vault_secret.rb +129 -0
  1120. data/lib/chef/resource/chocolatey_config.rb +97 -0
  1121. data/lib/chef/resource/chocolatey_feature.rb +92 -0
  1122. data/lib/chef/resource/chocolatey_installer.rb +207 -0
  1123. data/lib/chef/resource/chocolatey_package.rb +90 -0
  1124. data/lib/chef/resource/chocolatey_source.rb +163 -0
  1125. data/lib/chef/resource/conditional.rb +135 -0
  1126. data/lib/chef/resource/conditional_action_not_nothing.rb +48 -0
  1127. data/lib/chef/resource/cookbook_file.rb +47 -0
  1128. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  1129. data/lib/chef/resource/cron/cron.rb +119 -0
  1130. data/lib/chef/resource/cron/cron_d.rb +201 -0
  1131. data/lib/chef/resource/cron_access.rb +99 -0
  1132. data/lib/chef/resource/csh.rb +41 -0
  1133. data/lib/chef/resource/directory.rb +52 -0
  1134. data/lib/chef/resource/dmg_package.rb +199 -0
  1135. data/lib/chef/resource/dnf_package.rb +76 -0
  1136. data/lib/chef/resource/dpkg_package.rb +46 -0
  1137. data/lib/chef/resource/dsc_resource.rb +121 -0
  1138. data/lib/chef/resource/dsc_script.rb +137 -0
  1139. data/lib/chef/resource/execute.rb +677 -0
  1140. data/lib/chef/resource/file/verification/json.rb +50 -0
  1141. data/lib/chef/resource/file/verification/systemd_unit.rb +68 -0
  1142. data/lib/chef/resource/file/verification/yaml.rb +52 -0
  1143. data/lib/chef/resource/file/verification.rb +144 -0
  1144. data/lib/chef/resource/file.rb +111 -0
  1145. data/lib/chef/resource/freebsd_package.rb +54 -0
  1146. data/lib/chef/resource/gem_package.rb +102 -0
  1147. data/lib/chef/resource/group.rb +87 -0
  1148. data/lib/chef/resource/habitat/_habitat_shared.rb +28 -0
  1149. data/lib/chef/resource/habitat/habitat_package.rb +128 -0
  1150. data/lib/chef/resource/habitat/habitat_sup.rb +328 -0
  1151. data/lib/chef/resource/habitat/habitat_sup_systemd.rb +67 -0
  1152. data/lib/chef/resource/habitat/habitat_sup_windows.rb +90 -0
  1153. data/lib/chef/resource/habitat_config.rb +106 -0
  1154. data/lib/chef/resource/habitat_install.rb +247 -0
  1155. data/lib/chef/resource/habitat_service.rb +450 -0
  1156. data/lib/chef/resource/habitat_user_toml.rb +91 -0
  1157. data/lib/chef/resource/helpers/cron_validations.rb +101 -0
  1158. data/lib/chef/resource/homebrew_cask.rb +98 -0
  1159. data/lib/chef/resource/homebrew_package.rb +70 -0
  1160. data/lib/chef/resource/homebrew_tap.rb +98 -0
  1161. data/lib/chef/resource/homebrew_update.rb +108 -0
  1162. data/lib/chef/resource/hostname.rb +305 -0
  1163. data/lib/chef/resource/http_request.rb +55 -0
  1164. data/lib/chef/resource/ifconfig.rb +153 -0
  1165. data/lib/chef/resource/inspec_input.rb +126 -0
  1166. data/lib/chef/resource/inspec_waiver.rb +183 -0
  1167. data/lib/chef/resource/inspec_waiver_file_entry.rb +155 -0
  1168. data/lib/chef/resource/ips_package.rb +45 -0
  1169. data/lib/chef/resource/kernel_module.rb +240 -0
  1170. data/lib/chef/resource/ksh.rb +42 -0
  1171. data/lib/chef/resource/launchd.rb +260 -0
  1172. data/lib/chef/resource/link.rb +71 -0
  1173. data/lib/chef/resource/locale.rb +185 -0
  1174. data/lib/chef/resource/log.rb +65 -0
  1175. data/lib/chef/resource/lwrp_base.rb +138 -0
  1176. data/lib/chef/resource/macos_pkg.rb +111 -0
  1177. data/lib/chef/resource/macos_userdefaults.rb +165 -0
  1178. data/lib/chef/resource/macosx_service.rb +37 -0
  1179. data/lib/chef/resource/macports_package.rb +38 -0
  1180. data/lib/chef/resource/mdadm.rb +172 -0
  1181. data/lib/chef/resource/mount.rb +105 -0
  1182. data/lib/chef/resource/msu_package.rb +65 -0
  1183. data/lib/chef/resource/notify_group.rb +72 -0
  1184. data/lib/chef/resource/ohai.rb +98 -0
  1185. data/lib/chef/resource/ohai_hint.rb +118 -0
  1186. data/lib/chef/resource/openbsd_package.rb +61 -0
  1187. data/lib/chef/resource/openssl_dhparam.rb +107 -0
  1188. data/lib/chef/resource/openssl_ec_private_key.rb +115 -0
  1189. data/lib/chef/resource/openssl_ec_public_key.rb +92 -0
  1190. data/lib/chef/resource/openssl_rsa_private_key.rb +111 -0
  1191. data/lib/chef/resource/openssl_rsa_public_key.rb +93 -0
  1192. data/lib/chef/resource/openssl_x509_certificate.rb +262 -0
  1193. data/lib/chef/resource/openssl_x509_crl.rb +148 -0
  1194. data/lib/chef/resource/openssl_x509_request.rb +183 -0
  1195. data/lib/chef/resource/osx_profile.rb +334 -0
  1196. data/lib/chef/resource/package.rb +65 -0
  1197. data/lib/chef/resource/pacman_package.rb +32 -0
  1198. data/lib/chef/resource/paludis_package.rb +46 -0
  1199. data/lib/chef/resource/perl.rb +40 -0
  1200. data/lib/chef/resource/plist.rb +226 -0
  1201. data/lib/chef/resource/portage_package.rb +44 -0
  1202. data/lib/chef/resource/powershell_package.rb +53 -0
  1203. data/lib/chef/resource/powershell_package_source.rb +332 -0
  1204. data/lib/chef/resource/powershell_script.rb +87 -0
  1205. data/lib/chef/resource/python.rb +38 -0
  1206. data/lib/chef/resource/reboot.rb +120 -0
  1207. data/lib/chef/resource/registry_key.rb +211 -0
  1208. data/lib/chef/resource/remote_directory.rb +86 -0
  1209. data/lib/chef/resource/remote_file.rb +295 -0
  1210. data/lib/chef/resource/resource_notification.rb +144 -0
  1211. data/lib/chef/resource/rhsm_errata.rb +62 -0
  1212. data/lib/chef/resource/rhsm_errata_level.rb +60 -0
  1213. data/lib/chef/resource/rhsm_register.rb +249 -0
  1214. data/lib/chef/resource/rhsm_repo.rb +76 -0
  1215. data/lib/chef/resource/rhsm_subscription.rb +94 -0
  1216. data/lib/chef/resource/route.rb +59 -0
  1217. data/lib/chef/resource/rpm_package.rb +44 -0
  1218. data/lib/chef/resource/ruby.rb +35 -0
  1219. data/lib/chef/resource/ruby_block.rb +146 -0
  1220. data/lib/chef/resource/scm/_scm.rb +48 -0
  1221. data/lib/chef/resource/scm/git.rb +142 -0
  1222. data/lib/chef/resource/scm/subversion.rb +71 -0
  1223. data/lib/chef/resource/script.rb +58 -0
  1224. data/lib/chef/resource/selinux/common_helpers.rb +47 -0
  1225. data/lib/chef/resource/selinux/selinux_debian.erb +18 -0
  1226. data/lib/chef/resource/selinux/selinux_default.erb +15 -0
  1227. data/lib/chef/resource/selinux_boolean.rb +101 -0
  1228. data/lib/chef/resource/selinux_fcontext.rb +160 -0
  1229. data/lib/chef/resource/selinux_install.rb +107 -0
  1230. data/lib/chef/resource/selinux_login.rb +129 -0
  1231. data/lib/chef/resource/selinux_module.rb +143 -0
  1232. data/lib/chef/resource/selinux_permissive.rb +64 -0
  1233. data/lib/chef/resource/selinux_port.rb +118 -0
  1234. data/lib/chef/resource/selinux_state.rb +166 -0
  1235. data/lib/chef/resource/selinux_user.rb +137 -0
  1236. data/lib/chef/resource/service.rb +135 -0
  1237. data/lib/chef/resource/smartos_package.rb +40 -0
  1238. data/lib/chef/resource/snap_package.rb +62 -0
  1239. data/lib/chef/resource/solaris_package.rb +40 -0
  1240. data/lib/chef/resource/ssh_known_hosts_entry.rb +160 -0
  1241. data/lib/chef/resource/sudo.rb +297 -0
  1242. data/lib/chef/resource/support/HabService.dll.config.erb +19 -0
  1243. data/lib/chef/resource/support/client.erb +78 -0
  1244. data/lib/chef/resource/support/cron.d.erb +28 -0
  1245. data/lib/chef/resource/support/cron_access.erb +4 -0
  1246. data/lib/chef/resource/support/ssh_known_hosts.erb +3 -0
  1247. data/lib/chef/resource/support/sudoer.erb +17 -0
  1248. data/lib/chef/resource/support/sup.toml.erb +179 -0
  1249. data/lib/chef/resource/support/ulimit.erb +81 -0
  1250. data/lib/chef/resource/swap_file.rb +223 -0
  1251. data/lib/chef/resource/sysctl.rb +229 -0
  1252. data/lib/chef/resource/systemd_unit.rb +130 -0
  1253. data/lib/chef/resource/template.rb +212 -0
  1254. data/lib/chef/resource/timezone.rb +175 -0
  1255. data/lib/chef/resource/user/aix_user.rb +30 -0
  1256. data/lib/chef/resource/user/linux_user.rb +31 -0
  1257. data/lib/chef/resource/user/mac_user.rb +121 -0
  1258. data/lib/chef/resource/user/pw_user.rb +30 -0
  1259. data/lib/chef/resource/user/solaris_user.rb +30 -0
  1260. data/lib/chef/resource/user/windows_user.rb +39 -0
  1261. data/lib/chef/resource/user.rb +87 -0
  1262. data/lib/chef/resource/user_ulimit.rb +154 -0
  1263. data/lib/chef/resource/whyrun_safe_ruby_block.rb +25 -0
  1264. data/lib/chef/resource/windows_ad_join.rb +236 -0
  1265. data/lib/chef/resource/windows_audit_policy.rb +230 -0
  1266. data/lib/chef/resource/windows_auto_run.rb +95 -0
  1267. data/lib/chef/resource/windows_certificate.rb +531 -0
  1268. data/lib/chef/resource/windows_defender.rb +162 -0
  1269. data/lib/chef/resource/windows_defender_exclusion.rb +124 -0
  1270. data/lib/chef/resource/windows_dfs_folder.rb +72 -0
  1271. data/lib/chef/resource/windows_dfs_namespace.rb +110 -0
  1272. data/lib/chef/resource/windows_dfs_server.rb +77 -0
  1273. data/lib/chef/resource/windows_dns_record.rb +90 -0
  1274. data/lib/chef/resource/windows_dns_zone.rb +79 -0
  1275. data/lib/chef/resource/windows_env.rb +230 -0
  1276. data/lib/chef/resource/windows_feature.rb +142 -0
  1277. data/lib/chef/resource/windows_feature_dism.rb +226 -0
  1278. data/lib/chef/resource/windows_feature_powershell.rb +240 -0
  1279. data/lib/chef/resource/windows_firewall_profile.rb +194 -0
  1280. data/lib/chef/resource/windows_firewall_rule.rb +336 -0
  1281. data/lib/chef/resource/windows_font.rb +132 -0
  1282. data/lib/chef/resource/windows_package.rb +172 -0
  1283. data/lib/chef/resource/windows_pagefile.rb +278 -0
  1284. data/lib/chef/resource/windows_path.rb +91 -0
  1285. data/lib/chef/resource/windows_printer.rb +184 -0
  1286. data/lib/chef/resource/windows_printer_port.rb +148 -0
  1287. data/lib/chef/resource/windows_script.rb +50 -0
  1288. data/lib/chef/resource/windows_security_policy.rb +167 -0
  1289. data/lib/chef/resource/windows_service.rb +236 -0
  1290. data/lib/chef/resource/windows_share.rb +337 -0
  1291. data/lib/chef/resource/windows_shortcut.rb +87 -0
  1292. data/lib/chef/resource/windows_task.rb +1096 -0
  1293. data/lib/chef/resource/windows_uac.rb +113 -0
  1294. data/lib/chef/resource/windows_update_settings.rb +258 -0
  1295. data/lib/chef/resource/windows_user_privilege.rb +236 -0
  1296. data/lib/chef/resource/windows_workgroup.rb +128 -0
  1297. data/lib/chef/resource/yum_package.rb +160 -0
  1298. data/lib/chef/resource/yum_repository.rb +213 -0
  1299. data/lib/chef/resource/zypper_package.rb +74 -0
  1300. data/lib/chef/resource/zypper_repository.rb +135 -0
  1301. data/lib/chef/resource.rb +1649 -0
  1302. data/lib/chef/resource_builder.rb +107 -0
  1303. data/lib/chef/resource_collection/resource_collection_serialization.rb +69 -0
  1304. data/lib/chef/resource_collection/resource_list.rb +108 -0
  1305. data/lib/chef/resource_collection/resource_set.rb +200 -0
  1306. data/lib/chef/resource_collection/stepable_iterator.rb +122 -0
  1307. data/lib/chef/resource_collection.rb +155 -0
  1308. data/lib/chef/resource_definition.rb +70 -0
  1309. data/lib/chef/resource_definition_list.rb +38 -0
  1310. data/lib/chef/resource_inspector.rb +144 -0
  1311. data/lib/chef/resource_reporter.rb +243 -0
  1312. data/lib/chef/resource_resolver.rb +153 -0
  1313. data/lib/chef/resources.rb +197 -0
  1314. data/lib/chef/role.rb +275 -0
  1315. data/lib/chef/run_context/cookbook_compiler.rb +455 -0
  1316. data/lib/chef/run_context.rb +799 -0
  1317. data/lib/chef/run_list/run_list_expansion.rb +237 -0
  1318. data/lib/chef/run_list/run_list_item.rb +98 -0
  1319. data/lib/chef/run_list/versioned_recipe_list.rb +104 -0
  1320. data/lib/chef/run_list.rb +169 -0
  1321. data/lib/chef/run_lock.rb +198 -0
  1322. data/lib/chef/run_status.rb +124 -0
  1323. data/lib/chef/runner.rb +184 -0
  1324. data/lib/chef/sandbox.rb +20 -0
  1325. data/lib/chef/scan_access_control.rb +138 -0
  1326. data/lib/chef/search/query.rb +180 -0
  1327. data/lib/chef/secret_fetcher/akeyless_vault.rb +57 -0
  1328. data/lib/chef/secret_fetcher/aws_secrets_manager.rb +65 -0
  1329. data/lib/chef/secret_fetcher/azure_key_vault.rb +134 -0
  1330. data/lib/chef/secret_fetcher/base.rb +76 -0
  1331. data/lib/chef/secret_fetcher/example.rb +46 -0
  1332. data/lib/chef/secret_fetcher/hashi_vault.rb +134 -0
  1333. data/lib/chef/secret_fetcher.rb +60 -0
  1334. data/lib/chef/server_api.rb +79 -0
  1335. data/lib/chef/server_api_versions.rb +63 -0
  1336. data/lib/chef/shell/ext.rb +592 -0
  1337. data/lib/chef/shell/model_wrapper.rb +121 -0
  1338. data/lib/chef/shell/shell_session.rb +313 -0
  1339. data/lib/chef/shell.rb +411 -0
  1340. data/lib/chef/train_transport.rb +29 -0
  1341. data/lib/chef/user.rb +193 -0
  1342. data/lib/chef/user_v1.rb +326 -0
  1343. data/lib/chef/util/backup.rb +94 -0
  1344. data/lib/chef/util/diff.rb +186 -0
  1345. data/lib/chef/util/dsc/configuration_generator.rb +181 -0
  1346. data/lib/chef/util/dsc/lcm_output_parser.rb +189 -0
  1347. data/lib/chef/util/dsc/local_configuration_manager.rb +154 -0
  1348. data/lib/chef/util/dsc/resource_info.rb +26 -0
  1349. data/lib/chef/util/dsc/resource_store.rb +103 -0
  1350. data/lib/chef/util/editor.rb +91 -0
  1351. data/lib/chef/util/file_edit.rb +101 -0
  1352. data/lib/chef/util/path_helper.rb +25 -0
  1353. data/lib/chef/util/powershell/ps_credential.rb +45 -0
  1354. data/lib/chef/util/selinux.rb +93 -0
  1355. data/lib/chef/util/threaded_job_queue.rb +59 -0
  1356. data/lib/chef/util/windows/logon_session.rb +129 -0
  1357. data/lib/chef/util/windows/net_group.rb +78 -0
  1358. data/lib/chef/util/windows/net_use.rb +81 -0
  1359. data/lib/chef/util/windows/net_user.rb +173 -0
  1360. data/lib/chef/util/windows/volume.rb +49 -0
  1361. data/lib/chef/util/windows.rb +24 -0
  1362. data/lib/chef/version/platform.rb +62 -0
  1363. data/lib/chef/version.rb +36 -0
  1364. data/lib/chef/version_class.rb +75 -0
  1365. data/lib/chef/version_constraint/platform.rb +28 -0
  1366. data/lib/chef/version_constraint.rb +118 -0
  1367. data/lib/chef/version_string.rb +20 -0
  1368. data/lib/chef/win32/api/command_line_helper.rb +89 -0
  1369. data/lib/chef/win32/api/crypto.rb +63 -0
  1370. data/lib/chef/win32/api/error.rb +955 -0
  1371. data/lib/chef/win32/api/file.rb +624 -0
  1372. data/lib/chef/win32/api/installer.rb +165 -0
  1373. data/lib/chef/win32/api/memory.rb +105 -0
  1374. data/lib/chef/win32/api/net.rb +329 -0
  1375. data/lib/chef/win32/api/process.rb +42 -0
  1376. data/lib/chef/win32/api/psapi.rb +51 -0
  1377. data/lib/chef/win32/api/registry.rb +51 -0
  1378. data/lib/chef/win32/api/security.rb +482 -0
  1379. data/lib/chef/win32/api/synchronization.rb +89 -0
  1380. data/lib/chef/win32/api/system.rb +238 -0
  1381. data/lib/chef/win32/api/unicode.rb +135 -0
  1382. data/lib/chef/win32/api.rb +379 -0
  1383. data/lib/chef/win32/crypto.rb +50 -0
  1384. data/lib/chef/win32/error.rb +86 -0
  1385. data/lib/chef/win32/eventlog.rb +31 -0
  1386. data/lib/chef/win32/file/info.rb +100 -0
  1387. data/lib/chef/win32/file/version_info.rb +94 -0
  1388. data/lib/chef/win32/file.rb +221 -0
  1389. data/lib/chef/win32/handle.rb +54 -0
  1390. data/lib/chef/win32/memory.rb +101 -0
  1391. data/lib/chef/win32/mutex.rb +116 -0
  1392. data/lib/chef/win32/net.rb +331 -0
  1393. data/lib/chef/win32/process.rb +97 -0
  1394. data/lib/chef/win32/registry.rb +388 -0
  1395. data/lib/chef/win32/security/ace.rb +123 -0
  1396. data/lib/chef/win32/security/acl.rb +104 -0
  1397. data/lib/chef/win32/security/securable_object.rb +109 -0
  1398. data/lib/chef/win32/security/security_descriptor.rb +95 -0
  1399. data/lib/chef/win32/security/sid.rb +348 -0
  1400. data/lib/chef/win32/security/token.rb +74 -0
  1401. data/lib/chef/win32/security.rb +756 -0
  1402. data/lib/chef/win32/system.rb +62 -0
  1403. data/lib/chef/win32/unicode.rb +66 -0
  1404. data/lib/chef/win32/version.rb +153 -0
  1405. data/lib/chef/win32_service_constants.rb +143 -0
  1406. data/lib/chef/workstation_config_loader.rb +23 -0
  1407. data/lib/chef.rb +34 -0
  1408. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -0
  1409. data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -0
  1410. data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -0
  1411. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -0
  1412. data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -0
  1413. data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -0
  1414. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -0
  1415. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -0
  1416. data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -0
  1417. data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -0
  1418. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -0
  1419. data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -0
  1420. data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -0
  1421. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -0
  1422. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +5 -0
  1423. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +1 -0
  1424. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +10 -0
  1425. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +1 -0
  1426. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +45 -0
  1427. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +1 -0
  1428. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +1 -0
  1429. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +1 -0
  1430. data/spec/data/apt/chef-integration-test2-1.0/debian/control +13 -0
  1431. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +34 -0
  1432. data/spec/data/apt/chef-integration-test2-1.0/debian/files +1 -0
  1433. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +13 -0
  1434. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +1 -0
  1435. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  1436. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +18 -0
  1437. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +91 -0
  1438. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +31 -0
  1439. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  1440. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  1441. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -0
  1442. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  1443. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  1444. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -0
  1445. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  1446. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  1447. data/spec/data/apt/var/www/apt/conf/distributions +7 -0
  1448. data/spec/data/apt/var/www/apt/conf/incoming +4 -0
  1449. data/spec/data/apt/var/www/apt/conf/pulls +3 -0
  1450. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  1451. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  1452. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  1453. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  1454. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  1455. data/spec/data/apt/var/www/apt/db/version +4 -0
  1456. data/spec/data/apt/var/www/apt/dists/sid/Release +19 -0
  1457. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -0
  1458. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  1459. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -0
  1460. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  1461. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  1462. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  1463. data/spec/data/archive_file/test_archive.tar.gz +0 -0
  1464. data/spec/data/bad-config.rb +1 -0
  1465. data/spec/data/bootstrap/encrypted_data_bag_secret +1 -0
  1466. data/spec/data/bootstrap/no_proxy.erb +2 -0
  1467. data/spec/data/bootstrap/secret.erb +9 -0
  1468. data/spec/data/bootstrap/test-hints.erb +12 -0
  1469. data/spec/data/bootstrap/test.erb +1 -0
  1470. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  1471. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  1472. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +3 -0
  1473. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -0
  1474. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +1 -0
  1475. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +1 -0
  1476. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +1 -0
  1477. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +1 -0
  1478. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +1 -0
  1479. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +1 -0
  1480. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  1481. data/spec/data/checksum/random.txt +1 -0
  1482. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -0
  1483. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  1484. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -0
  1485. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -0
  1486. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -0
  1487. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -0
  1488. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -0
  1489. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -0
  1490. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -0
  1491. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -0
  1492. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -0
  1493. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -0
  1494. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -0
  1495. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -0
  1496. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -0
  1497. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -0
  1498. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -0
  1499. data/spec/data/client.d_00/00-foo.rb +2 -0
  1500. data/spec/data/client.d_00/01-bar.rb +1 -0
  1501. data/spec/data/client.d_00/02-strings.rb +2 -0
  1502. data/spec/data/client.d_00/bar +1 -0
  1503. data/spec/data/client.d_01/foo/bar.rb +1 -0
  1504. data/spec/data/client.d_02/foo.rb/foo.txt +1 -0
  1505. data/spec/data/config.rb +6 -0
  1506. data/spec/data/cookbooks/angrybash/metadata.rb +2 -0
  1507. data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -0
  1508. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -0
  1509. data/spec/data/cookbooks/apache2/metadata.json +33 -0
  1510. data/spec/data/cookbooks/apache2/metadata.rb +2 -0
  1511. data/spec/data/cookbooks/apache2/recipes/default.rb +3 -0
  1512. data/spec/data/cookbooks/borken/metadata.rb +2 -0
  1513. data/spec/data/cookbooks/borken/recipes/default.rb +2 -0
  1514. data/spec/data/cookbooks/borken/templates/default/borken.erb +2 -0
  1515. data/spec/data/cookbooks/chefignore +8 -0
  1516. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -0
  1517. data/spec/data/cookbooks/ignorken/metadata.rb +2 -0
  1518. data/spec/data/cookbooks/ignorken/recipes/default.rb +1 -0
  1519. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +2 -0
  1520. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -0
  1521. data/spec/data/cookbooks/irssi/files/default/irssi.response +2 -0
  1522. data/spec/data/cookbooks/java/files/default/java.response +2 -0
  1523. data/spec/data/cookbooks/java/metadata.json +33 -0
  1524. data/spec/data/cookbooks/java/metadata.rb +2 -0
  1525. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -0
  1526. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -0
  1527. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +8 -0
  1528. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  1529. data/spec/data/cookbooks/openldap/attributes/default.rb +16 -0
  1530. data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -0
  1531. data/spec/data/cookbooks/openldap/definitions/client.rb +5 -0
  1532. data/spec/data/cookbooks/openldap/definitions/server.rb +5 -0
  1533. data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -0
  1534. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +1 -0
  1535. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -0
  1536. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -0
  1537. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +3 -0
  1538. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +3 -0
  1539. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -0
  1540. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +3 -0
  1541. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +3 -0
  1542. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -0
  1543. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -0
  1544. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -0
  1545. data/spec/data/cookbooks/openldap/metadata.rb +8 -0
  1546. data/spec/data/cookbooks/openldap/recipes/default.rb +4 -0
  1547. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -0
  1548. data/spec/data/cookbooks/openldap/recipes/one.rb +15 -0
  1549. data/spec/data/cookbooks/openldap/recipes/return.rb +2 -0
  1550. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  1551. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +4 -0
  1552. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -0
  1553. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +14 -0
  1554. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -0
  1555. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +1 -0
  1556. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +1 -0
  1557. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -0
  1558. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +1 -0
  1559. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +1 -0
  1560. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -0
  1561. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +4 -0
  1562. data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -0
  1563. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -0
  1564. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -0
  1565. data/spec/data/cookbooks/preseed/metadata.rb +2 -0
  1566. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -0
  1567. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -0
  1568. data/spec/data/cookbooks/starter/chefignore +8 -0
  1569. data/spec/data/cookbooks/starter/files/sample.txt +1 -0
  1570. data/spec/data/cookbooks/starter/metadata.rb +2 -0
  1571. data/spec/data/cookbooks/starter/recipes/default.rb +4 -0
  1572. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +5 -0
  1573. data/spec/data/cookbooks/wget/files/default/wget.response +2 -0
  1574. data/spec/data/definitions/test.rb +5 -0
  1575. data/spec/data/dsc_lcm.pfx +0 -0
  1576. data/spec/data/environment-config.rb +5 -0
  1577. data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -0
  1578. data/spec/data/fileedit/blank +0 -0
  1579. data/spec/data/fileedit/hosts +4 -0
  1580. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  1581. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  1582. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  1583. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  1584. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  1585. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -0
  1586. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -0
  1587. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +8 -0
  1588. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -0
  1589. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +9 -0
  1590. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +8 -0
  1591. data/spec/data/kitchen/chefignore +6 -0
  1592. data/spec/data/kitchen/openldap/attributes/default.rb +3 -0
  1593. data/spec/data/kitchen/openldap/attributes/robinson.rb +3 -0
  1594. data/spec/data/kitchen/openldap/definitions/client.rb +3 -0
  1595. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +3 -0
  1596. data/spec/data/kitchen/openldap/recipes/gigantor.rb +3 -0
  1597. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +3 -0
  1598. data/spec/data/kitchen/openldap/recipes/woot.rb +3 -0
  1599. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  1600. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  1601. data/spec/data/knife_subcommand/test_explicit_category.rb +7 -0
  1602. data/spec/data/knife_subcommand/test_name_mapping.rb +4 -0
  1603. data/spec/data/knife_subcommand/test_yourself.rb +21 -0
  1604. data/spec/data/lwrp/providers/buck_passer.rb +28 -0
  1605. data/spec/data/lwrp/providers/buck_passer_2.rb +26 -0
  1606. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +28 -0
  1607. data/spec/data/lwrp/providers/inline_compiler.rb +24 -0
  1608. data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -0
  1609. data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -0
  1610. data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -0
  1611. data/spec/data/lwrp/resources/bar.rb +4 -0
  1612. data/spec/data/lwrp/resources/buck_passer.rb +6 -0
  1613. data/spec/data/lwrp/resources/buck_passer_2.rb +4 -0
  1614. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +4 -0
  1615. data/spec/data/lwrp/resources/foo.rb +6 -0
  1616. data/spec/data/lwrp/resources/inline_compiler.rb +4 -0
  1617. data/spec/data/lwrp/resources/monkey_name_printer.rb +6 -0
  1618. data/spec/data/lwrp/resources/paint_drying_watcher.rb +4 -0
  1619. data/spec/data/lwrp/resources/thumb_twiddler.rb +4 -0
  1620. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +3 -0
  1621. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  1622. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -0
  1623. data/spec/data/lwrp_override/resources/foo.rb +11 -0
  1624. data/spec/data/mac_users/10.9.plist.xml +560 -0
  1625. data/spec/data/mac_users/10.9.shadow.xml +21 -0
  1626. data/spec/data/metadata/quick_start/metadata.rb +14 -0
  1627. data/spec/data/mixin/invalid_data.rb +3 -0
  1628. data/spec/data/mixin/real_data.rb +2 -0
  1629. data/spec/data/nested.json +2 -0
  1630. data/spec/data/nodes/default.rb +15 -0
  1631. data/spec/data/nodes/test.example.com.rb +17 -0
  1632. data/spec/data/nodes/test.rb +15 -0
  1633. data/spec/data/null_config.rb +1 -0
  1634. data/spec/data/object_loader/environments/test.json +7 -0
  1635. data/spec/data/object_loader/environments/test.rb +2 -0
  1636. data/spec/data/object_loader/environments/test_json_class.json +8 -0
  1637. data/spec/data/object_loader/nodes/test.json +7 -0
  1638. data/spec/data/object_loader/nodes/test.rb +2 -0
  1639. data/spec/data/object_loader/nodes/test_json_class.json +8 -0
  1640. data/spec/data/object_loader/roles/test.json +7 -0
  1641. data/spec/data/object_loader/roles/test.rb +2 -0
  1642. data/spec/data/object_loader/roles/test_json_class.json +8 -0
  1643. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  1644. data/spec/data/old_home_dir/my-dot-vim +0 -0
  1645. data/spec/data/partial_one.erb +1 -0
  1646. data/spec/data/prefer_metadata_json/metadata.json +51 -0
  1647. data/spec/data/prefer_metadata_json/metadata.rb +6 -0
  1648. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  1649. data/spec/data/recipes/test.rb +7 -0
  1650. data/spec/data/recipes.tgz +0 -0
  1651. data/spec/data/remote_directory_data/remote_dir_file.txt +1 -0
  1652. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +1 -0
  1653. data/spec/data/remote_file/nyan_cat.png +0 -0
  1654. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  1655. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +1 -0
  1656. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +1 -0
  1657. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +2 -0
  1658. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +3 -0
  1659. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +1 -0
  1660. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +2 -0
  1661. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +3 -0
  1662. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +3 -0
  1663. data/spec/data/root_alias_cookbooks/simple/attributes.rb +1 -0
  1664. data/spec/data/root_alias_cookbooks/simple/metadata.rb +2 -0
  1665. data/spec/data/root_alias_cookbooks/simple/recipe.rb +3 -0
  1666. data/spec/data/rubygems.org/latest_specs.4.8.gz +0 -0
  1667. data/spec/data/rubygems.org/nonexistent_gem +0 -0
  1668. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  1669. data/spec/data/rubygems.org/sexp_processor +0 -0
  1670. data/spec/data/rubygems.org/sexp_processor-4.15.1.gemspec.rz +0 -0
  1671. data/spec/data/rubygems.org/sexp_processor-info +50 -0
  1672. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +2 -0
  1673. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -0
  1674. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -0
  1675. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -0
  1676. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -0
  1677. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  1678. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +2 -0
  1679. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +2 -0
  1680. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -0
  1681. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -0
  1682. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -0
  1683. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -0
  1684. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  1685. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +2 -0
  1686. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -0
  1687. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -0
  1688. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +1 -0
  1689. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +2 -0
  1690. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -0
  1691. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +1 -0
  1692. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -0
  1693. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +1 -0
  1694. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -0
  1695. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +1 -0
  1696. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  1697. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +1 -0
  1698. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +2 -0
  1699. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +1 -0
  1700. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +2 -0
  1701. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -0
  1702. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -0
  1703. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -0
  1704. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  1705. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +2 -0
  1706. data/spec/data/run_context/cookbooks/include/recipes/default.rb +24 -0
  1707. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +3 -0
  1708. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +2 -0
  1709. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -0
  1710. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -0
  1711. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  1712. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +2 -0
  1713. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  1714. data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -0
  1715. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -0
  1716. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -0
  1717. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -0
  1718. data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -0
  1719. data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -0
  1720. data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -0
  1721. data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -0
  1722. data/spec/data/run_context/cookbooks/test/resources/resource.rb +3 -0
  1723. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +2 -0
  1724. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -0
  1725. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -0
  1726. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -0
  1727. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -0
  1728. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  1729. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +3 -0
  1730. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +2 -0
  1731. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -0
  1732. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -0
  1733. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -0
  1734. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -0
  1735. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  1736. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  1737. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +2 -0
  1738. data/spec/data/run_context/nodes/run_context.rb +5 -0
  1739. data/spec/data/sample_msu1.xml +10 -0
  1740. data/spec/data/sample_msu2.xml +14 -0
  1741. data/spec/data/sample_msu3.xml +16 -0
  1742. data/spec/data/search_queries_to_transform.txt +98 -0
  1743. data/spec/data/shef-config.rb +11 -0
  1744. data/spec/data/snap_package/async_result_success.json +6 -0
  1745. data/spec/data/snap_package/change_id_result.json +175 -0
  1746. data/spec/data/snap_package/find_result_failure.json +10 -0
  1747. data/spec/data/snap_package/find_result_success.json +70 -0
  1748. data/spec/data/snap_package/get_by_name_result_failure.json +10 -0
  1749. data/spec/data/snap_package/get_by_name_result_success.json +38 -0
  1750. data/spec/data/snap_package/get_conf_success.json +10 -0
  1751. data/spec/data/snap_package/result_failure.json +9 -0
  1752. data/spec/data/ssl/5e707473.0 +18 -0
  1753. data/spec/data/ssl/binary/chef-rspec-der.cert +0 -0
  1754. data/spec/data/ssl/binary/chef-rspec-der.key +0 -0
  1755. data/spec/data/ssl/chef-rspec.cert +27 -0
  1756. data/spec/data/ssl/chef-rspec.key +27 -0
  1757. data/spec/data/ssl/key.pem +15 -0
  1758. data/spec/data/ssl/private_key.pem +27 -0
  1759. data/spec/data/ssl/private_key_with_whitespace.pem +32 -0
  1760. data/spec/data/standalone_cookbook/Gemfile +1 -0
  1761. data/spec/data/standalone_cookbook/chefignore +9 -0
  1762. data/spec/data/standalone_cookbook/recipes/default.rb +3 -0
  1763. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +1 -0
  1764. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +1 -0
  1765. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +1 -0
  1766. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +1 -0
  1767. data/spec/data/templates/failed.erb +5 -0
  1768. data/spec/data/templates/seattle.txt +1 -0
  1769. data/spec/data/trusted_certs/example.crt +31 -0
  1770. data/spec/data/trusted_certs/example_no_cn.crt +32 -0
  1771. data/spec/data/trusted_certs/intermediate.pem +38 -0
  1772. data/spec/data/trusted_certs/opscode.pem +36 -0
  1773. data/spec/data/trusted_certs/root.pem +22 -0
  1774. data/spec/data/windows_certificates/base64_test.cer +20 -0
  1775. data/spec/data/windows_certificates/othertest.cer +20 -0
  1776. data/spec/data/windows_certificates/test.cer +20 -0
  1777. data/spec/data/windows_certificates/test.p7b +0 -0
  1778. data/spec/data/windows_certificates/test.pem +20 -0
  1779. data/spec/data/windows_certificates/test.pfx +0 -0
  1780. data/spec/functional/application_spec.rb +58 -0
  1781. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  1782. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  1783. data/spec/functional/assets/chefinittest +36 -0
  1784. data/spec/functional/assets/chocolatey_feed/test-A.1.0.0.nupkg +0 -0
  1785. data/spec/functional/assets/chocolatey_feed/test-A.1.5.0.nupkg +0 -0
  1786. data/spec/functional/assets/chocolatey_feed/test-A.2.0.0.nupkg +0 -0
  1787. data/spec/functional/assets/chocolatey_feed/test-B.1.0.0.nupkg +0 -0
  1788. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  1789. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  1790. data/spec/functional/assets/inittest +37 -0
  1791. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  1792. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  1793. data/spec/functional/assets/testchefsubsys +10 -0
  1794. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  1795. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  1796. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  1797. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  1798. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  1799. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  1800. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  1801. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  1802. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  1803. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  1804. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  1805. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  1806. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  1807. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  1808. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  1809. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  1810. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  1811. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  1812. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  1813. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  1814. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  1815. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  1816. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  1817. data/spec/functional/assets/yumrepo/repodata/repomd.xml +21 -0
  1818. data/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 +0 -0
  1819. data/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz +0 -0
  1820. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 +0 -0
  1821. data/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz +0 -0
  1822. data/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 +0 -0
  1823. data/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz +0 -0
  1824. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +55 -0
  1825. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  1826. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  1827. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  1828. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  1829. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  1830. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  1831. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  1832. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  1833. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  1834. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  1835. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  1836. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  1837. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  1838. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  1839. data/spec/functional/dsl/reboot_pending_spec.rb +88 -0
  1840. data/spec/functional/dsl/registry_helper_spec.rb +61 -0
  1841. data/spec/functional/event_loggers/windows_eventlog_spec.rb +107 -0
  1842. data/spec/functional/file_content_management/deploy_strategies_spec.rb +229 -0
  1843. data/spec/functional/http/simple_spec.rb +146 -0
  1844. data/spec/functional/mixin/from_file_spec.rb +93 -0
  1845. data/spec/functional/mixin/powershell_out_spec.rb +51 -0
  1846. data/spec/functional/mixin/shell_out_spec.rb +48 -0
  1847. data/spec/functional/mixin/user_context_spec.rb +119 -0
  1848. data/spec/functional/notifications_spec.rb +238 -0
  1849. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +100 -0
  1850. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +51 -0
  1851. data/spec/functional/rebooter_spec.rb +117 -0
  1852. data/spec/functional/resource/aix_service_spec.rb +145 -0
  1853. data/spec/functional/resource/aixinit_service_spec.rb +210 -0
  1854. data/spec/functional/resource/apt_package_spec.rb +383 -0
  1855. data/spec/functional/resource/archive_file_spec.rb +88 -0
  1856. data/spec/functional/resource/bash_spec.rb +55 -0
  1857. data/spec/functional/resource/batch_spec.rb +34 -0
  1858. data/spec/functional/resource/bff_spec.rb +120 -0
  1859. data/spec/functional/resource/chocolatey_package_spec.rb +194 -0
  1860. data/spec/functional/resource/cookbook_file_spec.rb +79 -0
  1861. data/spec/functional/resource/cron_spec.rb +179 -0
  1862. data/spec/functional/resource/directory_spec.rb +43 -0
  1863. data/spec/functional/resource/dnf_package_spec.rb +1629 -0
  1864. data/spec/functional/resource/dpkg_package_spec.rb +355 -0
  1865. data/spec/functional/resource/dsc_resource_spec.rb +91 -0
  1866. data/spec/functional/resource/dsc_script_spec.rb +476 -0
  1867. data/spec/functional/resource/execute_spec.rb +171 -0
  1868. data/spec/functional/resource/file_spec.rb +167 -0
  1869. data/spec/functional/resource/git_spec.rb +329 -0
  1870. data/spec/functional/resource/group_spec.rb +486 -0
  1871. data/spec/functional/resource/ifconfig_spec.rb +178 -0
  1872. data/spec/functional/resource/insserv_spec.rb +206 -0
  1873. data/spec/functional/resource/launchd_spec.rb +232 -0
  1874. data/spec/functional/resource/link_spec.rb +704 -0
  1875. data/spec/functional/resource/locale_spec.rb +108 -0
  1876. data/spec/functional/resource/macos_userdefaults_spec.rb +139 -0
  1877. data/spec/functional/resource/mount_spec.rb +219 -0
  1878. data/spec/functional/resource/msu_package_spec.rb +107 -0
  1879. data/spec/functional/resource/ohai_spec.rb +54 -0
  1880. data/spec/functional/resource/plist_spec.rb +25 -0
  1881. data/spec/functional/resource/powershell_package_source_spec.rb +106 -0
  1882. data/spec/functional/resource/powershell_script_spec.rb +588 -0
  1883. data/spec/functional/resource/reboot_spec.rb +103 -0
  1884. data/spec/functional/resource/registry_spec.rb +676 -0
  1885. data/spec/functional/resource/remote_directory_spec.rb +220 -0
  1886. data/spec/functional/resource/remote_file_spec.rb +418 -0
  1887. data/spec/functional/resource/rpm_spec.rb +120 -0
  1888. data/spec/functional/resource/template_spec.rb +245 -0
  1889. data/spec/functional/resource/timezone_spec.rb +41 -0
  1890. data/spec/functional/resource/user/linux_user_spec.rb +127 -0
  1891. data/spec/functional/resource/user/mac_user_spec.rb +207 -0
  1892. data/spec/functional/resource/user/windows_spec.rb +245 -0
  1893. data/spec/functional/resource/windows_certificate_spec.rb +401 -0
  1894. data/spec/functional/resource/windows_env_spec.rb +285 -0
  1895. data/spec/functional/resource/windows_firewall_rule_spec.rb +93 -0
  1896. data/spec/functional/resource/windows_font_spec.rb +52 -0
  1897. data/spec/functional/resource/windows_hostname_spec.rb +91 -0
  1898. data/spec/functional/resource/windows_package_spec.rb +193 -0
  1899. data/spec/functional/resource/windows_pagefile_spec.rb +125 -0
  1900. data/spec/functional/resource/windows_path_spec.rb +68 -0
  1901. data/spec/functional/resource/windows_security_policy_spec.rb +86 -0
  1902. data/spec/functional/resource/windows_share_spec.rb +103 -0
  1903. data/spec/functional/resource/windows_task_spec.rb +1969 -0
  1904. data/spec/functional/resource/windows_user_privilege_spec.rb +192 -0
  1905. data/spec/functional/resource/yum_package_spec.rb +1739 -0
  1906. data/spec/functional/resource/zypper_package_spec.rb +276 -0
  1907. data/spec/functional/root_alias_spec.rb +78 -0
  1908. data/spec/functional/run_lock_spec.rb +481 -0
  1909. data/spec/functional/shell_spec.rb +149 -0
  1910. data/spec/functional/tiny_server_spec.rb +79 -0
  1911. data/spec/functional/util/path_helper_spec.rb +37 -0
  1912. data/spec/functional/version_spec.rb +36 -0
  1913. data/spec/functional/win32/crypto_spec.rb +54 -0
  1914. data/spec/functional/win32/registry_spec.rb +618 -0
  1915. data/spec/functional/win32/security_spec.rb +233 -0
  1916. data/spec/functional/win32/sid_spec.rb +55 -0
  1917. data/spec/functional/win32/version_info_spec.rb +50 -0
  1918. data/spec/functional/win32/versions_spec.rb +115 -0
  1919. data/spec/integration/client/client_spec.rb +963 -0
  1920. data/spec/integration/client/exit_code_spec.rb +116 -0
  1921. data/spec/integration/client/fips_spec.rb +29 -0
  1922. data/spec/integration/client/ipv6_spec.rb +135 -0
  1923. data/spec/integration/client/open_ssl_spec.rb +20 -0
  1924. data/spec/integration/compliance/compliance_spec.rb +143 -0
  1925. data/spec/integration/ohai/ohai_spec.rb +62 -0
  1926. data/spec/integration/recipes/accumulator_spec.rb +245 -0
  1927. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +176 -0
  1928. data/spec/integration/recipes/lwrp_spec.rb +56 -0
  1929. data/spec/integration/recipes/noop_resource_spec.rb +24 -0
  1930. data/spec/integration/recipes/notifies_spec.rb +438 -0
  1931. data/spec/integration/recipes/notifying_block_spec.rb +116 -0
  1932. data/spec/integration/recipes/provider_choice.rb +38 -0
  1933. data/spec/integration/recipes/recipe_dsl_spec.rb +1281 -0
  1934. data/spec/integration/recipes/remote_directory.rb +74 -0
  1935. data/spec/integration/recipes/resource_action_spec.rb +524 -0
  1936. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +554 -0
  1937. data/spec/integration/recipes/resource_load_spec.rb +315 -0
  1938. data/spec/integration/recipes/unified_mode_spec.rb +947 -0
  1939. data/spec/integration/recipes/use_partial_spec.rb +116 -0
  1940. data/spec/integration/solo/solo_spec.rb +219 -0
  1941. data/spec/rcov.opts +2 -0
  1942. data/spec/spec_helper.rb +349 -0
  1943. data/spec/stress/win32/file_spec.rb +37 -0
  1944. data/spec/stress/win32/memory_spec.rb +22 -0
  1945. data/spec/stress/win32/security_spec.rb +69 -0
  1946. data/spec/support/chef_helpers.rb +79 -0
  1947. data/spec/support/key_helpers.rb +102 -0
  1948. data/spec/support/lib/chef/provider/easy.rb +35 -0
  1949. data/spec/support/lib/chef/provider/openldap_includer.rb +29 -0
  1950. data/spec/support/lib/chef/provider/snakeoil.rb +42 -0
  1951. data/spec/support/lib/chef/resource/cat.rb +39 -0
  1952. data/spec/support/lib/chef/resource/one_two_three_four.rb +36 -0
  1953. data/spec/support/lib/chef/resource/openldap_includer.rb +28 -0
  1954. data/spec/support/lib/chef/resource/with_state.rb +29 -0
  1955. data/spec/support/lib/chef/resource/zen_follower.rb +36 -0
  1956. data/spec/support/lib/chef/resource/zen_master.rb +39 -0
  1957. data/spec/support/lib/library_load_order.rb +20 -0
  1958. data/spec/support/matchers/leak.rb +96 -0
  1959. data/spec/support/mock/platform.rb +33 -0
  1960. data/spec/support/platform_helpers.rb +284 -0
  1961. data/spec/support/platforms/prof/gc.rb +51 -0
  1962. data/spec/support/platforms/prof/win32.rb +45 -0
  1963. data/spec/support/platforms/win32/spec_service.rb +57 -0
  1964. data/spec/support/recipe_dsl_helper.rb +83 -0
  1965. data/spec/support/ruby_installer.rb +51 -0
  1966. data/spec/support/shared/context/config.rb +18 -0
  1967. data/spec/support/shared/context/win32.rb +34 -0
  1968. data/spec/support/shared/functional/diff_disabled.rb +10 -0
  1969. data/spec/support/shared/functional/directory_resource.rb +178 -0
  1970. data/spec/support/shared/functional/execute_resource.rb +150 -0
  1971. data/spec/support/shared/functional/file_resource.rb +1047 -0
  1972. data/spec/support/shared/functional/http.rb +224 -0
  1973. data/spec/support/shared/functional/knife.rb +37 -0
  1974. data/spec/support/shared/functional/securable_resource.rb +654 -0
  1975. data/spec/support/shared/functional/securable_resource_with_reporting.rb +393 -0
  1976. data/spec/support/shared/functional/windows_script.rb +260 -0
  1977. data/spec/support/shared/integration/integration_helper.rb +122 -0
  1978. data/spec/support/shared/integration/knife_support.rb +192 -0
  1979. data/spec/support/shared/matchers/exit_with_code.rb +32 -0
  1980. data/spec/support/shared/matchers/match_environment_variable.rb +17 -0
  1981. data/spec/support/shared/shared_examples.rb +14 -0
  1982. data/spec/support/shared/unit/api_error_inspector.rb +190 -0
  1983. data/spec/support/shared/unit/api_versioning.rb +77 -0
  1984. data/spec/support/shared/unit/application_dot_d.rb +82 -0
  1985. data/spec/support/shared/unit/execute_resource.rb +166 -0
  1986. data/spec/support/shared/unit/file_system_support.rb +70 -0
  1987. data/spec/support/shared/unit/knife_shared.rb +39 -0
  1988. data/spec/support/shared/unit/mock_shellout.rb +49 -0
  1989. data/spec/support/shared/unit/platform_introspector.rb +189 -0
  1990. data/spec/support/shared/unit/provider/file.rb +877 -0
  1991. data/spec/support/shared/unit/provider/package/package_shared.rb +95 -0
  1992. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +410 -0
  1993. data/spec/support/shared/unit/resource/static_provider_resolution.rb +63 -0
  1994. data/spec/support/shared/unit/script_resource.rb +74 -0
  1995. data/spec/support/shared/unit/user_and_client_shared.rb +114 -0
  1996. data/spec/support/shared/unit/windows_script_resource.rb +65 -0
  1997. data/spec/tiny_server.rb +190 -0
  1998. data/spec/unit/action_collection_spec.rb +19 -0
  1999. data/spec/unit/api_client/registration_spec.rb +278 -0
  2000. data/spec/unit/api_client_spec.rb +341 -0
  2001. data/spec/unit/api_client_v1_spec.rb +455 -0
  2002. data/spec/unit/application/agent_spec.rb +0 -0
  2003. data/spec/unit/application/apply_spec.rb +116 -0
  2004. data/spec/unit/application/base_spec.rb +40 -0
  2005. data/spec/unit/application/client_spec.rb +588 -0
  2006. data/spec/unit/application/exit_code_spec.rb +145 -0
  2007. data/spec/unit/application/server_spec.rb +0 -0
  2008. data/spec/unit/application/solo_spec.rb +218 -0
  2009. data/spec/unit/application_spec.rb +587 -0
  2010. data/spec/unit/chef_class_spec.rb +240 -0
  2011. data/spec/unit/chef_fs/config_spec.rb +235 -0
  2012. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +82 -0
  2013. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +65 -0
  2014. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +63 -0
  2015. data/spec/unit/chef_fs/diff_spec.rb +328 -0
  2016. data/spec/unit/chef_fs/file_pattern_spec.rb +512 -0
  2017. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +34 -0
  2018. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +45 -0
  2019. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +126 -0
  2020. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +175 -0
  2021. data/spec/unit/chef_fs/file_system_spec.rb +150 -0
  2022. data/spec/unit/chef_fs/path_util_spec.rb +108 -0
  2023. data/spec/unit/chef_spec.rb +25 -0
  2024. data/spec/unit/client_spec.rb +881 -0
  2025. data/spec/unit/compliance/fetcher/automate_spec.rb +126 -0
  2026. data/spec/unit/compliance/fetcher/chef_server_spec.rb +93 -0
  2027. data/spec/unit/compliance/input_spec.rb +104 -0
  2028. data/spec/unit/compliance/profile_spec.rb +120 -0
  2029. data/spec/unit/compliance/reporter/automate_spec.rb +451 -0
  2030. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +197 -0
  2031. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +49 -0
  2032. data/spec/unit/compliance/runner_spec.rb +354 -0
  2033. data/spec/unit/compliance/waiver_spec.rb +104 -0
  2034. data/spec/unit/config_fetcher_spec.rb +125 -0
  2035. data/spec/unit/config_spec.rb +31 -0
  2036. data/spec/unit/cookbook/chefignore_spec.rb +69 -0
  2037. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +213 -0
  2038. data/spec/unit/cookbook/file_vendor_spec.rb +123 -0
  2039. data/spec/unit/cookbook/gem_installer_spec.rb +114 -0
  2040. data/spec/unit/cookbook/manifest_v0_spec.rb +133 -0
  2041. data/spec/unit/cookbook/manifest_v2_spec.rb +70 -0
  2042. data/spec/unit/cookbook/metadata_spec.rb +610 -0
  2043. data/spec/unit/cookbook/synchronizer_spec.rb +560 -0
  2044. data/spec/unit/cookbook/syntax_check_spec.rb +229 -0
  2045. data/spec/unit/cookbook_loader_spec.rb +265 -0
  2046. data/spec/unit/cookbook_manifest_spec.rb +228 -0
  2047. data/spec/unit/cookbook_spec.rb +62 -0
  2048. data/spec/unit/cookbook_uploader_spec.rb +205 -0
  2049. data/spec/unit/cookbook_version_file_specificity_spec.rb +623 -0
  2050. data/spec/unit/cookbook_version_spec.rb +302 -0
  2051. data/spec/unit/daemon_spec.rb +179 -0
  2052. data/spec/unit/data_bag_item_spec.rb +387 -0
  2053. data/spec/unit/data_bag_spec.rb +263 -0
  2054. data/spec/unit/data_collector/config_validation_spec.rb +208 -0
  2055. data/spec/unit/data_collector_spec.rb +972 -0
  2056. data/spec/unit/decorator/lazy_array_spec.rb +58 -0
  2057. data/spec/unit/decorator/lazy_spec.rb +39 -0
  2058. data/spec/unit/decorator_spec.rb +142 -0
  2059. data/spec/unit/delayed_evaluator_spec.rb +35 -0
  2060. data/spec/unit/deprecated_spec.rb +65 -0
  2061. data/spec/unit/deprecation_spec.rb +129 -0
  2062. data/spec/unit/digester_spec.rb +49 -0
  2063. data/spec/unit/dsl/data_query_spec.rb +108 -0
  2064. data/spec/unit/dsl/declare_resource_spec.rb +374 -0
  2065. data/spec/unit/dsl/platform_introspection_spec.rb +160 -0
  2066. data/spec/unit/dsl/reboot_pending_spec.rb +87 -0
  2067. data/spec/unit/dsl/recipe_spec.rb +76 -0
  2068. data/spec/unit/dsl/registry_helper_spec.rb +52 -0
  2069. data/spec/unit/dsl/render_helpers_spec.rb +102 -0
  2070. data/spec/unit/dsl/resources_spec.rb +85 -0
  2071. data/spec/unit/dsl/secret_spec.rb +175 -0
  2072. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +97 -0
  2073. data/spec/unit/encrypted_data_bag_item_spec.rb +439 -0
  2074. data/spec/unit/environment_spec.rb +476 -0
  2075. data/spec/unit/event_dispatch/dispatcher_spec.rb +172 -0
  2076. data/spec/unit/event_dispatch/dsl_spec.rb +83 -0
  2077. data/spec/unit/exceptions_spec.rb +132 -0
  2078. data/spec/unit/file_access_control_spec.rb +308 -0
  2079. data/spec/unit/file_cache_spec.rb +178 -0
  2080. data/spec/unit/file_content_management/deploy/cp_spec.rb +44 -0
  2081. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +113 -0
  2082. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +232 -0
  2083. data/spec/unit/file_content_management/tempfile_spec.rb +115 -0
  2084. data/spec/unit/formatters/base_spec.rb +100 -0
  2085. data/spec/unit/formatters/doc_spec.rb +110 -0
  2086. data/spec/unit/formatters/error_description_spec.rb +141 -0
  2087. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +76 -0
  2088. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +265 -0
  2089. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +126 -0
  2090. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +43 -0
  2091. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +26 -0
  2092. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +26 -0
  2093. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +191 -0
  2094. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +91 -0
  2095. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +155 -0
  2096. data/spec/unit/guard_interpreter_spec.rb +41 -0
  2097. data/spec/unit/handler/json_file_spec.rb +63 -0
  2098. data/spec/unit/handler_spec.rb +308 -0
  2099. data/spec/unit/http/api_versions_spec.rb +100 -0
  2100. data/spec/unit/http/authenticator_spec.rb +247 -0
  2101. data/spec/unit/http/basic_client_spec.rb +102 -0
  2102. data/spec/unit/http/http_request_spec.rb +97 -0
  2103. data/spec/unit/http/json_input_spec.rb +128 -0
  2104. data/spec/unit/http/simple_spec.rb +32 -0
  2105. data/spec/unit/http/socketless_chef_zero_client_spec.rb +174 -0
  2106. data/spec/unit/http/ssl_policies_spec.rb +228 -0
  2107. data/spec/unit/http/validate_content_length_spec.rb +207 -0
  2108. data/spec/unit/http_spec.rb +235 -0
  2109. data/spec/unit/json_compat_spec.rb +73 -0
  2110. data/spec/unit/key_spec.rb +631 -0
  2111. data/spec/unit/log/syslog_spec.rb +47 -0
  2112. data/spec/unit/log/winevt_spec.rb +62 -0
  2113. data/spec/unit/lwrp_spec.rb +693 -0
  2114. data/spec/unit/mixin/api_version_request_handling_spec.rb +126 -0
  2115. data/spec/unit/mixin/checksum_spec.rb +82 -0
  2116. data/spec/unit/mixin/convert_to_class_name_spec.rb +54 -0
  2117. data/spec/unit/mixin/deep_merge_spec.rb +357 -0
  2118. data/spec/unit/mixin/default_paths_spec.rb +92 -0
  2119. data/spec/unit/mixin/deprecation_spec.rb +57 -0
  2120. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +96 -0
  2121. data/spec/unit/mixin/homebrew_spec.rb +118 -0
  2122. data/spec/unit/mixin/lazy_module_include.rb +71 -0
  2123. data/spec/unit/mixin/openssl_helper_spec.rb +897 -0
  2124. data/spec/unit/mixin/params_validate_spec.rb +422 -0
  2125. data/spec/unit/mixin/powershell_exec_spec.rb +90 -0
  2126. data/spec/unit/mixin/powershell_out_spec.rb +106 -0
  2127. data/spec/unit/mixin/powershell_type_coercions_spec.rb +84 -0
  2128. data/spec/unit/mixin/properties_spec.rb +107 -0
  2129. data/spec/unit/mixin/proxified_socket_spec.rb +97 -0
  2130. data/spec/unit/mixin/securable_spec.rb +313 -0
  2131. data/spec/unit/mixin/shell_out_spec.rb +308 -0
  2132. data/spec/unit/mixin/subclass_directive_spec.rb +45 -0
  2133. data/spec/unit/mixin/template_spec.rb +317 -0
  2134. data/spec/unit/mixin/unformatter_spec.rb +60 -0
  2135. data/spec/unit/mixin/uris_spec.rb +57 -0
  2136. data/spec/unit/mixin/user_context_spec.rb +99 -0
  2137. data/spec/unit/mixin/versioned_api_spec.rb +128 -0
  2138. data/spec/unit/mixin/which.rb +170 -0
  2139. data/spec/unit/mixin/why_run_spec.rb +53 -0
  2140. data/spec/unit/mixin/windows_architecture_helper_spec.rb +85 -0
  2141. data/spec/unit/mixin/xml_escape_spec.rb +54 -0
  2142. data/spec/unit/monologger_spec.rb +45 -0
  2143. data/spec/unit/node/attribute_spec.rb +1322 -0
  2144. data/spec/unit/node/immutable_collections_spec.rb +258 -0
  2145. data/spec/unit/node/vivid_mash_spec.rb +500 -0
  2146. data/spec/unit/node_map_spec.rb +276 -0
  2147. data/spec/unit/node_spec.rb +2038 -0
  2148. data/spec/unit/org_group_spec.rb +45 -0
  2149. data/spec/unit/org_spec.rb +196 -0
  2150. data/spec/unit/platform/query_helpers_spec.rb +48 -0
  2151. data/spec/unit/policy_builder/dynamic_spec.rb +256 -0
  2152. data/spec/unit/policy_builder/expand_node_object_spec.rb +311 -0
  2153. data/spec/unit/policy_builder/policyfile_spec.rb +960 -0
  2154. data/spec/unit/policy_builder_spec.rb +26 -0
  2155. data/spec/unit/property/state_spec.rb +514 -0
  2156. data/spec/unit/property/validation_spec.rb +813 -0
  2157. data/spec/unit/property_spec.rb +1329 -0
  2158. data/spec/unit/provider/apt_preference_spec.rb +91 -0
  2159. data/spec/unit/provider/apt_repository_spec.rb +288 -0
  2160. data/spec/unit/provider/apt_update_spec.rb +119 -0
  2161. data/spec/unit/provider/batch_spec.rb +130 -0
  2162. data/spec/unit/provider/cookbook_file/content_spec.rb +39 -0
  2163. data/spec/unit/provider/cookbook_file_spec.rb +59 -0
  2164. data/spec/unit/provider/cron/unix_spec.rb +144 -0
  2165. data/spec/unit/provider/cron_spec.rb +1252 -0
  2166. data/spec/unit/provider/directory_spec.rb +289 -0
  2167. data/spec/unit/provider/dsc_resource_spec.rb +313 -0
  2168. data/spec/unit/provider/dsc_script_spec.rb +173 -0
  2169. data/spec/unit/provider/execute_spec.rb +244 -0
  2170. data/spec/unit/provider/file/content_spec.rb +114 -0
  2171. data/spec/unit/provider/file_spec.rb +58 -0
  2172. data/spec/unit/provider/git_spec.rb +822 -0
  2173. data/spec/unit/provider/group/dscl_spec.rb +339 -0
  2174. data/spec/unit/provider/group/gpasswd_spec.rb +119 -0
  2175. data/spec/unit/provider/group/groupadd_spec.rb +195 -0
  2176. data/spec/unit/provider/group/groupmod_spec.rb +136 -0
  2177. data/spec/unit/provider/group/pw_spec.rb +141 -0
  2178. data/spec/unit/provider/group/solaris_spec.rb +106 -0
  2179. data/spec/unit/provider/group/usermod_spec.rb +112 -0
  2180. data/spec/unit/provider/group/windows_spec.rb +130 -0
  2181. data/spec/unit/provider/group_spec.rb +285 -0
  2182. data/spec/unit/provider/http_request_spec.rb +147 -0
  2183. data/spec/unit/provider/ifconfig/aix_spec.rb +180 -0
  2184. data/spec/unit/provider/ifconfig/debian_spec.rb +332 -0
  2185. data/spec/unit/provider/ifconfig/redhat_spec.rb +83 -0
  2186. data/spec/unit/provider/ifconfig_spec.rb +247 -0
  2187. data/spec/unit/provider/launchd_spec.rb +234 -0
  2188. data/spec/unit/provider/link_spec.rb +425 -0
  2189. data/spec/unit/provider/log_spec.rb +94 -0
  2190. data/spec/unit/provider/mdadm_spec.rb +138 -0
  2191. data/spec/unit/provider/mount/aix_spec.rb +277 -0
  2192. data/spec/unit/provider/mount/linux_spec.rb +131 -0
  2193. data/spec/unit/provider/mount/mount_spec.rb +590 -0
  2194. data/spec/unit/provider/mount/solaris_spec.rb +822 -0
  2195. data/spec/unit/provider/mount/windows_spec.rb +150 -0
  2196. data/spec/unit/provider/mount_spec.rb +222 -0
  2197. data/spec/unit/provider/package/apt_spec.rb +703 -0
  2198. data/spec/unit/provider/package/bff_spec.rb +188 -0
  2199. data/spec/unit/provider/package/cab_spec.rb +272 -0
  2200. data/spec/unit/provider/package/chocolatey_spec.rb +574 -0
  2201. data/spec/unit/provider/package/deb_spec.rb +135 -0
  2202. data/spec/unit/provider/package/dnf/python_helper_spec.rb +36 -0
  2203. data/spec/unit/provider/package/dpkg_spec.rb +314 -0
  2204. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +147 -0
  2205. data/spec/unit/provider/package/freebsd/port_spec.rb +151 -0
  2206. data/spec/unit/provider/package/homebrew_spec.rb +402 -0
  2207. data/spec/unit/provider/package/ips_spec.rb +233 -0
  2208. data/spec/unit/provider/package/macports_spec.rb +203 -0
  2209. data/spec/unit/provider/package/msu_spec.rb +283 -0
  2210. data/spec/unit/provider/package/openbsd_spec.rb +136 -0
  2211. data/spec/unit/provider/package/pacman_spec.rb +109 -0
  2212. data/spec/unit/provider/package/paludis_spec.rb +134 -0
  2213. data/spec/unit/provider/package/portage_spec.rb +179 -0
  2214. data/spec/unit/provider/package/powershell_spec.rb +565 -0
  2215. data/spec/unit/provider/package/rpm_spec.rb +440 -0
  2216. data/spec/unit/provider/package/rubygems_spec.rb +1187 -0
  2217. data/spec/unit/provider/package/smartos_spec.rb +110 -0
  2218. data/spec/unit/provider/package/snap_spec.rb +208 -0
  2219. data/spec/unit/provider/package/solaris_spec.rb +168 -0
  2220. data/spec/unit/provider/package/windows/exe_spec.rb +201 -0
  2221. data/spec/unit/provider/package/windows/msi_spec.rb +168 -0
  2222. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +78 -0
  2223. data/spec/unit/provider/package/windows_spec.rb +441 -0
  2224. data/spec/unit/provider/package/yum/python_helper_spec.rb +30 -0
  2225. data/spec/unit/provider/package/yum/yum_cache_spec.rb +109 -0
  2226. data/spec/unit/provider/package/zypper_spec.rb +494 -0
  2227. data/spec/unit/provider/package_spec.rb +791 -0
  2228. data/spec/unit/provider/powershell_script_spec.rb +157 -0
  2229. data/spec/unit/provider/registry_key_spec.rb +487 -0
  2230. data/spec/unit/provider/remote_directory_spec.rb +236 -0
  2231. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +245 -0
  2232. data/spec/unit/provider/remote_file/content_spec.rb +253 -0
  2233. data/spec/unit/provider/remote_file/fetcher_spec.rb +95 -0
  2234. data/spec/unit/provider/remote_file/ftp_spec.rb +217 -0
  2235. data/spec/unit/provider/remote_file/http_spec.rb +334 -0
  2236. data/spec/unit/provider/remote_file/local_file_spec.rb +105 -0
  2237. data/spec/unit/provider/remote_file/network_file_spec.rb +50 -0
  2238. data/spec/unit/provider/remote_file/sftp_spec.rb +150 -0
  2239. data/spec/unit/provider/remote_file_spec.rb +61 -0
  2240. data/spec/unit/provider/route_spec.rb +268 -0
  2241. data/spec/unit/provider/ruby_block_spec.rb +45 -0
  2242. data/spec/unit/provider/script_spec.rb +67 -0
  2243. data/spec/unit/provider/service/aix_service_spec.rb +195 -0
  2244. data/spec/unit/provider/service/aixinit_service_spec.rb +272 -0
  2245. data/spec/unit/provider/service/arch_service_spec.rb +326 -0
  2246. data/spec/unit/provider/service/debian_service_spec.rb +273 -0
  2247. data/spec/unit/provider/service/freebsd_service_spec.rb +621 -0
  2248. data/spec/unit/provider/service/gentoo_service_spec.rb +145 -0
  2249. data/spec/unit/provider/service/init_service_spec.rb +235 -0
  2250. data/spec/unit/provider/service/insserv_service_spec.rb +75 -0
  2251. data/spec/unit/provider/service/invokercd_service_spec.rb +211 -0
  2252. data/spec/unit/provider/service/macosx_spec.rb +337 -0
  2253. data/spec/unit/provider/service/openbsd_service_spec.rb +553 -0
  2254. data/spec/unit/provider/service/redhat_spec.rb +253 -0
  2255. data/spec/unit/provider/service/simple_service_spec.rb +171 -0
  2256. data/spec/unit/provider/service/solaris_smf_service_spec.rb +292 -0
  2257. data/spec/unit/provider/service/systemd_service_spec.rb +504 -0
  2258. data/spec/unit/provider/service/upstart_service_spec.rb +322 -0
  2259. data/spec/unit/provider/service/windows_spec.rb +986 -0
  2260. data/spec/unit/provider/service_spec.rb +168 -0
  2261. data/spec/unit/provider/subversion_spec.rb +364 -0
  2262. data/spec/unit/provider/systemd_unit_spec.rb +1039 -0
  2263. data/spec/unit/provider/template/content_spec.rb +169 -0
  2264. data/spec/unit/provider/template_spec.rb +86 -0
  2265. data/spec/unit/provider/user/aix_spec.rb +96 -0
  2266. data/spec/unit/provider/user/linux_spec.rb +178 -0
  2267. data/spec/unit/provider/user/mac_spec.rb +38 -0
  2268. data/spec/unit/provider/user/pw_spec.rb +235 -0
  2269. data/spec/unit/provider/user/solaris_spec.rb +177 -0
  2270. data/spec/unit/provider/user/windows_spec.rb +198 -0
  2271. data/spec/unit/provider/user_spec.rb +520 -0
  2272. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +46 -0
  2273. data/spec/unit/provider/windows_env_spec.rb +385 -0
  2274. data/spec/unit/provider/windows_path_spec.rb +60 -0
  2275. data/spec/unit/provider/windows_task_spec.rb +436 -0
  2276. data/spec/unit/provider/yum_repository_spec.rb +35 -0
  2277. data/spec/unit/provider/zypper_repository_spec.rb +169 -0
  2278. data/spec/unit/provider_spec.rb +215 -0
  2279. data/spec/unit/pure_application_spec.rb +32 -0
  2280. data/spec/unit/recipe_spec.rb +652 -0
  2281. data/spec/unit/resource/alternatives_spec.rb +120 -0
  2282. data/spec/unit/resource/apt_package_spec.rb +66 -0
  2283. data/spec/unit/resource/apt_preference_spec.rb +39 -0
  2284. data/spec/unit/resource/apt_repository_spec.rb +79 -0
  2285. data/spec/unit/resource/apt_update_spec.rb +44 -0
  2286. data/spec/unit/resource/archive_file_spec.rb +466 -0
  2287. data/spec/unit/resource/bash_spec.rb +45 -0
  2288. data/spec/unit/resource/batch_spec.rb +46 -0
  2289. data/spec/unit/resource/bff_package_spec.rb +51 -0
  2290. data/spec/unit/resource/breakpoint_spec.rb +64 -0
  2291. data/spec/unit/resource/build_essential_spec.rb +77 -0
  2292. data/spec/unit/resource/cab_package_spec.rb +64 -0
  2293. data/spec/unit/resource/chef_client_config_spec.rb +145 -0
  2294. data/spec/unit/resource/chef_client_cron_spec.rb +161 -0
  2295. data/spec/unit/resource/chef_client_launchd_spec.rb +132 -0
  2296. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +186 -0
  2297. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +108 -0
  2298. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +68 -0
  2299. data/spec/unit/resource/chef_gem_spec.rb +122 -0
  2300. data/spec/unit/resource/chef_handler_spec.rb +40 -0
  2301. data/spec/unit/resource/chef_sleep_spec.rb +30 -0
  2302. data/spec/unit/resource/chef_vault_secret_spec.rb +40 -0
  2303. data/spec/unit/resource/chocolatey_config_spec.rb +93 -0
  2304. data/spec/unit/resource/chocolatey_feature_spec.rb +89 -0
  2305. data/spec/unit/resource/chocolatey_installer_spec.rb +151 -0
  2306. data/spec/unit/resource/chocolatey_package_spec.rb +106 -0
  2307. data/spec/unit/resource/chocolatey_source_spec.rb +151 -0
  2308. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +45 -0
  2309. data/spec/unit/resource/conditional_spec.rb +254 -0
  2310. data/spec/unit/resource/cookbook_file_spec.rb +93 -0
  2311. data/spec/unit/resource/cron_access_spec.rb +36 -0
  2312. data/spec/unit/resource/cron_d_spec.rb +84 -0
  2313. data/spec/unit/resource/cron_spec.rb +167 -0
  2314. data/spec/unit/resource/csh_spec.rb +45 -0
  2315. data/spec/unit/resource/directory_spec.rb +69 -0
  2316. data/spec/unit/resource/dmg_package_spec.rb +39 -0
  2317. data/spec/unit/resource/dnf_package_spec.rb +108 -0
  2318. data/spec/unit/resource/dpkg_package_spec.rb +72 -0
  2319. data/spec/unit/resource/dsc_resource_spec.rb +102 -0
  2320. data/spec/unit/resource/dsc_script_spec.rb +134 -0
  2321. data/spec/unit/resource/execute_spec.rb +282 -0
  2322. data/spec/unit/resource/file/verification/json_spec.rb +72 -0
  2323. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +103 -0
  2324. data/spec/unit/resource/file/verification/yaml_spec.rb +67 -0
  2325. data/spec/unit/resource/file/verification_spec.rb +147 -0
  2326. data/spec/unit/resource/file_spec.rb +127 -0
  2327. data/spec/unit/resource/freebsd_package_spec.rb +77 -0
  2328. data/spec/unit/resource/gem_package_spec.rb +67 -0
  2329. data/spec/unit/resource/group_spec.rb +165 -0
  2330. data/spec/unit/resource/helpers/cron_validations_spec.rb +81 -0
  2331. data/spec/unit/resource/homebrew_cask_spec.rb +58 -0
  2332. data/spec/unit/resource/homebrew_package_spec.rb +68 -0
  2333. data/spec/unit/resource/homebrew_tap_spec.rb +44 -0
  2334. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  2335. data/spec/unit/resource/hostname_spec.rb +47 -0
  2336. data/spec/unit/resource/http_request_spec.rb +65 -0
  2337. data/spec/unit/resource/ifconfig_spec.rb +101 -0
  2338. data/spec/unit/resource/inspec_input_spec.rb +300 -0
  2339. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
  2340. data/spec/unit/resource/inspec_waiver_spec.rb +312 -0
  2341. data/spec/unit/resource/ips_package_spec.rb +54 -0
  2342. data/spec/unit/resource/kernel_module_spec.rb +45 -0
  2343. data/spec/unit/resource/ksh_spec.rb +45 -0
  2344. data/spec/unit/resource/launchd_spec.rb +48 -0
  2345. data/spec/unit/resource/link_spec.rb +120 -0
  2346. data/spec/unit/resource/locale_spec.rb +189 -0
  2347. data/spec/unit/resource/log_spec.rb +64 -0
  2348. data/spec/unit/resource/macos_pkg_spec.rb +38 -0
  2349. data/spec/unit/resource/macos_user_defaults_spec.rb +76 -0
  2350. data/spec/unit/resource/macosx_service.rb +37 -0
  2351. data/spec/unit/resource/macports_package_spec.rb +51 -0
  2352. data/spec/unit/resource/mdadm_spec.rb +104 -0
  2353. data/spec/unit/resource/mount_spec.rb +201 -0
  2354. data/spec/unit/resource/msu_package_spec.rb +67 -0
  2355. data/spec/unit/resource/notify_group_spec.rb +34 -0
  2356. data/spec/unit/resource/ohai_hint_spec.rb +44 -0
  2357. data/spec/unit/resource/ohai_spec.rb +112 -0
  2358. data/spec/unit/resource/openbsd_package_spec.rb +58 -0
  2359. data/spec/unit/resource/openssl_dhparam_spec.rb +61 -0
  2360. data/spec/unit/resource/openssl_ec_private_key_spec.rb +64 -0
  2361. data/spec/unit/resource/openssl_ec_public_key_spec.rb +43 -0
  2362. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +64 -0
  2363. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +43 -0
  2364. data/spec/unit/resource/openssl_x509_certificate_spec.rb +72 -0
  2365. data/spec/unit/resource/openssl_x509_crl_spec.rb +61 -0
  2366. data/spec/unit/resource/openssl_x509_request.rb +68 -0
  2367. data/spec/unit/resource/osx_profile_spec.rb +360 -0
  2368. data/spec/unit/resource/package_spec.rb +98 -0
  2369. data/spec/unit/resource/pacman_package_spec.rb +46 -0
  2370. data/spec/unit/resource/paludis_package_spec.rb +36 -0
  2371. data/spec/unit/resource/perl_spec.rb +44 -0
  2372. data/spec/unit/resource/plist_spec.rb +130 -0
  2373. data/spec/unit/resource/portage_package_spec.rb +46 -0
  2374. data/spec/unit/resource/powershell_package_source_spec.rb +220 -0
  2375. data/spec/unit/resource/powershell_package_spec.rb +98 -0
  2376. data/spec/unit/resource/powershell_script_spec.rb +65 -0
  2377. data/spec/unit/resource/python_spec.rb +40 -0
  2378. data/spec/unit/resource/reboot_spec.rb +47 -0
  2379. data/spec/unit/resource/registry_key_spec.rb +215 -0
  2380. data/spec/unit/resource/remote_directory_spec.rb +118 -0
  2381. data/spec/unit/resource/remote_file_spec.rb +220 -0
  2382. data/spec/unit/resource/resource_notification_spec.rb +169 -0
  2383. data/spec/unit/resource/rest_resource_spec.rb +381 -0
  2384. data/spec/unit/resource/rhsm_errata_level_spec.rb +50 -0
  2385. data/spec/unit/resource/rhsm_errata_spec.rb +39 -0
  2386. data/spec/unit/resource/rhsm_register_spec.rb +308 -0
  2387. data/spec/unit/resource/rhsm_repo_spec.rb +70 -0
  2388. data/spec/unit/resource/rhsm_subscription_spec.rb +145 -0
  2389. data/spec/unit/resource/route_spec.rb +100 -0
  2390. data/spec/unit/resource/rpm_package_spec.rb +62 -0
  2391. data/spec/unit/resource/ruby_block_spec.rb +58 -0
  2392. data/spec/unit/resource/ruby_spec.rb +39 -0
  2393. data/spec/unit/resource/scm/git_spec.rb +110 -0
  2394. data/spec/unit/resource/scm/scm.rb +122 -0
  2395. data/spec/unit/resource/scm/subversion_spec.rb +90 -0
  2396. data/spec/unit/resource/script_spec.rb +57 -0
  2397. data/spec/unit/resource/selinux_boolean_spec.rb +92 -0
  2398. data/spec/unit/resource/selinux_fcontext_spec.rb +65 -0
  2399. data/spec/unit/resource/selinux_install_spec.rb +60 -0
  2400. data/spec/unit/resource/selinux_login_spec.rb +73 -0
  2401. data/spec/unit/resource/selinux_module_spec.rb +55 -0
  2402. data/spec/unit/resource/selinux_permissive_spec.rb +39 -0
  2403. data/spec/unit/resource/selinux_port_spec.rb +42 -0
  2404. data/spec/unit/resource/selinux_state_spec.rb +46 -0
  2405. data/spec/unit/resource/selinux_user_spec.rb +92 -0
  2406. data/spec/unit/resource/service_spec.rb +203 -0
  2407. data/spec/unit/resource/smartos_package_spec.rb +52 -0
  2408. data/spec/unit/resource/snap_package_spec.rb +60 -0
  2409. data/spec/unit/resource/solaris_package_spec.rb +52 -0
  2410. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +50 -0
  2411. data/spec/unit/resource/sudo_spec.rb +99 -0
  2412. data/spec/unit/resource/swap_file_spec.rb +39 -0
  2413. data/spec/unit/resource/sysctl_spec.rb +76 -0
  2414. data/spec/unit/resource/systemd_unit_spec.rb +130 -0
  2415. data/spec/unit/resource/template_spec.rb +222 -0
  2416. data/spec/unit/resource/timezone_spec.rb +102 -0
  2417. data/spec/unit/resource/user/linux_user_spec.rb +42 -0
  2418. data/spec/unit/resource/user/windows_user_spec.rb +36 -0
  2419. data/spec/unit/resource/user_spec.rb +121 -0
  2420. data/spec/unit/resource/user_ulimit_spec.rb +66 -0
  2421. data/spec/unit/resource/windows_ad_join_spec.rb +55 -0
  2422. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  2423. data/spec/unit/resource/windows_auto_run_spec.rb +50 -0
  2424. data/spec/unit/resource/windows_certificate_spec.rb +95 -0
  2425. data/spec/unit/resource/windows_defender_exclusion_spec.rb +62 -0
  2426. data/spec/unit/resource/windows_defender_spec.rb +71 -0
  2427. data/spec/unit/resource/windows_dfs_folder_spec.rb +39 -0
  2428. data/spec/unit/resource/windows_dfs_namespace_spec.rb +39 -0
  2429. data/spec/unit/resource/windows_dfs_server_spec.rb +34 -0
  2430. data/spec/unit/resource/windows_dns_record_spec.rb +55 -0
  2431. data/spec/unit/resource/windows_dns_zone_spec.rb +51 -0
  2432. data/spec/unit/resource/windows_env_spec.rb +75 -0
  2433. data/spec/unit/resource/windows_feature_dism_spec.rb +57 -0
  2434. data/spec/unit/resource/windows_feature_powershell_spec.rb +83 -0
  2435. data/spec/unit/resource/windows_feature_spec.rb +64 -0
  2436. data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
  2437. data/spec/unit/resource/windows_firewall_rule_spec.rb +510 -0
  2438. data/spec/unit/resource/windows_font_spec.rb +43 -0
  2439. data/spec/unit/resource/windows_package_spec.rb +125 -0
  2440. data/spec/unit/resource/windows_pagefile_spec.rb +44 -0
  2441. data/spec/unit/resource/windows_path_spec.rb +40 -0
  2442. data/spec/unit/resource/windows_printer_port_spec.rb +62 -0
  2443. data/spec/unit/resource/windows_printer_spec.rb +52 -0
  2444. data/spec/unit/resource/windows_service_spec.rb +122 -0
  2445. data/spec/unit/resource/windows_share_spec.rb +48 -0
  2446. data/spec/unit/resource/windows_shortcut_spec.rb +38 -0
  2447. data/spec/unit/resource/windows_task_spec.rb +403 -0
  2448. data/spec/unit/resource/windows_uac_spec.rb +50 -0
  2449. data/spec/unit/resource/windows_update_settings_spec.rb +64 -0
  2450. data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
  2451. data/spec/unit/resource/windows_workgroup_spec.rb +74 -0
  2452. data/spec/unit/resource/yum_package_spec.rb +150 -0
  2453. data/spec/unit/resource/yum_repository_spec.rb +156 -0
  2454. data/spec/unit/resource/zypper_package_spec.rb +51 -0
  2455. data/spec/unit/resource/zypper_repository_spec.rb +115 -0
  2456. data/spec/unit/resource_builder_spec.rb +1 -0
  2457. data/spec/unit/resource_collection/resource_list_spec.rb +137 -0
  2458. data/spec/unit/resource_collection/resource_set_spec.rb +244 -0
  2459. data/spec/unit/resource_collection/stepable_iterator_spec.rb +144 -0
  2460. data/spec/unit/resource_collection_spec.rb +408 -0
  2461. data/spec/unit/resource_definition_spec.rb +117 -0
  2462. data/spec/unit/resource_inspector_spec.rb +101 -0
  2463. data/spec/unit/resource_reporter_spec.rb +806 -0
  2464. data/spec/unit/resource_resolver_spec.rb +52 -0
  2465. data/spec/unit/resource_spec.rb +1484 -0
  2466. data/spec/unit/role_spec.rb +363 -0
  2467. data/spec/unit/run_context/child_run_context_spec.rb +126 -0
  2468. data/spec/unit/run_context/cookbook_compiler_spec.rb +236 -0
  2469. data/spec/unit/run_context_spec.rb +257 -0
  2470. data/spec/unit/run_list/run_list_expansion_spec.rb +147 -0
  2471. data/spec/unit/run_list/run_list_item_spec.rb +117 -0
  2472. data/spec/unit/run_list/versioned_recipe_list_spec.rb +197 -0
  2473. data/spec/unit/run_list_spec.rb +312 -0
  2474. data/spec/unit/run_lock_spec.rb +144 -0
  2475. data/spec/unit/run_status_spec.rb +144 -0
  2476. data/spec/unit/runner_spec.rb +397 -0
  2477. data/spec/unit/scan_access_control_spec.rb +183 -0
  2478. data/spec/unit/search/query_spec.rb +291 -0
  2479. data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +37 -0
  2480. data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +70 -0
  2481. data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +149 -0
  2482. data/spec/unit/secret_fetcher/hashi_vault_spec.rb +126 -0
  2483. data/spec/unit/secret_fetcher_spec.rb +82 -0
  2484. data/spec/unit/server_api_spec.rb +151 -0
  2485. data/spec/unit/server_api_versions_spec.rb +66 -0
  2486. data/spec/unit/shell/model_wrapper_spec.rb +96 -0
  2487. data/spec/unit/shell/shell_ext_spec.rb +196 -0
  2488. data/spec/unit/shell/shell_session_spec.rb +218 -0
  2489. data/spec/unit/shell_spec.rb +158 -0
  2490. data/spec/unit/train_transport_spec.rb +85 -0
  2491. data/spec/unit/user_spec.rb +275 -0
  2492. data/spec/unit/user_v1_spec.rb +585 -0
  2493. data/spec/unit/util/backup_spec.rb +141 -0
  2494. data/spec/unit/util/diff_spec.rb +562 -0
  2495. data/spec/unit/util/dsc/configuration_generator_spec.rb +272 -0
  2496. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +248 -0
  2497. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +192 -0
  2498. data/spec/unit/util/dsc/resource_store.rb +78 -0
  2499. data/spec/unit/util/editor_spec.rb +152 -0
  2500. data/spec/unit/util/file_edit_spec.rb +224 -0
  2501. data/spec/unit/util/powershell/ps_credential_spec.rb +45 -0
  2502. data/spec/unit/util/selinux_spec.rb +160 -0
  2503. data/spec/unit/util/threaded_job_queue_spec.rb +60 -0
  2504. data/spec/unit/util/windows/logon_session_spec.rb +285 -0
  2505. data/spec/unit/version/platform_spec.rb +60 -0
  2506. data/spec/unit/version_class_spec.rb +171 -0
  2507. data/spec/unit/version_constraint/platform_spec.rb +45 -0
  2508. data/spec/unit/version_constraint_spec.rb +179 -0
  2509. data/spec/unit/version_string_spec.rb +79 -0
  2510. data/spec/unit/win32/error_spec.rb +77 -0
  2511. data/spec/unit/win32/link_spec.rb +73 -0
  2512. data/spec/unit/win32/registry_spec.rb +394 -0
  2513. data/spec/unit/win32/security_spec.rb +136 -0
  2514. data/tasks/rspec.rb +87 -0
  2515. metadata +3292 -0
@@ -0,0 +1,1969 @@
1
+ #
2
+ # Author:: Nimisha Sharad (<nimisha.sharad@msystechnologies.com>)
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require "spec_helper"
20
+ require "chef-utils/dist"
21
+
22
+ describe Chef::Resource::WindowsTask, :windows_only do
23
+ # resource.task.application_name will default to task_name unless resource.command is set
24
+ let(:task_name) { "chef-client-functional-test" }
25
+ let(:new_resource) { Chef::Resource::WindowsTask.new(task_name, run_context) }
26
+ let(:windows_task_provider) do
27
+ new_resource.provider_for_action(:create)
28
+ end
29
+
30
+ let(:run_context) do
31
+ Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
32
+ end
33
+
34
+ describe "action :create" do
35
+ after { delete_task }
36
+ context "when command is with arguments" do
37
+ subject do
38
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
39
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
40
+ # Make sure MM/DD/YYYY is accepted
41
+
42
+ new_resource.start_day "09/20/2017"
43
+ new_resource.frequency :hourly
44
+ new_resource
45
+ end
46
+
47
+ context "With Arguments" do
48
+ it "creates scheduled task and sets command arguments" do
49
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
50
+ call_for_create_action
51
+ # loading current resource again to check new task is creted and it matches task parameters
52
+ current_resource = call_for_load_current_resource
53
+ expect(current_resource.exists).to eq(true)
54
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
55
+ expect(current_resource.task.parameters).to eq("-W")
56
+ end
57
+
58
+ it "does not converge the resource if it is already converged" do
59
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
60
+ subject.run_action(:create)
61
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
62
+ subject.run_action(:create)
63
+ expect(subject).not_to be_updated_by_last_action
64
+ end
65
+
66
+ it "creates scheduled task and sets command arguments when arguments inclusive single quotes" do
67
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
68
+ call_for_create_action
69
+ # loading current resource again to check new task is creted and it matches task parameters
70
+ current_resource = call_for_load_current_resource
71
+ expect(current_resource.exists).to eq(true)
72
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
73
+ expect(current_resource.task.parameters).to eq("-W -L 'C:\\chef\\chef-ad-join.log'")
74
+ end
75
+
76
+ it "does not converge the resource if it is already converged" do
77
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
78
+ subject.run_action(:create)
79
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
80
+ subject.run_action(:create)
81
+ expect(subject).not_to be_updated_by_last_action
82
+ end
83
+
84
+ it "creates scheduled task and sets command arguments with spaces in command" do
85
+ subject.command '"C:\\Program Files\\example\\program.exe" -arg1 --arg2'
86
+ call_for_create_action
87
+ current_resource = call_for_load_current_resource
88
+ expect(current_resource.exists).to eq(true)
89
+ expect(current_resource.task.application_name).to eq('"C:\\Program Files\\example\\program.exe"')
90
+ expect(current_resource.task.parameters).to eq("-arg1 --arg2")
91
+ end
92
+
93
+ it "does not converge the resource if it is already converged" do
94
+ subject.command '"C:\\Program Files\\example\\program.exe" -arg1 --arg2'
95
+ subject.run_action(:create)
96
+ subject.command '"C:\\Program Files\\example\\program.exe" -arg1 --arg2'
97
+ subject.run_action(:create)
98
+ expect(subject).not_to be_updated_by_last_action
99
+ end
100
+
101
+ it "creates scheduled task and sets command arguments with spaces in arguments" do
102
+ subject.command 'powershell.exe -file "C:\\Program Files\\app\\script.ps1"'
103
+ call_for_create_action
104
+ current_resource = call_for_load_current_resource
105
+ expect(current_resource.exists).to eq(true)
106
+ expect(current_resource.task.application_name).to eq("powershell.exe")
107
+ expect(current_resource.task.parameters).to eq('-file "C:\\Program Files\\app\\script.ps1"')
108
+ end
109
+
110
+ it "does not converge the resource if it is already converged" do
111
+ subject.command 'powershell.exe -file "C:\\Program Files\\app\\script.ps1"'
112
+ subject.run_action(:create)
113
+ subject.command 'powershell.exe -file "C:\\Program Files\\app\\script.ps1"'
114
+ subject.run_action(:create)
115
+ expect(subject).not_to be_updated_by_last_action
116
+ end
117
+
118
+ it "creates scheduled task and sets command arguments" do
119
+ subject.command "ping http://www.google.com"
120
+ call_for_create_action
121
+ # loading current resource again to check new task is creted and it matches task parameters
122
+ current_resource = call_for_load_current_resource
123
+ expect(current_resource.exists).to eq(true)
124
+ expect(current_resource.task.application_name).to eq("ping")
125
+ expect(current_resource.task.parameters).to eq("http://www.google.com")
126
+ end
127
+
128
+ it "does not converge the resource if it is already converged" do
129
+ subject.command "ping http://www.google.com"
130
+ subject.run_action(:create)
131
+ subject.command "ping http://www.google.com"
132
+ subject.run_action(:create)
133
+ expect(subject).not_to be_updated_by_last_action
134
+ end
135
+ end
136
+
137
+ context "Without Arguments" do
138
+ it "creates scheduled task and sets command arguments" do
139
+ subject.command ChefUtils::Dist::Infra::CLIENT
140
+ call_for_create_action
141
+ # loading current resource again to check new task is creted and it matches task parameters
142
+ current_resource = call_for_load_current_resource
143
+ expect(current_resource.exists).to eq(true)
144
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
145
+ expect(current_resource.task.parameters).to be_empty
146
+ end
147
+
148
+ it "does not converge the resource if it is already converged" do
149
+ subject.command ChefUtils::Dist::Infra::CLIENT
150
+ subject.run_action(:create)
151
+ subject.command ChefUtils::Dist::Infra::CLIENT
152
+ subject.run_action(:create)
153
+ expect(subject).not_to be_updated_by_last_action
154
+ end
155
+ end
156
+
157
+ it "creates scheduled task and Re-sets command arguments" do
158
+ subject.command 'powershell.exe -file "C:\\Program Files\\app\\script.ps1"'
159
+ subject.run_action(:create)
160
+ current_resource = call_for_load_current_resource
161
+ expect(current_resource.task.application_name).to eq("powershell.exe")
162
+ expect(current_resource.task.parameters).to eq('-file "C:\\Program Files\\app\\script.ps1"')
163
+
164
+ subject.command "powershell.exe"
165
+ subject.run_action(:create)
166
+ current_resource = call_for_load_current_resource
167
+ expect(current_resource.task.application_name).to eq("powershell.exe")
168
+ expect(current_resource.task.parameters).to be_empty
169
+ expect(subject).to be_updated_by_last_action
170
+ end
171
+ end
172
+
173
+ context "when description is passed" do
174
+ subject do
175
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
176
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
177
+ new_resource.command task_name
178
+ # Make sure MM/DD/YYYY is accepted
179
+ new_resource.start_day "09/20/2017"
180
+ new_resource.frequency :hourly
181
+ new_resource
182
+ end
183
+
184
+ let(:some_description) { "this is test description" }
185
+
186
+ it "create the task and sets its description" do
187
+ subject.description some_description
188
+ call_for_create_action
189
+ # loading current resource again to check new task is creted and it matches task parameters
190
+ current_resource = call_for_load_current_resource
191
+ expect(current_resource.exists).to eq(true)
192
+ expect(current_resource.task.description).to eq(some_description)
193
+ end
194
+
195
+ it "does not converge the resource if it is already converged" do
196
+ subject.description some_description
197
+ subject.run_action(:create)
198
+ subject.description some_description
199
+ subject.run_action(:create)
200
+ expect(subject).not_to be_updated_by_last_action
201
+ end
202
+
203
+ it "updates task with new description if task already exist" do
204
+ subject.description some_description
205
+ subject.run_action(:create)
206
+ subject.description "test description"
207
+ subject.run_action(:create)
208
+ expect(subject).to be_updated_by_last_action
209
+ end
210
+ end
211
+
212
+ context "when frequency_modifier are not passed" do
213
+ subject do
214
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
215
+ new_resource.command task_name
216
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
217
+ # Make sure MM/DD/YYYY is accepted
218
+ new_resource.start_day "09/20/2017"
219
+ new_resource.frequency :hourly
220
+ new_resource
221
+ end
222
+
223
+ it "creates a scheduled task to run every 1 hr starting on 09/20/2017" do
224
+ call_for_create_action
225
+ # loading current resource again to check new task is creted and it matches task parameters
226
+ current_resource = call_for_load_current_resource
227
+ expect(current_resource.exists).to eq(true)
228
+ expect(current_resource.task.application_name).to eq(task_name)
229
+ trigger_details = current_resource.task.trigger(0)
230
+ expect(trigger_details[:start_year]).to eq("2017")
231
+ expect(trigger_details[:start_month]).to eq("09")
232
+ expect(trigger_details[:start_day]).to eq("20")
233
+ expect(trigger_details[:minutes_interval]).to eq(60)
234
+ expect(trigger_details[:trigger_type]).to eq(1)
235
+ end
236
+
237
+ it "does not converge the resource if it is already converged" do
238
+ subject.run_action(:create)
239
+ subject.run_action(:create)
240
+ expect(subject).not_to be_updated_by_last_action
241
+ end
242
+ end
243
+
244
+ context "frequency :minute" do
245
+ subject do
246
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
247
+ new_resource.command task_name
248
+ new_resource.run_level :highest
249
+ new_resource.frequency :minute
250
+ new_resource.frequency_modifier 15
251
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
252
+ new_resource
253
+ end
254
+
255
+ it "creates a scheduled task that runs after every 15 minutes" do
256
+ call_for_create_action
257
+ # loading current resource again to check new task is creted and it matches task parameters
258
+ current_resource = call_for_load_current_resource
259
+ expect(current_resource.exists).to eq(true)
260
+ trigger_details = current_resource.task.trigger(0)
261
+ expect(current_resource.task.application_name).to eq(task_name)
262
+ expect(trigger_details[:minutes_interval]).to eq(15)
263
+ expect(trigger_details[:trigger_type]).to eq(1)
264
+ expect(current_resource.task.principals[:run_level]).to eq(1)
265
+ end
266
+
267
+ it "does not converge the resource if it is already converged" do
268
+ subject.run_action(:create)
269
+ subject.run_action(:create)
270
+ expect(subject).not_to be_updated_by_last_action
271
+ end
272
+
273
+ it "updates a scheduled task when frequency_modifier updated to 20" do
274
+ subject.run_action(:create)
275
+ current_resource = call_for_load_current_resource
276
+ trigger_details = current_resource.task.trigger(0)
277
+ expect(trigger_details[:minutes_interval]).to eq(15)
278
+ subject.frequency_modifier 20
279
+ subject.run_action(:create)
280
+ expect(subject).to be_updated_by_last_action
281
+ # #loading current resource again to check new task is creted and it matches task parameters
282
+ current_resource = call_for_load_current_resource
283
+ expect(current_resource.exists).to eq(true)
284
+ trigger_details = current_resource.task.trigger(0)
285
+ expect(current_resource.task.application_name).to eq(task_name)
286
+ expect(trigger_details[:minutes_interval]).to eq(20)
287
+ expect(trigger_details[:trigger_type]).to eq(1)
288
+ expect(current_resource.task.principals[:run_level]).to eq(1)
289
+ end
290
+ end
291
+
292
+ context "frequency :hourly" do
293
+ subject do
294
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
295
+ new_resource.command task_name
296
+ new_resource.run_level :highest
297
+ new_resource.frequency :hourly
298
+ new_resource.frequency_modifier 3
299
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
300
+ new_resource
301
+ end
302
+
303
+ it "creates a scheduled task that runs after every 3 hrs" do
304
+ call_for_create_action
305
+ # loading current resource again to check new task is creted and it matches task parameters
306
+ current_resource = call_for_load_current_resource
307
+ expect(current_resource.exists).to eq(true)
308
+ trigger_details = current_resource.task.trigger(0)
309
+ expect(current_resource.task.application_name).to eq(task_name)
310
+ expect(trigger_details[:minutes_interval]).to eq(180)
311
+ expect(trigger_details[:trigger_type]).to eq(1)
312
+ end
313
+
314
+ it "does not converge the resource if it is already converged" do
315
+ subject.run_action(:create)
316
+ subject.run_action(:create)
317
+ expect(subject).not_to be_updated_by_last_action
318
+ end
319
+
320
+ it "updates a scheduled task to run every 5 hrs when frequency modifier updated to 5" do
321
+ subject.run_action(:create)
322
+ current_resource = call_for_load_current_resource
323
+ trigger_details = current_resource.task.trigger(0)
324
+ expect(trigger_details[:minutes_interval]).to eq(180)
325
+ # updating frequency modifier to 5 from 3
326
+ subject.frequency_modifier 5
327
+ subject.run_action(:create)
328
+ expect(subject).to be_updated_by_last_action
329
+ current_resource = call_for_load_current_resource
330
+ expect(current_resource.exists).to eq(true)
331
+ trigger_details = current_resource.task.trigger(0)
332
+ expect(current_resource.task.application_name).to eq(task_name)
333
+ expect(trigger_details[:minutes_interval]).to eq(300)
334
+ expect(trigger_details[:trigger_type]).to eq(1)
335
+ end
336
+ end
337
+
338
+ context "frequency :daily" do
339
+ subject do
340
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
341
+ new_resource.command task_name
342
+ new_resource.run_level :highest
343
+ new_resource.frequency :daily
344
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
345
+ new_resource
346
+ end
347
+
348
+ it "creates a scheduled task to run daily" do
349
+ call_for_create_action
350
+ # loading current resource again to check new task is creted and it matches task parameters
351
+ current_resource = call_for_load_current_resource
352
+ expect(current_resource.exists).to eq(true)
353
+ trigger_details = current_resource.task.trigger(0)
354
+ expect(current_resource.task.application_name).to eq(task_name)
355
+ expect(trigger_details[:trigger_type]).to eq(2)
356
+ expect(current_resource.task.principals[:run_level]).to eq(1)
357
+ expect(trigger_details[:type][:days_interval]).to eq(1)
358
+ end
359
+
360
+ it "does not converge the resource if it is already converged" do
361
+ subject.run_action(:create)
362
+ subject.run_action(:create)
363
+ expect(subject).not_to be_updated_by_last_action
364
+ end
365
+ end
366
+
367
+ describe "frequency :monthly" do
368
+ subject do
369
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
370
+ new_resource.command task_name
371
+ new_resource.run_level :highest
372
+ new_resource.frequency :monthly
373
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
374
+ new_resource
375
+ end
376
+
377
+ context "with start_day and start_time" do
378
+ before do
379
+ subject.start_day "02/12/2018"
380
+ subject.start_time "05:15"
381
+ end
382
+
383
+ it "if day property is not set creates a scheduled task to run monthly on first day of the month" do
384
+ call_for_create_action
385
+ # loading current resource again to check new task is creted and it matches task parameters
386
+ current_resource = call_for_load_current_resource
387
+ expect(current_resource.exists).to eq(true)
388
+ trigger_details = current_resource.task.trigger(0)
389
+ expect(current_resource.task.application_name).to eq(task_name)
390
+ expect(trigger_details[:trigger_type]).to eq(4)
391
+ expect(current_resource.task.principals[:run_level]).to eq(1)
392
+ expect(trigger_details[:type][:days]).to eq(1)
393
+ expect(trigger_details[:type][:months]).to eq(4095)
394
+ end
395
+
396
+ it "does not converge the resource if it is already converged" do
397
+ subject.run_action(:create)
398
+ subject.run_action(:create)
399
+ expect(subject).not_to be_updated_by_last_action
400
+ end
401
+
402
+ it "creates a scheduled task to run monthly on first, second and third day of the month" do
403
+ subject.day "1, 2, 3"
404
+ call_for_create_action
405
+ # loading current resource again to check new task is created and it matches task parameters
406
+ current_resource = call_for_load_current_resource
407
+ expect(current_resource.exists).to eq(true)
408
+ trigger_details = current_resource.task.trigger(0)
409
+ expect(current_resource.task.application_name).to eq(task_name)
410
+ expect(trigger_details[:trigger_type]).to eq(4)
411
+ expect(current_resource.task.principals[:run_level]).to eq(1)
412
+ expect(trigger_details[:type][:days]).to eq(7)
413
+ expect(trigger_details[:type][:months]).to eq(4095)
414
+ end
415
+
416
+ it "does not converge the resource if it is already converged" do
417
+ subject.day "1, 2, 3"
418
+ subject.run_action(:create)
419
+ subject.run_action(:create)
420
+ expect(subject).not_to be_updated_by_last_action
421
+ end
422
+
423
+ it "creates a scheduled task to run monthly on 1, 2, 3, 4, 8, 20, 21, 15, 28, 31 day of the month" do
424
+ subject.day "1, 2, 3, 4, 8, 20, 21, 15, 28, 31"
425
+ call_for_create_action
426
+ # loading current resource again to check new task is created and it matches task parameters
427
+ current_resource = call_for_load_current_resource
428
+ expect(current_resource.exists).to eq(true)
429
+ trigger_details = current_resource.task.trigger(0)
430
+ expect(current_resource.task.application_name).to eq(task_name)
431
+ expect(trigger_details[:trigger_type]).to eq(4)
432
+ expect(current_resource.task.principals[:run_level]).to eq(1)
433
+ expect(trigger_details[:type][:days]).to eq(1209548943) # TODO:: windows_task_provider.send(:days_of_month)
434
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
435
+ end
436
+
437
+ it "does not converge the resource if it is already converged" do
438
+ subject.day "1, 2, 3, 4, 8, 20, 21, 15, 28, 31"
439
+ subject.run_action(:create)
440
+ subject.run_action(:create)
441
+ expect(subject).not_to be_updated_by_last_action
442
+ end
443
+
444
+ it "creates a scheduled task to run monthly on Jan, Feb, Apr, Dec on 1st 2nd 3rd 4th 8th and 20th day of these months" do
445
+ subject.day "1, 2, 3, 4, 8, 20, 21, 30"
446
+ subject.months "Jan, Feb, May, Sep, Dec"
447
+ call_for_create_action
448
+ # loading current resource again to check new task is created and it matches task parameters
449
+ current_resource = call_for_load_current_resource
450
+ expect(current_resource.exists).to eq(true)
451
+ trigger_details = current_resource.task.trigger(0)
452
+ expect(current_resource.task.application_name).to eq(task_name)
453
+ expect(trigger_details[:trigger_type]).to eq(4)
454
+ expect(current_resource.task.principals[:run_level]).to eq(1)
455
+ expect(trigger_details[:type][:days]).to eq(538443919) # TODO:windows_task_provider.send(:days_of_month)
456
+ expect(trigger_details[:type][:months]).to eq(2323) # windows_task_provider.send(:months_of_year)
457
+ end
458
+
459
+ it "does not converge the resource if it is already converged" do
460
+ subject.day "1, 2, 3, 4, 8, 20, 21, 30"
461
+ subject.months "Jan, Feb, May, Sep, Dec"
462
+ subject.run_action(:create)
463
+ subject.run_action(:create)
464
+ expect(subject).not_to be_updated_by_last_action
465
+ end
466
+
467
+ it "creates a scheduled task to run monthly by giving day option with frequency_modifier" do
468
+ subject.frequency_modifier "First"
469
+ subject.day "Mon, Fri, Sun"
470
+ call_for_create_action
471
+ # loading current resource again to check new task is created and it matches task parameters
472
+ current_resource = call_for_load_current_resource
473
+ expect(current_resource.exists).to eq(true)
474
+ trigger_details = current_resource.task.trigger(0)
475
+ expect(current_resource.task.application_name).to eq(task_name)
476
+ expect(trigger_details[:trigger_type]).to eq(5)
477
+ expect(current_resource.task.principals[:run_level]).to eq(1)
478
+ expect(trigger_details[:type][:days_of_week]).to eq(35)
479
+ expect(trigger_details[:type][:weeks_of_month]).to eq(1)
480
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
481
+ end
482
+
483
+ it "does not converge the resource if it is already converged" do
484
+ subject.frequency_modifier "First"
485
+ subject.day "Mon, Fri, Sun"
486
+ subject.run_action(:create)
487
+ subject.run_action(:create)
488
+ expect(subject).not_to be_updated_by_last_action
489
+ end
490
+ end
491
+
492
+ context "with frequency_modifier" do
493
+ subject do
494
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
495
+ new_resource.command task_name
496
+ new_resource.run_level :highest
497
+ new_resource.frequency :monthly
498
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
499
+ new_resource
500
+ end
501
+
502
+ it "raises argument error if frequency_modifier is 'first, second' and day is not provided." do
503
+ subject.frequency_modifier "first, second"
504
+ expect { subject.after_created }.to raise_error("Please select day on which you want to run the task e.g. 'Mon, Tue'. Multiple values must be separated by comma.")
505
+ end
506
+
507
+ it "raises argument error if months is passed along with frequency_modifier" do
508
+ subject.frequency_modifier 3
509
+ subject.months "Jan, Mar"
510
+ expect { subject.after_created }.to raise_error("For frequency :monthly either use property months or frequency_modifier to set months.")
511
+ end
512
+
513
+ it "not raises any Argument error if frequency_modifier set as 'first, second, third' and day is provided" do
514
+ subject.frequency_modifier "first, second, third"
515
+ subject.day "Mon, Fri"
516
+ expect { subject.after_created }.not_to raise_error
517
+ end
518
+
519
+ it "not raises any Argument error if frequency_modifier 2 " do
520
+ subject.frequency_modifier 2
521
+ subject.day "Mon, Sun"
522
+ expect { subject.after_created }.not_to raise_error
523
+ end
524
+
525
+ it "raises argument error if frequency_modifier > 12" do
526
+ subject.frequency_modifier 13
527
+ expect { subject.after_created }.to raise_error("frequency_modifier value 13 is invalid. Valid values for :monthly frequency are 1 - 12, 'FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST'.")
528
+ end
529
+
530
+ it "raises argument error if frequency_modifier < 1" do
531
+ subject.frequency_modifier 0
532
+ expect { subject.after_created }.to raise_error("frequency_modifier value 0 is invalid. Valid values for :monthly frequency are 1 - 12, 'FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST'.")
533
+ end
534
+
535
+ it "creates scheduled task to run task monthly on Monday and Friday of first, second and third week of month" do
536
+ subject.frequency_modifier "first, second, third"
537
+ subject.day "Mon, Fri"
538
+ expect { subject.after_created }.not_to raise_error
539
+ call_for_create_action
540
+ current_resource = call_for_load_current_resource
541
+ expect(current_resource.exists).to eq(true)
542
+ trigger_details = current_resource.task.trigger(0)
543
+ expect(current_resource.task.application_name).to eq(task_name)
544
+ expect(trigger_details[:trigger_type]).to eq(5)
545
+ expect(trigger_details[:type][:months]).to eq(4095)
546
+ expect(trigger_details[:type][:weeks_of_month]).to eq(7)
547
+ expect(trigger_details[:type][:days_of_week]).to eq(34)
548
+ end
549
+
550
+ it "does not converge the resource if it is already converged" do
551
+ subject.frequency_modifier "first, second, third"
552
+ subject.day "Mon, Fri"
553
+ subject.run_action(:create)
554
+ subject.run_action(:create)
555
+ expect(subject).not_to be_updated_by_last_action
556
+ end
557
+
558
+ it "creates scheduled task to run task monthly on every 6 months when frequency_modifier is 6 and to run on 1st and 2nd day of month" do
559
+ subject.frequency_modifier 6
560
+ subject.day "1, 2"
561
+ expect { subject.after_created }.not_to raise_error
562
+ call_for_create_action
563
+ current_resource = call_for_load_current_resource
564
+ expect(current_resource.exists).to eq(true)
565
+ trigger_details = current_resource.task.trigger(0)
566
+ expect(current_resource.task.application_name).to eq(task_name)
567
+ expect(trigger_details[:trigger_type]).to eq(4)
568
+ expect(trigger_details[:type][:months]).to eq(2080)
569
+ expect(trigger_details[:type][:days]).to eq(3)
570
+ end
571
+
572
+ it "does not converge the resource if it is already converged" do
573
+ subject.frequency_modifier 6
574
+ subject.day "1, 2"
575
+ subject.run_action(:create)
576
+ subject.run_action(:create)
577
+ expect(subject).not_to be_updated_by_last_action
578
+ end
579
+ end
580
+
581
+ context "when day is set as last or lastday for frequency :monthly" do
582
+ subject do
583
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
584
+ new_resource.command task_name
585
+ new_resource.run_level :highest
586
+ new_resource.frequency :monthly
587
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
588
+ new_resource
589
+ end
590
+
591
+ it "creates scheduled task to run monthly to run last day of the month" do
592
+ subject.day "last"
593
+ expect { subject.after_created }.not_to raise_error
594
+ call_for_create_action
595
+ current_resource = call_for_load_current_resource
596
+ expect(current_resource.exists).to eq(true)
597
+ trigger_details = current_resource.task.trigger(0)
598
+ expect(current_resource.task.application_name).to eq(task_name)
599
+ expect(trigger_details[:trigger_type]).to eq(4)
600
+ expect(trigger_details[:type][:months]).to eq(4095)
601
+ expect(trigger_details[:type][:days]).to eq(0)
602
+ expect(trigger_details[:run_on_last_day_of_month]).to eq(true)
603
+ end
604
+
605
+ it "does not converge the resource if it is already converged" do
606
+ subject.day "last"
607
+ subject.run_action(:create)
608
+ subject.run_action(:create)
609
+ expect(subject).not_to be_updated_by_last_action
610
+ end
611
+
612
+ it "day property set as 'lastday' creates scheduled task to run monthly to run last day of the month" do
613
+ subject.day "lastday"
614
+ expect { subject.after_created }.not_to raise_error
615
+ call_for_create_action
616
+ current_resource = call_for_load_current_resource
617
+ expect(current_resource.exists).to eq(true)
618
+ trigger_details = current_resource.task.trigger(0)
619
+ expect(current_resource.task.application_name).to eq(task_name)
620
+ expect(trigger_details[:trigger_type]).to eq(4)
621
+ expect(trigger_details[:type][:months]).to eq(4095)
622
+ expect(trigger_details[:type][:days]).to eq(0)
623
+ expect(trigger_details[:run_on_last_day_of_month]).to eq(true)
624
+ end
625
+
626
+ it "does not converge the resource if it is already converged" do
627
+ subject.day "lastday"
628
+ subject.run_action(:create)
629
+ subject.run_action(:create)
630
+ expect(subject).not_to be_updated_by_last_action
631
+ end
632
+ end
633
+
634
+ context "when frequency_modifier is set as last for frequency :monthly" do
635
+ it "creates scheduled task to run monthly on last week of the month" do
636
+ subject.frequency_modifier "last"
637
+ subject.day "Mon, Fri"
638
+ expect { subject.after_created }.not_to raise_error
639
+ call_for_create_action
640
+ current_resource = call_for_load_current_resource
641
+ expect(current_resource.exists).to eq(true)
642
+ trigger_details = current_resource.task.trigger(0)
643
+ expect(current_resource.task.application_name).to eq(task_name)
644
+ expect(trigger_details[:trigger_type]).to eq(5)
645
+ expect(trigger_details[:type][:months]).to eq(4095)
646
+ expect(trigger_details[:type][:days_of_week]).to eq(34)
647
+ expect(trigger_details[:run_on_last_week_of_month]).to eq(true)
648
+ end
649
+
650
+ it "does not converge the resource if it is already converged" do
651
+ subject.frequency_modifier "last"
652
+ subject.day "Mon, Fri"
653
+ subject.run_action(:create)
654
+ subject.run_action(:create)
655
+ expect(subject).not_to be_updated_by_last_action
656
+ end
657
+ end
658
+
659
+ context "when wild card (*) set as months" do
660
+ it "creates the scheduled task to run on 1st day of the all months" do
661
+ subject.months "*"
662
+ expect { subject.after_created }.not_to raise_error
663
+ call_for_create_action
664
+ current_resource = call_for_load_current_resource
665
+ expect(current_resource.exists).to eq(true)
666
+ trigger_details = current_resource.task.trigger(0)
667
+ expect(current_resource.task.application_name).to eq(task_name)
668
+ expect(trigger_details[:trigger_type]).to eq(4)
669
+ expect(trigger_details[:type][:months]).to eq(4095)
670
+ expect(trigger_details[:type][:days]).to eq(1)
671
+ end
672
+
673
+ it "does not converge the resource if it is already converged" do
674
+ subject.months "*"
675
+ subject.run_action(:create)
676
+ subject.run_action(:create)
677
+ expect(subject).not_to be_updated_by_last_action
678
+ end
679
+ end
680
+
681
+ context "when wild card (*) set as day" do
682
+ it "raises argument error" do
683
+ subject.day "*"
684
+ expect { subject.after_created }.to raise_error("day wild card (*) is only valid with frequency :weekly")
685
+ end
686
+ end
687
+
688
+ context "Pass either start day or start time by passing day compulsory or only pass frequency_modifier" do
689
+ subject do
690
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
691
+ new_resource.command task_name
692
+ new_resource.run_level :highest
693
+ new_resource.frequency :monthly
694
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
695
+ new_resource
696
+ end
697
+
698
+ it "creates a scheduled task to run monthly on second day of the month" do
699
+ subject.day "2"
700
+ subject.start_day "03/07/2018"
701
+ call_for_create_action
702
+ # loading current resource again to check new task is creted and it matches task parameters
703
+ current_resource = call_for_load_current_resource
704
+ expect(current_resource.exists).to eq(true)
705
+ trigger_details = current_resource.task.trigger(0)
706
+ expect(current_resource.task.application_name).to eq(task_name)
707
+ expect(trigger_details[:trigger_type]).to eq(4)
708
+ expect(current_resource.task.principals[:run_level]).to eq(1)
709
+ expect(trigger_details[:type][:days]).to eq(2)
710
+ expect(trigger_details[:type][:months]).to eq(4095)
711
+ end
712
+
713
+ it "does not converge the resource if it is already converged" do
714
+ subject.day "2"
715
+ subject.start_day "03/07/2018"
716
+ subject.run_action(:create)
717
+ subject.run_action(:create)
718
+ expect(subject).not_to be_updated_by_last_action
719
+ end
720
+
721
+ it "creates a scheduled task to run monthly on first, second and third day of the month" do
722
+ subject.day "1,2,3"
723
+ call_for_create_action
724
+ # loading current resource again to check new task is creted and it matches task parameters
725
+ current_resource = call_for_load_current_resource
726
+ expect(current_resource.exists).to eq(true)
727
+ trigger_details = current_resource.task.trigger(0)
728
+ expect(current_resource.task.application_name).to eq(task_name)
729
+ expect(trigger_details[:trigger_type]).to eq(4)
730
+ expect(current_resource.task.principals[:run_level]).to eq(1)
731
+ expect(trigger_details[:type][:days]).to eq(7)
732
+ expect(trigger_details[:type][:months]).to eq(4095)
733
+ end
734
+
735
+ it "does not converge the resource if it is already converged" do
736
+ subject.day "1,2,3"
737
+ subject.run_action(:create)
738
+ subject.run_action(:create)
739
+ expect(subject).not_to be_updated_by_last_action
740
+ end
741
+
742
+ it "creates a scheduled task to run monthly on each wednesday of the month" do
743
+ subject.frequency_modifier "1"
744
+ call_for_create_action
745
+ # loading current resource again to check new task is creted and it matches task parameters
746
+ current_resource = call_for_load_current_resource
747
+ expect(current_resource.exists).to eq(true)
748
+ trigger_details = current_resource.task.trigger(0)
749
+ expect(current_resource.task.application_name).to eq(task_name)
750
+ expect(trigger_details[:trigger_type]).to eq(4)
751
+ expect(current_resource.task.principals[:run_level]).to eq(1)
752
+ expect(trigger_details[:type][:days]).to eq(1)
753
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
754
+ end
755
+
756
+ it "does not converge the resource if it is already converged" do
757
+ subject.frequency_modifier "2"
758
+ subject.run_action(:create)
759
+ subject.run_action(:create)
760
+ expect(subject).not_to be_updated_by_last_action
761
+ end
762
+
763
+ it "creates a scheduled task to run monthly on each wednesday of the month" do
764
+ subject.frequency_modifier "2"
765
+ subject.months = nil
766
+ call_for_create_action
767
+ # loading current resource again to check new task is creted and it matches task parameters
768
+ current_resource = call_for_load_current_resource
769
+ expect(current_resource.exists).to eq(true)
770
+ trigger_details = current_resource.task.trigger(0)
771
+ # loading current resource
772
+ expect(current_resource.task.application_name).to eq(task_name)
773
+ expect(trigger_details[:trigger_type]).to eq(4)
774
+ expect(current_resource.task.principals[:run_level]).to eq(1)
775
+ expect(trigger_details[:type][:days]).to eq(1)
776
+ expect(trigger_details[:type][:months]).to eq(2730) # windows_task_provider.send(:months_of_year)
777
+ end
778
+
779
+ it "does not converge the resource if it is already converged" do
780
+ subject.frequency_modifier "2"
781
+ subject.months = nil
782
+ subject.run_action(:create)
783
+ subject.run_action(:create)
784
+ expect(subject).not_to be_updated_by_last_action
785
+ end
786
+ end
787
+ end
788
+
789
+ ## ToDO: Add functional specs to handle frequency monthly with frequency modifier set as 1-12
790
+ context "frequency :once" do
791
+ subject do
792
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
793
+ new_resource.command task_name
794
+ new_resource.run_level :highest
795
+ new_resource.frequency :once
796
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
797
+ new_resource
798
+ end
799
+
800
+ context "when start_time is not provided" do
801
+ it "raises argument error" do
802
+ expect { subject.after_created }.to raise_error("`start_time` needs to be provided with `frequency :once`")
803
+ end
804
+ end
805
+
806
+ context "when start_time is provided" do
807
+ it "creates the scheduled task to run once at 5pm" do
808
+ subject.start_time "17:00"
809
+ call_for_create_action
810
+ # loading current resource again to check new task is creted and it matches task parameters
811
+ current_resource = call_for_load_current_resource
812
+ expect(current_resource.exists).to eq(true)
813
+ trigger_details = current_resource.task.trigger(0)
814
+ expect(current_resource.task.application_name).to eq(task_name)
815
+ expect(trigger_details[:trigger_type]).to eq(1)
816
+ expect(current_resource.task.principals[:run_level]).to eq(1)
817
+ expect("#{trigger_details[:start_hour]}:#{trigger_details[:start_minute]}" ).to eq(subject.start_time)
818
+ end
819
+
820
+ it "does not converge the resource if it is already converged" do
821
+ subject.start_time "17:00"
822
+ subject.run_action(:create)
823
+ subject.run_action(:create)
824
+ expect(subject).not_to be_updated_by_last_action
825
+ end
826
+ end
827
+ end
828
+
829
+ context "frequency :weekly" do
830
+ subject do
831
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
832
+ new_resource.command task_name
833
+ new_resource.run_level :highest
834
+ new_resource.frequency :weekly
835
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
836
+ new_resource
837
+ end
838
+
839
+ it "creates the scheduled task to run weekly" do
840
+ call_for_create_action
841
+ # loading current resource again to check new task is creted and it matches task parameters
842
+ current_resource = call_for_load_current_resource
843
+ expect(current_resource.exists).to eq(true)
844
+ trigger_details = current_resource.task.trigger(0)
845
+ expect(current_resource.task.application_name).to eq(task_name)
846
+ expect(current_resource.task.principals[:run_level]).to eq(1)
847
+ expect(trigger_details[:trigger_type]).to eq(3)
848
+ expect(trigger_details[:type][:weeks_interval]).to eq(1)
849
+ end
850
+
851
+ it "does not converge the resource if it is already converged" do
852
+ subject.run_action(:create)
853
+ subject.run_action(:create)
854
+ expect(subject).not_to be_updated_by_last_action
855
+ end
856
+
857
+ context "when wild card (*) is set as day" do
858
+ it "creates hte scheduled task for all days of week" do
859
+ subject.day "*"
860
+ call_for_create_action
861
+ # loading current resource again to check new task is creted and it matches task parameters
862
+ current_resource = call_for_load_current_resource
863
+ expect(current_resource.exists).to eq(true)
864
+ trigger_details = current_resource.task.trigger(0)
865
+ expect(current_resource.task.application_name).to eq(task_name)
866
+ expect(current_resource.task.principals[:run_level]).to eq(1)
867
+ expect(trigger_details[:trigger_type]).to eq(3)
868
+ expect(trigger_details[:type][:weeks_interval]).to eq(1)
869
+ expect(trigger_details[:type][:days_of_week]).to eq(127)
870
+ end
871
+
872
+ it "does not converge the resource if it is already converged" do
873
+ subject.day "*"
874
+ subject.run_action(:create)
875
+ subject.run_action(:create)
876
+ expect(subject).not_to be_updated_by_last_action
877
+ end
878
+ end
879
+
880
+ context "when days are provided" do
881
+ it "creates the scheduled task to run on particular days" do
882
+ subject.day "Mon, Fri"
883
+ subject.frequency_modifier 2
884
+ call_for_create_action
885
+ # loading current resource again to check new task is creted and it matches task parameters
886
+ current_resource = call_for_load_current_resource
887
+ expect(current_resource.exists).to eq(true)
888
+ trigger_details = current_resource.task.trigger(0)
889
+ expect(current_resource.task.application_name).to eq(task_name)
890
+ expect(current_resource.task.principals[:run_level]).to eq(1)
891
+ expect(trigger_details[:trigger_type]).to eq(3)
892
+ expect(trigger_details[:type][:weeks_interval]).to eq(2)
893
+ expect(trigger_details[:type][:days_of_week]).to eq(34)
894
+ end
895
+
896
+ it "updates the scheduled task to run on if frequency_modifier is updated" do
897
+ subject.day "sun"
898
+ subject.frequency_modifier 2
899
+ subject.run_action(:create)
900
+ current_resource = call_for_load_current_resource
901
+ trigger_details = current_resource.task.trigger(0)
902
+ expect(trigger_details[:type][:weeks_interval]).to eq(2)
903
+ expect(trigger_details[:type][:days_of_week]).to eq(1)
904
+ subject.day "Mon, Sun"
905
+ subject.frequency_modifier 3
906
+ # call for update
907
+ subject.run_action(:create)
908
+ expect(subject).to be_updated_by_last_action
909
+ current_resource = call_for_load_current_resource
910
+ expect(current_resource.exists).to eq(true)
911
+ trigger_details = current_resource.task.trigger(0)
912
+ expect(current_resource.task.application_name).to eq(task_name)
913
+ expect(current_resource.task.principals[:run_level]).to eq(1)
914
+ expect(trigger_details[:trigger_type]).to eq(3)
915
+ expect(trigger_details[:type][:weeks_interval]).to eq(3)
916
+ expect(trigger_details[:type][:days_of_week]).to eq(3)
917
+ end
918
+
919
+ it "does not converge the resource if it is already converged" do
920
+ subject.day "Mon, Fri"
921
+ subject.frequency_modifier 3
922
+ subject.run_action(:create)
923
+ subject.run_action(:create)
924
+ expect(subject).not_to be_updated_by_last_action
925
+ end
926
+ end
927
+
928
+ context "when day property set as last" do
929
+ it "raises argument error" do
930
+ subject.day "last"
931
+ expect { subject.after_created }.to raise_error("day values 1-31 or last is only valid with frequency :monthly")
932
+ end
933
+ end
934
+
935
+ context "when invalid day is passed" do
936
+ it "raises error" do
937
+ subject.day "abc"
938
+ expect { subject.after_created }.to raise_error("day property invalid. Only valid values are: MON, TUE, WED, THU, FRI, SAT, SUN, *. Multiple values must be separated by a comma.")
939
+ end
940
+ end
941
+
942
+ context "when months are passed" do
943
+ it "raises error that months are supported only when frequency=:monthly" do
944
+ subject.months "Jan"
945
+ expect { subject.after_created }.to raise_error("months property is only valid for tasks that run monthly")
946
+ end
947
+ end
948
+
949
+ context "when start_day is not set" do
950
+ it "does not converge the resource if it is already converged" do
951
+ subject.run_action(:create)
952
+ subject.run_action(:create)
953
+ expect(subject).not_to be_updated_by_last_action
954
+ end
955
+
956
+ it "updates the day if start_day is not provided and user updates day property" do
957
+ skip "Unable to run this test case since start_day is current system date which can be different each time so can't verify the dynamic values"
958
+ subject.run_action(:create)
959
+ current_resource = call_for_load_current_resource
960
+ expect(current_resource.exists).to eq(true)
961
+ trigger_details = current_resource.task.trigger(0)
962
+ expect(trigger_details[:type][:days_of_week]).to eq(8)
963
+ subject.day "Sat"
964
+ subject.run_action(:create)
965
+ # #loading current resource again to check new task is creted and it matches task parameters
966
+ current_resource = call_for_load_current_resource
967
+ expect(current_resource.exists).to eq(true)
968
+ trigger_details = current_resource.task.trigger(0)
969
+ expect(current_resource.task.application_name).to eq(task_name)
970
+ expect(current_resource.task.principals[:run_level]).to eq(1)
971
+ expect(trigger_details[:trigger_type]).to eq(3)
972
+ expect(trigger_details[:type][:weeks_interval]).to eq(1)
973
+ expect(trigger_details[:type][:days_of_week]).to eq(64)
974
+ end
975
+ end
976
+ end
977
+
978
+ context "frequency :onstart" do
979
+ subject do
980
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
981
+ new_resource.command task_name
982
+ new_resource.run_level :highest
983
+ new_resource.frequency :onstart
984
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
985
+ new_resource
986
+ end
987
+
988
+ it "creates the scheduled task to run at system start up" do
989
+ call_for_create_action
990
+ # loading current resource again to check new task is creted and it matches task parameters
991
+ current_resource = call_for_load_current_resource
992
+ expect(current_resource.exists).to eq(true)
993
+ trigger_details = current_resource.task.trigger(0)
994
+ expect(current_resource.task.application_name).to eq(task_name)
995
+ expect(current_resource.task.principals[:run_level]).to eq(1)
996
+ expect(trigger_details[:trigger_type]).to eq(8)
997
+ end
998
+
999
+ it "does not converge the resource if it is already converged" do
1000
+ subject.run_action(:create)
1001
+ subject.run_action(:create)
1002
+ expect(subject).not_to be_updated_by_last_action
1003
+ end
1004
+
1005
+ context "when start_day and start_time is set" do
1006
+ it "creates task to activate on '09/10/2018' at '15:00' when start_day = '09/10/2018' and start_time = '15:00' provided" do
1007
+ subject.start_day "09/10/2018"
1008
+ subject.start_time "15:00"
1009
+ call_for_create_action
1010
+ # loading current resource again to check new task is creted and it matches task parameters
1011
+ current_resource = call_for_load_current_resource
1012
+ expect(current_resource.exists).to eq(true)
1013
+ trigger_details = current_resource.task.trigger(0)
1014
+ expect(current_resource.task.application_name).to eq(task_name)
1015
+ expect(trigger_details[:trigger_type]).to eq(8)
1016
+ expect(trigger_details[:start_year]).to eq("2018")
1017
+ expect(trigger_details[:start_month]).to eq("09")
1018
+ expect(trigger_details[:start_day]).to eq("10")
1019
+ expect(trigger_details[:start_hour]).to eq("15")
1020
+ expect(trigger_details[:start_minute]).to eq("00")
1021
+ end
1022
+ end
1023
+ end
1024
+
1025
+ context "frequency :on_logon" do
1026
+ subject do
1027
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1028
+ new_resource.command task_name
1029
+ new_resource.run_level :highest
1030
+ new_resource.frequency :on_logon
1031
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1032
+ new_resource
1033
+ end
1034
+
1035
+ it "creates the scheduled task to on logon" do
1036
+ call_for_create_action
1037
+ # loading current resource again to check new task is creted and it matches task parameters
1038
+ current_resource = call_for_load_current_resource
1039
+ expect(current_resource.exists).to eq(true)
1040
+ trigger_details = current_resource.task.trigger(0)
1041
+ expect(current_resource.task.application_name).to eq(task_name)
1042
+ expect(current_resource.task.principals[:run_level]).to eq(1)
1043
+ expect(trigger_details[:trigger_type]).to eq(9)
1044
+ end
1045
+
1046
+ it "does not converge the resource if it is already converged" do
1047
+ subject.run_action(:create)
1048
+ subject.run_action(:create)
1049
+ expect(subject).not_to be_updated_by_last_action
1050
+ end
1051
+
1052
+ context "when start_day and start_time is set" do
1053
+ it "creates task to activate on '09/10/2018' at '15:00' when start_day = '09/10/2018' and start_time = '15:00' provided" do
1054
+ subject.start_day "09/10/2018"
1055
+ subject.start_time "15:00"
1056
+ call_for_create_action
1057
+ # loading current resource again to check new task is creted and it matches task parameters
1058
+ current_resource = call_for_load_current_resource
1059
+ expect(current_resource.exists).to eq(true)
1060
+ trigger_details = current_resource.task.trigger(0)
1061
+ expect(current_resource.task.application_name).to eq(task_name)
1062
+ expect(trigger_details[:trigger_type]).to eq(9)
1063
+ expect(trigger_details[:start_year]).to eq("2018")
1064
+ expect(trigger_details[:start_month]).to eq("09")
1065
+ expect(trigger_details[:start_day]).to eq("10")
1066
+ expect(trigger_details[:start_hour]).to eq("15")
1067
+ expect(trigger_details[:start_minute]).to eq("00")
1068
+ end
1069
+ end
1070
+ end
1071
+
1072
+ context "frequency :on_idle" do
1073
+ subject do
1074
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1075
+ new_resource.command task_name
1076
+ new_resource.run_level :highest
1077
+ new_resource.frequency :on_idle
1078
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1079
+ new_resource
1080
+ end
1081
+
1082
+ context "when idle_time is not passed" do
1083
+ it "raises error" do
1084
+ expect { subject.after_created }.to raise_error("idle_time value should be set for :on_idle frequency.")
1085
+ end
1086
+ end
1087
+
1088
+ context "when idle_time is passed" do
1089
+ it "creates the scheduled task to run when system is idle" do
1090
+ subject.idle_time 20
1091
+ call_for_create_action
1092
+ # loading current resource again to check new task is creted and it matches task parameters
1093
+ current_resource = call_for_load_current_resource
1094
+ expect(current_resource.exists).to eq(true)
1095
+ trigger_details = current_resource.task.trigger(0)
1096
+ expect(current_resource.task.application_name).to eq(task_name)
1097
+ expect(current_resource.task.principals[:run_level]).to eq(1)
1098
+ expect(trigger_details[:trigger_type]).to eq(6)
1099
+ expect(current_resource.task.settings[:idle_settings][:idle_duration]).to eq("PT20M")
1100
+ expect(current_resource.task.settings[:run_only_if_idle]).to eq(true)
1101
+ end
1102
+
1103
+ it "does not converge the resource if it is already converged" do
1104
+ subject.idle_time 20
1105
+ subject.run_action(:create)
1106
+ subject.run_action(:create)
1107
+ expect(subject).not_to be_updated_by_last_action
1108
+ end
1109
+ end
1110
+
1111
+ context "when start_day and start_time is set" do
1112
+ it "creates task to activate on '09/10/2018' at '15:00' when start_day = '09/10/2018' and start_time = '15:00' provided" do
1113
+ subject.idle_time 20
1114
+ subject.start_day "09/10/2018"
1115
+ subject.start_time "15:00"
1116
+ call_for_create_action
1117
+ # loading current resource again to check new task is creted and it matches task parameters
1118
+ current_resource = call_for_load_current_resource
1119
+ expect(current_resource.exists).to eq(true)
1120
+ trigger_details = current_resource.task.trigger(0)
1121
+ expect(current_resource.task.application_name).to eq(task_name)
1122
+ expect(trigger_details[:trigger_type]).to eq(6)
1123
+ expect(trigger_details[:start_year]).to eq("2018")
1124
+ expect(trigger_details[:start_month]).to eq("09")
1125
+ expect(trigger_details[:start_day]).to eq("10")
1126
+ expect(trigger_details[:start_hour]).to eq("15")
1127
+ expect(trigger_details[:start_minute]).to eq("00")
1128
+ end
1129
+ end
1130
+ end
1131
+
1132
+ context "when random_delay is passed" do
1133
+ subject do
1134
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1135
+ new_resource.command task_name
1136
+ new_resource.run_level :highest
1137
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1138
+ new_resource
1139
+ end
1140
+
1141
+ it "sets the random_delay for frequency :minute" do
1142
+ subject.frequency :minute
1143
+ subject.random_delay "20"
1144
+ call_for_create_action
1145
+ # loading current resource again to check new task is creted and it matches task parameters
1146
+ current_resource = call_for_load_current_resource
1147
+ expect(current_resource.exists).to eq(true)
1148
+ trigger_details = current_resource.task.trigger(0)
1149
+ expect(current_resource.task.application_name).to eq(task_name)
1150
+ expect(current_resource.task.principals[:run_level]).to eq(1)
1151
+ expect(trigger_details[:trigger_type]).to eq(1)
1152
+ expect(trigger_details[:random_minutes_interval]).to eq(20)
1153
+ end
1154
+
1155
+ it "does not converge the resource if it is already converged" do
1156
+ subject.frequency :minute
1157
+ subject.random_delay "20"
1158
+ subject.run_action(:create)
1159
+ subject.run_action(:create)
1160
+ expect(subject).not_to be_updated_by_last_action
1161
+ end
1162
+
1163
+ it "raises error if invalid random_delay is passed" do
1164
+ subject.frequency :minute
1165
+ subject.random_delay "abc"
1166
+ expect { subject.after_created }.to raise_error("Invalid value passed for `random_delay`. Please pass seconds as an Integer (e.g. 60) or a String with numeric values only (e.g. '60').")
1167
+ end
1168
+
1169
+ it "raises error if random_delay is passed with frequency on_idle" do
1170
+ subject.frequency :on_idle
1171
+ subject.random_delay "20"
1172
+ expect { subject.after_created }.to raise_error("`random_delay` property is supported only for frequency :once, :minute, :hourly, :daily, :weekly and :monthly")
1173
+ end
1174
+ end
1175
+
1176
+ context "when battery options are passed" do
1177
+ subject do
1178
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1179
+ new_resource.command task_name
1180
+ new_resource.run_level :highest
1181
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1182
+ new_resource
1183
+ end
1184
+
1185
+ it "sets the default if options are not provided" do
1186
+ subject.frequency :minute
1187
+ call_for_create_action
1188
+ # loading current resource again to check new task is created and it matches task parameters
1189
+ current_resource = call_for_load_current_resource
1190
+ expect(current_resource.exists).to eq(true)
1191
+ expect(current_resource.stop_if_going_on_batteries).to eql(false)
1192
+ expect(current_resource.disallow_start_if_on_batteries).to eql(false)
1193
+ end
1194
+
1195
+ it "sets disallow_start_if_on_batteries to true" do
1196
+ subject.frequency :minute
1197
+ subject.disallow_start_if_on_batteries true
1198
+ call_for_create_action
1199
+ # loading current resource again to check new task is created and it matches task parameters
1200
+ current_resource = call_for_load_current_resource
1201
+ expect(current_resource.exists).to eq(true)
1202
+ expect(current_resource.task.settings[:disallow_start_if_on_batteries]).to eql(true)
1203
+ end
1204
+
1205
+ it "sets disallow_start_if_on_batteries to false" do
1206
+ subject.frequency :minute
1207
+ subject.disallow_start_if_on_batteries false
1208
+ call_for_create_action
1209
+ # loading current resource again to check new task is created and it matches task parameters
1210
+ current_resource = call_for_load_current_resource
1211
+ expect(current_resource.exists).to eq(true)
1212
+ expect(current_resource.task.settings[:disallow_start_if_on_batteries]).to eql(false)
1213
+ end
1214
+
1215
+ it "sets stop_if_going_on_batteries to true" do
1216
+ subject.frequency :minute
1217
+ subject.stop_if_going_on_batteries true
1218
+ call_for_create_action
1219
+ # loading current resource again to check new task is creted and it matches task parameters
1220
+ current_resource = call_for_load_current_resource
1221
+ expect(current_resource.exists).to eq(true)
1222
+ expect(current_resource.task.settings[:stop_if_going_on_batteries]).to eql(true)
1223
+ end
1224
+
1225
+ it "sets stop_if_going_on_batteries to false" do
1226
+ subject.frequency :minute
1227
+ subject.stop_if_going_on_batteries false
1228
+ call_for_create_action
1229
+ # loading current resource again to check new task is created and it matches task parameters
1230
+ current_resource = call_for_load_current_resource
1231
+ expect(current_resource.exists).to eq(true)
1232
+ expect(current_resource.task.settings[:stop_if_going_on_batteries]).to eql(false)
1233
+ end
1234
+
1235
+ it "sets the default if options are nil" do
1236
+ subject.frequency :minute
1237
+ subject.stop_if_going_on_batteries nil
1238
+ subject.disallow_start_if_on_batteries nil
1239
+ call_for_create_action
1240
+ # loading current resource again to check new task is created and it matches task parameters
1241
+ current_resource = call_for_load_current_resource
1242
+ expect(current_resource.exists).to eq(true)
1243
+ expect(current_resource.task.settings[:stop_if_going_on_batteries]).to eql(false)
1244
+ expect(current_resource.task.settings[:disallow_start_if_on_batteries]).to eql(false)
1245
+ end
1246
+
1247
+ it "does not converge the resource if it is already converged" do
1248
+ subject.frequency :minute
1249
+ subject.stop_if_going_on_batteries true
1250
+ subject.disallow_start_if_on_batteries false
1251
+ subject.run_action(:create)
1252
+ subject.frequency :minute
1253
+ subject.stop_if_going_on_batteries true
1254
+ subject.disallow_start_if_on_batteries false
1255
+ subject.run_action(:create)
1256
+ expect(subject).not_to be_updated_by_last_action
1257
+ end
1258
+ end
1259
+
1260
+ context "frequency :none" do
1261
+ subject do
1262
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1263
+ new_resource.command task_name
1264
+ new_resource.run_level :highest
1265
+ new_resource.frequency :none
1266
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1267
+ new_resource
1268
+ end
1269
+
1270
+ it "creates the scheduled task to run on demand only" do
1271
+ call_for_create_action
1272
+ # loading current resource again to check new task is creted and it matches task parameters
1273
+ current_resource = call_for_load_current_resource
1274
+ expect(current_resource.exists).to eq(true)
1275
+
1276
+ expect(current_resource.task.application_name).to eq(task_name)
1277
+ expect(current_resource.task.principals[:run_level]).to eq(1)
1278
+ expect(current_resource.task.trigger_count).to eq(0)
1279
+ end
1280
+
1281
+ it "does not converge the resource if it is already converged" do
1282
+ subject.run_action(:create)
1283
+ subject.run_action(:create)
1284
+ expect(subject).not_to be_updated_by_last_action
1285
+ end
1286
+ end
1287
+
1288
+ context "when start_when_available is passed" do
1289
+ subject do
1290
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1291
+ new_resource.command task_name
1292
+ new_resource.run_level :highest
1293
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1294
+ new_resource
1295
+ end
1296
+
1297
+ it "sets start_when_available to true" do
1298
+ subject.frequency :minute
1299
+ subject.start_when_available true
1300
+ call_for_create_action
1301
+ # loading current resource again to check new task is creted and it matches task parameters
1302
+ current_resource = call_for_load_current_resource
1303
+ expect(current_resource.exists).to eq(true)
1304
+ expect(current_resource.task.settings[:start_when_available]).to eql(true)
1305
+ end
1306
+
1307
+ it "sets start_when_available to false" do
1308
+ subject.frequency :minute
1309
+ subject.start_when_available false
1310
+ call_for_create_action
1311
+ # loading current resource again to check new task is created and it matches task parameters
1312
+ current_resource = call_for_load_current_resource
1313
+ expect(current_resource.exists).to eq(true)
1314
+ expect(current_resource.task.settings[:start_when_available]).to eql(false)
1315
+ end
1316
+
1317
+ it "sets the default if start_when_available is nil" do
1318
+ subject.frequency :minute
1319
+ subject.start_when_available nil
1320
+ call_for_create_action
1321
+ # loading current resource again to check new task is created and it matches task parameters
1322
+ current_resource = call_for_load_current_resource
1323
+ expect(current_resource.exists).to eq(true)
1324
+ expect(current_resource.task.settings[:start_when_available]).to eql(false)
1325
+ end
1326
+
1327
+ it "does not converge the resource if it is already converged" do
1328
+ subject.frequency :minute
1329
+ subject.start_when_available true
1330
+ subject.run_action(:create)
1331
+ subject.frequency :minute
1332
+ subject.start_when_available true
1333
+ subject.disallow_start_if_on_batteries false
1334
+ subject.run_action(:create)
1335
+ expect(subject).not_to be_updated_by_last_action
1336
+ end
1337
+ end
1338
+ end
1339
+
1340
+ context "task_name with parent folder" do
1341
+ describe "task_name with path '\\foo\\chef-client-functional-test' " do
1342
+ let(:task_name) { "\\foo\\chef-client-functional-test" }
1343
+ after { delete_task }
1344
+ subject do
1345
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1346
+ new_resource.command task_name
1347
+ new_resource.run_level :highest
1348
+ new_resource.frequency :once
1349
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1350
+ new_resource
1351
+ end
1352
+
1353
+ it "creates the scheduled task with task name 'chef-client-functional-test' inside path '\\foo'" do
1354
+ call_for_create_action
1355
+ current_resource = call_for_load_current_resource
1356
+ expect(current_resource.exists).to eq(true)
1357
+ expect(current_resource.task.application_name).to eq(task_name)
1358
+ end
1359
+
1360
+ it "does not converge the resource if it is already converged" do
1361
+ subject.run_action(:create)
1362
+ subject.run_action(:create)
1363
+ expect(subject).not_to be_updated_by_last_action
1364
+ end
1365
+ end
1366
+
1367
+ describe "task_name with path '\\foo\\bar\\chef-client-functional-test' " do
1368
+ let(:task_name) { "\\foo\\bar\\chef-client-functional-test" }
1369
+ after { delete_task }
1370
+ subject do
1371
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1372
+ new_resource.command task_name
1373
+ new_resource.run_level :highest
1374
+ new_resource.frequency :once
1375
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1376
+ new_resource
1377
+ end
1378
+
1379
+ it "creates the scheduled task with task with name 'chef-client-functional-test' inside path '\\foo\\bar' " do
1380
+ call_for_create_action
1381
+ current_resource = call_for_load_current_resource
1382
+ expect(current_resource.exists).to eq(true)
1383
+ expect(current_resource.task.application_name).to eq(task_name)
1384
+ end
1385
+
1386
+ it "does not converge the resource if it is already converged" do
1387
+ subject.run_action(:create)
1388
+ subject.run_action(:create)
1389
+ expect(subject).not_to be_updated_by_last_action
1390
+ end
1391
+ end
1392
+ end
1393
+
1394
+ describe "priority" do
1395
+ after { delete_task }
1396
+ subject do
1397
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1398
+ new_resource.command task_name
1399
+ new_resource.frequency :once
1400
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1401
+ new_resource
1402
+ end
1403
+
1404
+ it "default sets to 7" do
1405
+ call_for_create_action
1406
+ current_resource = call_for_load_current_resource
1407
+ expect(current_resource.task.priority).to eq("below_normal_7")
1408
+ end
1409
+
1410
+ it "0 sets priority level to critical" do
1411
+ subject.priority = 0
1412
+ call_for_create_action
1413
+ current_resource = call_for_load_current_resource
1414
+ expect(current_resource.task.priority).to eq("critical")
1415
+ end
1416
+
1417
+ it "2 sets priority level to highest" do
1418
+ subject.priority = 1
1419
+ call_for_create_action
1420
+ current_resource = call_for_load_current_resource
1421
+ expect(current_resource.task.priority).to eq("highest")
1422
+ end
1423
+
1424
+ it "2 sets priority level to above_normal" do
1425
+ subject.priority = 2
1426
+ call_for_create_action
1427
+ current_resource = call_for_load_current_resource
1428
+ expect(current_resource.task.priority).to eq("above_normal_2")
1429
+ end
1430
+
1431
+ it "3 sets priority level to above_normal" do
1432
+ subject.priority = 3
1433
+ call_for_create_action
1434
+ current_resource = call_for_load_current_resource
1435
+ expect(current_resource.task.priority).to eq("above_normal_3")
1436
+ end
1437
+
1438
+ it "4 sets priority level to normal" do
1439
+ subject.priority = 4
1440
+ call_for_create_action
1441
+ current_resource = call_for_load_current_resource
1442
+ expect(current_resource.task.priority).to eq("normal_4")
1443
+ end
1444
+
1445
+ it "5 sets priority level to normal" do
1446
+ subject.priority = 5
1447
+ call_for_create_action
1448
+ current_resource = call_for_load_current_resource
1449
+ expect(current_resource.task.priority).to eq("normal_5")
1450
+ end
1451
+
1452
+ it "6 sets priority level to normal" do
1453
+ subject.priority = 6
1454
+ call_for_create_action
1455
+ current_resource = call_for_load_current_resource
1456
+ expect(current_resource.task.priority).to eq("normal_6")
1457
+ end
1458
+
1459
+ it "7 sets priority level to below_normal" do
1460
+ subject.priority = 7
1461
+ call_for_create_action
1462
+ current_resource = call_for_load_current_resource
1463
+ expect(current_resource.task.priority).to eq("below_normal_7")
1464
+ end
1465
+
1466
+ it "8 sets priority level to below_normal" do
1467
+ subject.priority = 8
1468
+ call_for_create_action
1469
+ current_resource = call_for_load_current_resource
1470
+ expect(current_resource.task.priority).to eq("below_normal_8")
1471
+ end
1472
+
1473
+ it "9 sets priority level to lowest" do
1474
+ subject.priority = 9
1475
+ call_for_create_action
1476
+ current_resource = call_for_load_current_resource
1477
+ expect(current_resource.task.priority).to eq("lowest")
1478
+ end
1479
+
1480
+ it "10 sets priority level to idle" do
1481
+ subject.priority = 10
1482
+ call_for_create_action
1483
+ current_resource = call_for_load_current_resource
1484
+ expect(current_resource.task.priority).to eq("idle")
1485
+ end
1486
+
1487
+ it "is idempotent" do
1488
+ subject.priority 8
1489
+ subject.run_action(:create)
1490
+ subject.run_action(:create)
1491
+ expect(subject).not_to be_updated_by_last_action
1492
+ end
1493
+
1494
+ end
1495
+
1496
+ describe "Examples of idempotent checks for each frequency" do
1497
+ after { delete_task }
1498
+ context "For frequency :once" do
1499
+ subject do
1500
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1501
+ new_resource.command task_name
1502
+ new_resource.run_level :highest
1503
+ new_resource.frequency :once
1504
+ new_resource.start_time "17:00"
1505
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1506
+ new_resource
1507
+ end
1508
+
1509
+ it "create task by adding frequency_modifier as 1" do
1510
+ subject.frequency_modifier 1
1511
+ subject.run_action(:create)
1512
+ subject.run_action(:create)
1513
+ expect(subject).not_to be_updated_by_last_action
1514
+ end
1515
+
1516
+ it "create task by adding frequency_modifier as 5" do
1517
+ subject.frequency_modifier 5
1518
+ subject.run_action(:create)
1519
+ subject.run_action(:create)
1520
+ expect(subject).not_to be_updated_by_last_action
1521
+ end
1522
+ end
1523
+
1524
+ context "For frequency :none" do
1525
+ subject do
1526
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1527
+ new_resource.command task_name
1528
+ new_resource.run_level :highest
1529
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1530
+ new_resource.frequency :none
1531
+ new_resource
1532
+ end
1533
+
1534
+ it "create task by adding frequency_modifier as 1" do
1535
+ subject.frequency_modifier 1
1536
+ subject.run_action(:create)
1537
+ subject.run_action(:create)
1538
+ expect(subject).not_to be_updated_by_last_action
1539
+ end
1540
+
1541
+ it "create task by adding frequency_modifier as 5" do
1542
+ subject.frequency_modifier 5
1543
+ subject.run_action(:create)
1544
+ subject.run_action(:create)
1545
+ expect(subject).not_to be_updated_by_last_action
1546
+ end
1547
+ end
1548
+
1549
+ context "For frequency :weekly" do
1550
+ subject do
1551
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1552
+ new_resource.command task_name
1553
+ new_resource.run_level :highest
1554
+ new_resource.frequency :weekly
1555
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1556
+ new_resource
1557
+ end
1558
+
1559
+ it "create task by adding start_day" do
1560
+ subject.start_day "12/28/2018"
1561
+ subject.run_action(:create)
1562
+ subject.run_action(:create)
1563
+ expect(subject).not_to be_updated_by_last_action
1564
+ end
1565
+
1566
+ it "create task by adding frequency_modifier and random_delay" do
1567
+ subject.frequency_modifier 3
1568
+ subject.random_delay "60"
1569
+ subject.run_action(:create)
1570
+ subject.run_action(:create)
1571
+ expect(subject).not_to be_updated_by_last_action
1572
+ end
1573
+ end
1574
+
1575
+ context "For frequency :monthly" do
1576
+ subject do
1577
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1578
+ new_resource.command task_name
1579
+ new_resource.run_level :highest
1580
+ new_resource.frequency :once
1581
+ new_resource.start_time "17:00"
1582
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1583
+ new_resource
1584
+ end
1585
+
1586
+ it "create task by adding frequency_modifier as 1" do
1587
+ subject.frequency_modifier 1
1588
+ subject.run_action(:create)
1589
+ subject.run_action(:create)
1590
+ expect(subject).not_to be_updated_by_last_action
1591
+ end
1592
+
1593
+ it "create task by adding frequency_modifier as 5" do
1594
+ subject.frequency_modifier 5
1595
+ subject.run_action(:create)
1596
+ subject.run_action(:create)
1597
+ expect(subject).not_to be_updated_by_last_action
1598
+ end
1599
+ end
1600
+
1601
+ context "For frequency :hourly" do
1602
+ subject do
1603
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1604
+ new_resource.command task_name
1605
+ new_resource.run_level :highest
1606
+ new_resource.frequency :hourly
1607
+ new_resource.frequency_modifier 5
1608
+ new_resource.random_delay "2400"
1609
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1610
+ new_resource
1611
+ end
1612
+
1613
+ it "create task by adding frequency_modifier and random_delay" do
1614
+ subject.run_action(:create)
1615
+ subject.run_action(:create)
1616
+ expect(subject).not_to be_updated_by_last_action
1617
+ end
1618
+ end
1619
+
1620
+ context "For frequency :daily" do
1621
+ subject do
1622
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1623
+ new_resource.command task_name
1624
+ new_resource.run_level :highest
1625
+ new_resource.frequency :daily
1626
+ new_resource.frequency_modifier 2
1627
+ new_resource.random_delay "2400"
1628
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1629
+ new_resource
1630
+ end
1631
+
1632
+ it "create task by adding frequency_modifier and random_delay" do
1633
+ subject.run_action(:create)
1634
+ subject.run_action(:create)
1635
+ expect(subject).not_to be_updated_by_last_action
1636
+ end
1637
+ end
1638
+
1639
+ context "For frequency :on_logon" do
1640
+ subject do
1641
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1642
+ new_resource.command task_name
1643
+ new_resource.frequency :on_logon
1644
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1645
+ new_resource
1646
+ end
1647
+
1648
+ it "create task by adding frequency_modifier and random_delay" do
1649
+ subject.run_action(:create)
1650
+ subject.run_action(:create)
1651
+ expect(subject).not_to be_updated_by_last_action
1652
+ end
1653
+
1654
+ it "create task by adding frequency_modifier as 5" do
1655
+ subject.frequency_modifier 5
1656
+ subject.run_action(:create)
1657
+ subject.run_action(:create)
1658
+ expect(subject).not_to be_updated_by_last_action
1659
+ end
1660
+ end
1661
+
1662
+ context "For frequency :onstart" do
1663
+ subject do
1664
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1665
+ new_resource.command task_name
1666
+ new_resource.run_level :highest
1667
+ new_resource.frequency :onstart
1668
+ new_resource.frequency_modifier 20
1669
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1670
+ new_resource
1671
+ end
1672
+
1673
+ it "create task by adding frequency_modifier as 20" do
1674
+ subject.run_action(:create)
1675
+ subject.run_action(:create)
1676
+ expect(subject).not_to be_updated_by_last_action
1677
+ end
1678
+ end
1679
+ end
1680
+
1681
+ describe "#after_created" do
1682
+ subject do
1683
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1684
+ new_resource.command task_name
1685
+ new_resource.run_level :highest
1686
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1687
+ new_resource
1688
+ end
1689
+
1690
+ context "when start_day is passed with frequency :onstart" do
1691
+ it "does not raises error" do
1692
+ subject.frequency :onstart
1693
+ subject.start_day "09/20/2017"
1694
+ expect { subject.after_created }.not_to raise_error
1695
+ end
1696
+ end
1697
+
1698
+ context "when a non system user is passed without password" do
1699
+ it "raises error" do
1700
+ subject.user "USER"
1701
+ subject.frequency :onstart
1702
+ expect { subject.after_created }.to raise_error(%q{Please provide a password or check if this task needs to be interactive! Valid passwordless users are: 'SYSTEM', 'NT AUTHORITY\SYSTEM', 'LOCAL SERVICE', 'NT AUTHORITY\LOCAL SERVICE', 'NETWORK SERVICE', 'NT AUTHORITY\NETWORK SERVICE', 'ADMINISTRATORS', 'BUILTIN\ADMINISTRATORS', 'USERS', 'BUILTIN\USERS', 'GUESTS', 'BUILTIN\GUESTS'})
1703
+ end
1704
+ it "does not raises error when task is interactive" do
1705
+ subject.user "USER"
1706
+ subject.frequency :onstart
1707
+ subject.interactive_enabled true
1708
+ expect { subject.after_created }.not_to raise_error
1709
+ end
1710
+ end
1711
+
1712
+ context "when a system user is passed without password" do
1713
+ it "does not raises error" do
1714
+ subject.user "ADMINISTRATORS"
1715
+ subject.frequency :onstart
1716
+ expect { subject.after_created }.not_to raise_error
1717
+ end
1718
+ it "does not raises error when task is interactive" do
1719
+ subject.user "ADMINISTRATORS"
1720
+ subject.frequency :onstart
1721
+ subject.interactive_enabled true
1722
+ expect { subject.after_created }.not_to raise_error
1723
+ end
1724
+ end
1725
+
1726
+ context "when a non system user is passed with password" do
1727
+ it "does not raises error" do
1728
+ subject.user "USER"
1729
+ subject.password "XXXX"
1730
+ subject.frequency :onstart
1731
+ expect { subject.after_created }.not_to raise_error
1732
+ end
1733
+ it "does not raises error when task is interactive" do
1734
+ subject.user "USER"
1735
+ subject.password "XXXX"
1736
+ subject.frequency :onstart
1737
+ subject.interactive_enabled true
1738
+ expect { subject.after_created }.not_to raise_error
1739
+ end
1740
+ end
1741
+
1742
+ context "when a system user is passed with password" do
1743
+ it "raises error" do
1744
+ subject.user "ADMINISTRATORS"
1745
+ subject.password "XXXX"
1746
+ subject.frequency :onstart
1747
+ expect { subject.after_created }.to raise_error("Password is not required for system users.")
1748
+ end
1749
+ it "raises error when task is interactive" do
1750
+ subject.user "ADMINISTRATORS"
1751
+ subject.password "XXXX"
1752
+ subject.frequency :onstart
1753
+ subject.interactive_enabled true
1754
+ expect { subject.after_created }.to raise_error("Password is not required for system users.")
1755
+ end
1756
+ end
1757
+
1758
+ context "when frequency_modifier > 1439 is passed for frequency=:minute" do
1759
+ it "raises error" do
1760
+ subject.frequency_modifier 1450
1761
+ subject.frequency :minute
1762
+ expect { subject.after_created }.to raise_error("frequency_modifier value 1450 is invalid. Valid values for :minute frequency are 1 - 1439.")
1763
+ end
1764
+ end
1765
+
1766
+ context "when frequency_modifier > 23 is passed for frequency=:minute" do
1767
+ it "raises error" do
1768
+ subject.frequency_modifier 24
1769
+ subject.frequency :hourly
1770
+ expect { subject.after_created }.to raise_error("frequency_modifier value 24 is invalid. Valid values for :hourly frequency are 1 - 23.")
1771
+ end
1772
+ end
1773
+
1774
+ context "when frequency_modifier > 23 is passed for frequency=:minute" do
1775
+ it "raises error" do
1776
+ subject.frequency_modifier 366
1777
+ subject.frequency :daily
1778
+ expect { subject.after_created }.to raise_error("frequency_modifier value 366 is invalid. Valid values for :daily frequency are 1 - 365.")
1779
+ end
1780
+ end
1781
+
1782
+ context "when frequency_modifier > 52 is passed for frequency=:minute" do
1783
+ it "raises error" do
1784
+ subject.frequency_modifier 53
1785
+ subject.frequency :weekly
1786
+ expect { subject.after_created }.to raise_error("frequency_modifier value 53 is invalid. Valid values for :weekly frequency are 1 - 52.")
1787
+ end
1788
+ end
1789
+
1790
+ context "when invalid frequency_modifier is passed for :monthly frequency" do
1791
+ it "raises error" do
1792
+ subject.frequency :monthly
1793
+ subject.frequency_modifier "13"
1794
+ expect { subject.after_created }.to raise_error("frequency_modifier value 13 is invalid. Valid values for :monthly frequency are 1 - 12, 'FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST'.")
1795
+ end
1796
+ end
1797
+
1798
+ context "when invalid frequency_modifier is passed for :monthly frequency" do
1799
+ it "raises error" do
1800
+ subject.frequency :monthly
1801
+ subject.frequency_modifier "xyz"
1802
+ expect { subject.after_created }.to raise_error("frequency_modifier value xyz is invalid. Valid values for :monthly frequency are 1 - 12, 'FIRST', 'SECOND', 'THIRD', 'FOURTH', 'LAST'.")
1803
+ end
1804
+ end
1805
+
1806
+ context "when invalid months are passed" do
1807
+ it "raises error" do
1808
+ subject.months "xyz"
1809
+ subject.frequency :monthly
1810
+ expect { subject.after_created }.to raise_error("months property invalid. Only valid values are: JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, *. Multiple values must be separated by a comma.")
1811
+ end
1812
+ end
1813
+
1814
+ context "when idle_time > 999 is passed" do
1815
+ it "raises error" do
1816
+ subject.idle_time 1000
1817
+ subject.frequency :on_idle
1818
+ expect { subject.after_created }.to raise_error("idle_time value 1000 is invalid. Valid values for :on_idle frequency are 1 - 999.")
1819
+ end
1820
+ end
1821
+
1822
+ context "when idle_time is passed for frequency=:monthly" do
1823
+ it "raises error" do
1824
+ subject.idle_time 300
1825
+ subject.frequency :monthly
1826
+ expect { subject.after_created }.to raise_error("idle_time property is only valid for tasks that run on_idle")
1827
+ end
1828
+ end
1829
+ end
1830
+
1831
+ describe "action :delete" do
1832
+ subject do
1833
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1834
+ new_resource.command task_name
1835
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accepts this
1836
+ new_resource.frequency :hourly
1837
+ new_resource
1838
+ end
1839
+
1840
+ it "does not converge the resource if it is already converged" do
1841
+ subject.run_action(:create)
1842
+ subject.run_action(:delete)
1843
+ subject.run_action(:delete)
1844
+ expect(subject).not_to be_updated_by_last_action
1845
+ end
1846
+
1847
+ it "does not converge the resource if it is already converged" do
1848
+ subject.run_action(:create)
1849
+ subject.run_action(:delete)
1850
+ subject.run_action(:delete)
1851
+ expect(subject).not_to be_updated_by_last_action
1852
+ end
1853
+ end
1854
+
1855
+ describe "action :run" do
1856
+ after { delete_task }
1857
+
1858
+ subject do
1859
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1860
+ new_resource.command "dir"
1861
+ new_resource.run_level :highest
1862
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since
1863
+ new_resource.frequency :hourly
1864
+ new_resource
1865
+ end
1866
+
1867
+ it "runs the existing task" do
1868
+ subject.run_action(:create)
1869
+ subject.run_action(:run)
1870
+ current_resource = call_for_load_current_resource
1871
+ expect(current_resource.task.status).to eq("queued").or eq("running").or eq("ready") # queued or can be running
1872
+ end
1873
+ end
1874
+
1875
+ describe "action :end", :volatile do
1876
+ after { delete_task }
1877
+
1878
+ subject do
1879
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1880
+ new_resource.command "dir"
1881
+ new_resource.run_level :highest
1882
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since
1883
+ new_resource
1884
+ end
1885
+
1886
+ it "ends the running task" do
1887
+ subject.run_action(:create)
1888
+ subject.run_action(:run)
1889
+ subject.run_action(:end)
1890
+ current_resource = call_for_load_current_resource
1891
+ expect(current_resource.task.status).to eq("queued").or eq("ready") # queued or can be ready
1892
+ end
1893
+ end
1894
+
1895
+ describe "action :enable" do
1896
+ let(:task_name) { "chef-client-functional-test-enable" }
1897
+ after { delete_task }
1898
+
1899
+ subject do
1900
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1901
+ new_resource.command task_name
1902
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since
1903
+ new_resource.frequency :hourly
1904
+ new_resource
1905
+ end
1906
+
1907
+ it "enables the disabled task" do
1908
+ subject.run_action(:create)
1909
+ subject.run_action(:disable)
1910
+ current_resource = call_for_load_current_resource
1911
+ expect(current_resource.task.status).to eq("not scheduled")
1912
+ subject.run_action(:enable)
1913
+ current_resource = call_for_load_current_resource
1914
+ expect(current_resource.task.status).to eq("ready")
1915
+ end
1916
+ end
1917
+
1918
+ describe "action :disable" do
1919
+ let(:task_name) { "chef-client-functional-test-disable" }
1920
+ after { delete_task }
1921
+
1922
+ subject do
1923
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1924
+ new_resource.command task_name
1925
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since
1926
+ new_resource.frequency :hourly
1927
+ new_resource
1928
+ end
1929
+
1930
+ it "disables the task" do
1931
+ subject.run_action(:create)
1932
+ subject.run_action(:disable)
1933
+ current_resource = call_for_load_current_resource
1934
+ expect(current_resource.task.status).to eq("not scheduled")
1935
+ end
1936
+ end
1937
+
1938
+ describe "action :change" do
1939
+ after { delete_task }
1940
+ subject do
1941
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1942
+ new_resource.command task_name
1943
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since
1944
+ new_resource.frequency :hourly
1945
+ new_resource
1946
+ end
1947
+
1948
+ it "call action_create since change action is alias for create" do
1949
+ subject.run_action(:change)
1950
+ expect(subject).to be_updated_by_last_action
1951
+ end
1952
+ end
1953
+
1954
+ def delete_task
1955
+ task_to_delete = Chef::Resource::WindowsTask.new(task_name, run_context)
1956
+ task_to_delete.run_action(:delete)
1957
+ end
1958
+
1959
+ def call_for_create_action
1960
+ current_resource = call_for_load_current_resource
1961
+ expect(current_resource.exists).to eq(false)
1962
+ subject.run_action(:create)
1963
+ expect(subject).to be_updated_by_last_action
1964
+ end
1965
+
1966
+ def call_for_load_current_resource
1967
+ windows_task_provider.send(:load_current_resource)
1968
+ end
1969
+ end