chef 16.18.30-universal-mingw32 → 17.0.242-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (881) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -22
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -2
  6. data/chef.gemspec +7 -10
  7. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  8. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/Ijwhost.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/concrt140.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/host/fxr/5.0.0/hostfxr.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/msvcp140.dll +0 -0
  13. data/distro/ruby_bin_folder/AMD64/msvcp140_1.dll +0 -0
  14. data/distro/ruby_bin_folder/AMD64/msvcp140_2.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/msvcp140_atomic_wait.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/msvcp140_codecvt_ids.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Ijwhost.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.CSharp.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +180 -180
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.Core.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.VisualBasic.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Primitives.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.Win32.Registry.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.AppContext.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Buffers.dll +0 -0
  29. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Concurrent.dll +0 -0
  30. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Immutable.dll +0 -0
  31. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.NonGeneric.dll +0 -0
  32. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.Specialized.dll +0 -0
  33. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Collections.dll +0 -0
  34. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Annotations.dll +0 -0
  35. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.DataAnnotations.dll +0 -0
  36. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.EventBasedAsync.dll +0 -0
  37. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.Primitives.dll +0 -0
  38. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.TypeConverter.dll +0 -0
  39. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ComponentModel.dll +0 -0
  40. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Configuration.dll +0 -0
  41. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Console.dll +0 -0
  42. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Core.dll +0 -0
  43. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.Common.dll +0 -0
  44. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.DataSetExtensions.dll +0 -0
  45. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Data.dll +0 -0
  46. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Contracts.dll +0 -0
  47. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Debug.dll +0 -0
  48. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.DiagnosticSource.dll +0 -0
  49. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.FileVersionInfo.dll +0 -0
  50. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Process.dll +0 -0
  51. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.StackTrace.dll +0 -0
  52. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TextWriterTraceListener.dll +0 -0
  53. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tools.dll +0 -0
  54. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.TraceSource.dll +0 -0
  55. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.Tracing.dll +0 -0
  56. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Primitives.dll +0 -0
  57. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.dll +0 -0
  58. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Dynamic.Runtime.dll +0 -0
  59. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Formats.Asn1.dll +0 -0
  60. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Calendars.dll +0 -0
  61. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.Extensions.dll +0 -0
  62. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Globalization.dll +0 -0
  63. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.Brotli.dll +0 -0
  64. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.FileSystem.dll +0 -0
  65. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.ZipFile.dll +0 -0
  66. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Compression.dll +0 -0
  67. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.AccessControl.dll +0 -0
  68. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.DriveInfo.dll +0 -0
  69. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Primitives.dll +0 -0
  70. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.Watcher.dll +0 -0
  71. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.FileSystem.dll +0 -0
  72. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.IsolatedStorage.dll +0 -0
  73. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.MemoryMappedFiles.dll +0 -0
  74. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.AccessControl.dll +0 -0
  75. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.Pipes.dll +0 -0
  76. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.UnmanagedMemoryStream.dll +0 -0
  77. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.IO.dll +0 -0
  78. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Expressions.dll +0 -0
  79. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Parallel.dll +0 -0
  80. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.Queryable.dll +0 -0
  81. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Linq.dll +0 -0
  82. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Memory.dll +0 -0
  83. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.Json.dll +0 -0
  84. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Http.dll +0 -0
  85. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.HttpListener.dll +0 -0
  86. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Mail.dll +0 -0
  87. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NameResolution.dll +0 -0
  88. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.NetworkInformation.dll +0 -0
  89. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Ping.dll +0 -0
  90. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Primitives.dll +0 -0
  91. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Requests.dll +0 -0
  92. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Security.dll +0 -0
  93. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.ServicePoint.dll +0 -0
  94. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.Sockets.dll +0 -0
  95. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebClient.dll +0 -0
  96. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebHeaderCollection.dll +0 -0
  97. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebProxy.dll +0 -0
  98. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.Client.dll +0 -0
  99. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.WebSockets.dll +0 -0
  100. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Net.dll +0 -0
  101. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.Vectors.dll +0 -0
  102. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Numerics.dll +0 -0
  103. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ObjectModel.dll +0 -0
  104. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.CoreLib.dll +0 -0
  105. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.DataContractSerialization.dll +0 -0
  106. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Uri.dll +0 -0
  107. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.Linq.dll +0 -0
  108. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Private.Xml.dll +0 -0
  109. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.DispatchProxy.dll +0 -0
  110. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.ILGeneration.dll +0 -0
  111. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.Lightweight.dll +0 -0
  112. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Emit.dll +0 -0
  113. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Extensions.dll +0 -0
  114. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Metadata.dll +0 -0
  115. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.Primitives.dll +0 -0
  116. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.TypeExtensions.dll +0 -0
  117. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Reflection.dll +0 -0
  118. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Reader.dll +0 -0
  119. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.ResourceManager.dll +0 -0
  120. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Resources.Writer.dll +0 -0
  121. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  122. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.CompilerServices.VisualC.dll +0 -0
  123. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Extensions.dll +0 -0
  124. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Handles.dll +0 -0
  125. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.RuntimeInformation.dll +0 -0
  126. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.InteropServices.dll +0 -0
  127. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Intrinsics.dll +0 -0
  128. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Loader.dll +0 -0
  129. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Numerics.dll +0 -0
  130. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Formatters.dll +0 -0
  131. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Json.dll +0 -0
  132. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Primitives.dll +0 -0
  133. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.Xml.dll +0 -0
  134. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.Serialization.dll +0 -0
  135. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Runtime.dll +0 -0
  136. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.AccessControl.dll +0 -0
  137. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Claims.dll +0 -0
  138. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Algorithms.dll +0 -0
  139. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Cng.dll +0 -0
  140. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Csp.dll +0 -0
  141. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Encoding.dll +0 -0
  142. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.OpenSsl.dll +0 -0
  143. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Primitives.dll +0 -0
  144. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.X509Certificates.dll +0 -0
  145. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.Windows.dll +0 -0
  146. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Principal.dll +0 -0
  147. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.SecureString.dll +0 -0
  148. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.dll +0 -0
  149. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceModel.Web.dll +0 -0
  150. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ServiceProcess.dll +0 -0
  151. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.CodePages.dll +0 -0
  152. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.Extensions.dll +0 -0
  153. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encoding.dll +0 -0
  154. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Encodings.Web.dll +0 -0
  155. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.Json.dll +0 -0
  156. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Text.RegularExpressions.dll +0 -0
  157. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Channels.dll +0 -0
  158. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Overlapped.dll +0 -0
  159. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Dataflow.dll +0 -0
  160. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Extensions.dll +0 -0
  161. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.Parallel.dll +0 -0
  162. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Tasks.dll +0 -0
  163. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Thread.dll +0 -0
  164. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.ThreadPool.dll +0 -0
  165. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.Timer.dll +0 -0
  166. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Threading.dll +0 -0
  167. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.Local.dll +0 -0
  168. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Transactions.dll +0 -0
  169. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.ValueTuple.dll +0 -0
  170. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.HttpUtility.dll +0 -0
  171. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Web.dll +0 -0
  172. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Windows.dll +0 -0
  173. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Linq.dll +0 -0
  174. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.ReaderWriter.dll +0 -0
  175. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.Serialization.dll +0 -0
  176. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XDocument.dll +0 -0
  177. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.XDocument.dll +0 -0
  178. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XPath.dll +0 -0
  179. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlDocument.dll +0 -0
  180. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.XmlSerializer.dll +0 -0
  181. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Xml.dll +0 -0
  182. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.dll +0 -0
  183. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/WindowsBase.dll +0 -0
  184. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrcompression.dll +0 -0
  185. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clretwrc.dll +0 -0
  186. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/clrjit.dll +0 -0
  187. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/coreclr.dll +0 -0
  188. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/createdump.exe +0 -0
  189. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/dbgshim.dll +0 -0
  190. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostfxr.dll +0 -0
  191. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/hostpolicy.dll +0 -0
  192. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordaccore.dll +0 -0
  193. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscordbi.dll +0 -0
  194. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorlib.dll +0 -0
  195. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/mscorrc.dll +0 -0
  196. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/netstandard.dll +0 -0
  197. data/distro/ruby_bin_folder/AMD64/vccorlib140.dll +0 -0
  198. data/distro/ruby_bin_folder/AMD64/vcruntime140.dll +0 -0
  199. data/distro/ruby_bin_folder/AMD64/vcruntime140_1.dll +0 -0
  200. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  201. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  202. data/distro/ruby_bin_folder/x86/concrt140.dll +0 -0
  203. data/distro/ruby_bin_folder/x86/msvcp140.dll +0 -0
  204. data/distro/ruby_bin_folder/x86/msvcp140_1.dll +0 -0
  205. data/distro/ruby_bin_folder/x86/msvcp140_2.dll +0 -0
  206. data/distro/ruby_bin_folder/x86/msvcp140_atomic_wait.dll +0 -0
  207. data/distro/ruby_bin_folder/x86/msvcp140_codecvt_ids.dll +0 -0
  208. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  209. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  210. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  211. data/distro/ruby_bin_folder/x86/vccorlib140.dll +0 -0
  212. data/distro/ruby_bin_folder/x86/vcruntime140.dll +0 -0
  213. data/lib/chef/action_collection.rb +1 -1
  214. data/lib/chef/application/base.rb +1 -1
  215. data/lib/chef/application.rb +1 -1
  216. data/lib/chef/applications.rb +0 -1
  217. data/lib/chef/chef_fs/command_line.rb +5 -2
  218. data/lib/chef/chef_fs/file_system.rb +9 -10
  219. data/lib/chef/client.rb +5 -5
  220. data/lib/chef/compliance/default_attributes.rb +4 -3
  221. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  222. data/lib/chef/compliance/reporter/automate.rb +17 -7
  223. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  224. data/lib/chef/compliance/reporter/cli.rb +77 -0
  225. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  226. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  227. data/lib/chef/compliance/runner.rb +65 -27
  228. data/lib/chef/cookbook/gem_installer.rb +1 -5
  229. data/lib/chef/cookbook/synchronizer.rb +3 -5
  230. data/lib/chef/cookbook_loader.rb +2 -4
  231. data/lib/chef/cookbook_uploader.rb +0 -1
  232. data/lib/chef/cookbook_version.rb +4 -26
  233. data/lib/chef/data_bag_item.rb +11 -2
  234. data/lib/chef/data_collector/run_end_message.rb +2 -2
  235. data/lib/chef/delayed_evaluator.rb +4 -0
  236. data/lib/chef/deprecated.rb +6 -12
  237. data/lib/chef/dsl/chef_vault.rb +6 -6
  238. data/lib/chef/dsl/reboot_pending.rb +1 -2
  239. data/lib/chef/exceptions.rb +0 -3
  240. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  241. data/lib/chef/formatters/error_mapper.rb +2 -2
  242. data/lib/chef/group.rb +75 -0
  243. data/lib/chef/http.rb +5 -5
  244. data/lib/chef/mixin/checksum.rb +0 -6
  245. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  246. data/lib/chef/mixin/powershell_exec.rb +26 -7
  247. data/lib/chef/node/attribute.rb +9 -24
  248. data/lib/chef/node/immutable_collections.rb +13 -0
  249. data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
  250. data/lib/chef/node.rb +19 -20
  251. data/lib/chef/org.rb +3 -2
  252. data/lib/chef/platform/query_helpers.rb +2 -2
  253. data/lib/chef/policy_builder/policyfile.rb +0 -5
  254. data/lib/chef/property.rb +18 -0
  255. data/lib/chef/provider/cron.rb +2 -6
  256. data/lib/chef/provider/execute.rb +2 -1
  257. data/lib/chef/provider/file.rb +3 -3
  258. data/lib/chef/provider/git.rb +5 -7
  259. data/lib/chef/provider/group/dscl.rb +1 -1
  260. data/lib/chef/provider/group/groupadd.rb +3 -3
  261. data/lib/chef/provider/group/groupmod.rb +3 -3
  262. data/lib/chef/provider/group/pw.rb +3 -3
  263. data/lib/chef/provider/ifconfig.rb +2 -2
  264. data/lib/chef/provider/link.rb +2 -2
  265. data/lib/chef/provider/mount/aix.rb +3 -3
  266. data/lib/chef/provider/mount/mount.rb +5 -5
  267. data/lib/chef/provider/mount/windows.rb +1 -1
  268. data/lib/chef/provider/mount.rb +5 -5
  269. data/lib/chef/provider/package/apt.rb +27 -1
  270. data/lib/chef/provider/package/deb.rb +3 -3
  271. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  272. data/lib/chef/provider/package/portage.rb +2 -2
  273. data/lib/chef/provider/package/powershell.rb +0 -5
  274. data/lib/chef/provider/package/rubygems.rb +9 -15
  275. data/lib/chef/provider/package/windows.rb +3 -5
  276. data/lib/chef/provider/package/yum/yum_helper.py +11 -1
  277. data/lib/chef/provider/package.rb +17 -21
  278. data/lib/chef/provider/route.rb +2 -2
  279. data/lib/chef/provider/service/aixinit.rb +1 -1
  280. data/lib/chef/provider/service/debian.rb +1 -1
  281. data/lib/chef/provider/service/freebsd.rb +15 -21
  282. data/lib/chef/provider/service/macosx.rb +4 -4
  283. data/lib/chef/provider/service/systemd.rb +43 -14
  284. data/lib/chef/provider/service/upstart.rb +2 -13
  285. data/lib/chef/provider/service/windows.rb +12 -12
  286. data/lib/chef/provider/service.rb +6 -6
  287. data/lib/chef/provider/subversion.rb +10 -12
  288. data/lib/chef/provider/systemd_unit.rb +36 -10
  289. data/lib/chef/provider/template/content.rb +3 -7
  290. data/lib/chef/provider/user/dscl.rb +1 -1
  291. data/lib/chef/provider/user/mac.rb +17 -20
  292. data/lib/chef/provider/user/pw.rb +1 -1
  293. data/lib/chef/provider/user/windows.rb +1 -1
  294. data/lib/chef/provider/user.rb +2 -2
  295. data/lib/chef/provider/zypper_repository.rb +2 -2
  296. data/lib/chef/provider.rb +1 -1
  297. data/lib/chef/providers.rb +0 -1
  298. data/lib/chef/resource/alternatives.rb +6 -6
  299. data/lib/chef/resource/apt_package.rb +1 -1
  300. data/lib/chef/resource/apt_preference.rb +2 -2
  301. data/lib/chef/resource/apt_repository.rb +6 -6
  302. data/lib/chef/resource/apt_update.rb +3 -2
  303. data/lib/chef/resource/archive_file.rb +8 -9
  304. data/lib/chef/resource/breakpoint.rb +1 -1
  305. data/lib/chef/resource/build_essential.rb +2 -6
  306. data/lib/chef/resource/chef_client_config.rb +2 -2
  307. data/lib/chef/resource/chef_client_cron.rb +4 -4
  308. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  309. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  310. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  311. data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
  312. data/lib/chef/resource/chef_handler.rb +3 -7
  313. data/lib/chef/resource/chef_sleep.rb +1 -1
  314. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  315. data/lib/chef/resource/chocolatey_config.rb +2 -6
  316. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  317. data/lib/chef/resource/chocolatey_source.rb +4 -10
  318. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  319. data/lib/chef/resource/cron_access.rb +2 -4
  320. data/lib/chef/resource/dmg_package.rb +6 -10
  321. data/lib/chef/resource/dpkg_package.rb +1 -1
  322. data/lib/chef/resource/execute.rb +6 -1
  323. data/lib/chef/resource/file.rb +1 -1
  324. data/lib/chef/resource/group.rb +2 -2
  325. data/lib/chef/resource/homebrew_cask.rb +5 -15
  326. data/lib/chef/resource/homebrew_tap.rb +2 -6
  327. data/lib/chef/resource/hostname.rb +21 -17
  328. data/lib/chef/resource/http_request.rb +1 -1
  329. data/lib/chef/resource/kernel_module.rb +6 -17
  330. data/lib/chef/resource/locale.rb +3 -4
  331. data/lib/chef/resource/lwrp_base.rb +4 -0
  332. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  333. data/lib/chef/resource/mdadm.rb +53 -7
  334. data/lib/chef/resource/mount.rb +3 -2
  335. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  336. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  337. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  338. data/lib/chef/resource/plist.rb +7 -7
  339. data/lib/chef/resource/powershell_script.rb +1 -1
  340. data/lib/chef/resource/remote_file.rb +1 -1
  341. data/lib/chef/resource/rhsm_errata.rb +16 -1
  342. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  343. data/lib/chef/resource/rhsm_register.rb +12 -23
  344. data/lib/chef/resource/rhsm_repo.rb +2 -6
  345. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  346. data/lib/chef/resource/scm/git.rb +1 -1
  347. data/lib/chef/resource/sudo.rb +6 -6
  348. data/lib/chef/resource/support/client.erb +2 -6
  349. data/lib/chef/resource/sysctl.rb +2 -6
  350. data/lib/chef/resource/systemd_unit.rb +3 -3
  351. data/lib/chef/resource/template.rb +1 -1
  352. data/lib/chef/resource/timezone.rb +1 -3
  353. data/lib/chef/resource/user/mac_user.rb +1 -1
  354. data/lib/chef/resource/user_ulimit.rb +2 -3
  355. data/lib/chef/resource/windows_ad_join.rb +2 -6
  356. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  357. data/lib/chef/resource/windows_auto_run.rb +2 -5
  358. data/lib/chef/resource/windows_certificate.rb +207 -73
  359. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  360. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  361. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  362. data/lib/chef/resource/windows_dns_record.rb +2 -6
  363. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  364. data/lib/chef/resource/windows_env.rb +5 -4
  365. data/lib/chef/resource/windows_feature.rb +3 -9
  366. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  367. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  368. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  369. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  370. data/lib/chef/resource/windows_font.rb +2 -4
  371. data/lib/chef/resource/windows_pagefile.rb +2 -6
  372. data/lib/chef/resource/windows_path.rb +2 -2
  373. data/lib/chef/resource/windows_printer.rb +4 -4
  374. data/lib/chef/resource/windows_printer_port.rb +6 -6
  375. data/lib/chef/resource/windows_security_policy.rb +9 -12
  376. data/lib/chef/resource/windows_share.rb +14 -21
  377. data/lib/chef/resource/windows_shortcut.rb +4 -6
  378. data/lib/chef/resource/windows_task.rb +17 -5
  379. data/lib/chef/resource/windows_uac.rb +2 -4
  380. data/lib/chef/resource/windows_user_privilege.rb +26 -36
  381. data/lib/chef/resource/windows_workgroup.rb +1 -2
  382. data/lib/chef/resource.rb +1 -1
  383. data/lib/chef/resource_reporter.rb +1 -1
  384. data/lib/chef/resources.rb +0 -1
  385. data/lib/chef/shell/ext.rb +3 -3
  386. data/lib/chef/user.rb +0 -1
  387. data/lib/chef/user_v1.rb +3 -4
  388. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  389. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  390. data/lib/chef/version.rb +1 -1
  391. data/lib/chef/win32/api.rb +2 -9
  392. data/lib/chef/win32/registry.rb +4 -2
  393. data/lib/chef/win32/version.rb +2 -4
  394. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  395. data/spec/data/lwrp/resources/bar.rb +2 -0
  396. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  397. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  398. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  399. data/spec/data/lwrp/resources/foo.rb +2 -0
  400. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  401. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  402. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  403. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  404. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  405. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  406. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  407. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  408. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  409. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  410. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  411. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  412. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  413. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  414. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  415. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  416. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  417. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  418. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  419. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  420. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  421. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  422. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  423. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  424. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  425. data/spec/functional/resource/apt_package_spec.rb +1 -1
  426. data/spec/functional/resource/chocolatey_package_spec.rb +9 -0
  427. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  428. data/spec/functional/resource/dsc_script_spec.rb +1 -1
  429. data/spec/functional/resource/group_spec.rb +1 -5
  430. data/spec/functional/resource/link_spec.rb +0 -8
  431. data/spec/functional/resource/registry_spec.rb +8 -8
  432. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  433. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  434. data/spec/functional/resource/windows_font_spec.rb +1 -2
  435. data/spec/functional/resource/yum_package_spec.rb +0 -12
  436. data/spec/functional/shell_spec.rb +0 -5
  437. data/spec/functional/version_spec.rb +1 -1
  438. data/spec/functional/win32/registry_spec.rb +1 -1
  439. data/spec/integration/client/client_spec.rb +5 -2
  440. data/spec/integration/client/exit_code_spec.rb +1 -1
  441. data/spec/integration/client/ipv6_spec.rb +1 -1
  442. data/spec/integration/compliance/compliance_spec.rb +1 -1
  443. data/spec/integration/ohai/ohai_spec.rb +7 -6
  444. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  445. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  446. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  447. data/spec/integration/recipes/notifies_spec.rb +15 -1
  448. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  449. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  450. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  451. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  452. data/spec/spec_helper.rb +10 -17
  453. data/spec/support/chef_helpers.rb +0 -16
  454. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  455. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  456. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  457. data/spec/support/matchers/leak.rb +7 -9
  458. data/spec/support/platform_helpers.rb +1 -12
  459. data/spec/support/shared/integration/integration_helper.rb +0 -1
  460. data/spec/support/shared/unit/script_resource.rb +2 -2
  461. data/spec/unit/application/solo_spec.rb +2 -2
  462. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  463. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  464. data/spec/unit/client_spec.rb +4 -4
  465. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  466. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  467. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  468. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  469. data/spec/unit/compliance/runner_spec.rb +30 -4
  470. data/spec/unit/cookbook_version_spec.rb +0 -52
  471. data/spec/unit/daemon_spec.rb +5 -1
  472. data/spec/unit/data_bag_item_spec.rb +1 -6
  473. data/spec/unit/data_collector_spec.rb +2 -71
  474. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  475. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  476. data/spec/unit/lwrp_spec.rb +1 -1
  477. data/spec/unit/mixin/checksum_spec.rb +0 -28
  478. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  479. data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
  480. data/spec/unit/mixin/powershell_out_spec.rb +2 -2
  481. data/spec/unit/node/attribute_spec.rb +1 -1
  482. data/spec/unit/node_spec.rb +78 -0
  483. data/spec/unit/org_group_spec.rb +45 -0
  484. data/spec/unit/platform/query_helpers_spec.rb +5 -5
  485. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  486. data/spec/unit/property_spec.rb +23 -22
  487. data/spec/unit/provider/cron_spec.rb +1 -35
  488. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  489. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  490. data/spec/unit/provider/group/pw_spec.rb +2 -2
  491. data/spec/unit/provider/group_spec.rb +1 -1
  492. data/spec/unit/provider/package/apt_spec.rb +84 -18
  493. data/spec/unit/provider/package/deb_spec.rb +3 -3
  494. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  495. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  496. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  497. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  498. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  499. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  500. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  501. data/spec/unit/provider/service/windows_spec.rb +2 -2
  502. data/spec/unit/provider/subversion_spec.rb +2 -2
  503. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  504. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  505. data/spec/unit/provider_spec.rb +0 -8
  506. data/spec/unit/resource/archive_file_spec.rb +1 -13
  507. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
  508. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  509. data/spec/unit/resource/mount_spec.rb +0 -10
  510. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  511. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  512. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  513. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  514. data/spec/unit/resource/windows_task_spec.rb +1 -1
  515. data/spec/unit/resource_spec.rb +2 -7
  516. data/spec/unit/user_spec.rb +1 -1
  517. data/spec/unit/user_v1_spec.rb +6 -4
  518. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
  519. data/tasks/rspec.rb +15 -7
  520. metadata +45 -404
  521. data/bin/knife +0 -24
  522. data/lib/chef/application/knife.rb +0 -234
  523. data/lib/chef/application/windows_service.rb +0 -338
  524. data/lib/chef/application/windows_service_manager.rb +0 -205
  525. data/lib/chef/chef_fs/knife.rb +0 -160
  526. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  527. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  528. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  529. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  530. data/lib/chef/knife/acl_add.rb +0 -57
  531. data/lib/chef/knife/acl_base.rb +0 -183
  532. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  533. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  534. data/lib/chef/knife/acl_remove.rb +0 -62
  535. data/lib/chef/knife/acl_show.rb +0 -56
  536. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  537. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  538. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  539. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  540. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  541. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  542. data/lib/chef/knife/bootstrap.rb +0 -1192
  543. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  544. data/lib/chef/knife/client_create.rb +0 -101
  545. data/lib/chef/knife/client_delete.rb +0 -62
  546. data/lib/chef/knife/client_edit.rb +0 -52
  547. data/lib/chef/knife/client_key_create.rb +0 -73
  548. data/lib/chef/knife/client_key_delete.rb +0 -80
  549. data/lib/chef/knife/client_key_edit.rb +0 -83
  550. data/lib/chef/knife/client_key_list.rb +0 -73
  551. data/lib/chef/knife/client_key_show.rb +0 -80
  552. data/lib/chef/knife/client_list.rb +0 -41
  553. data/lib/chef/knife/client_reregister.rb +0 -58
  554. data/lib/chef/knife/client_show.rb +0 -48
  555. data/lib/chef/knife/config_get.rb +0 -39
  556. data/lib/chef/knife/config_get_profile.rb +0 -37
  557. data/lib/chef/knife/config_list.rb +0 -139
  558. data/lib/chef/knife/config_list_profiles.rb +0 -37
  559. data/lib/chef/knife/config_show.rb +0 -127
  560. data/lib/chef/knife/config_use.rb +0 -61
  561. data/lib/chef/knife/config_use_profile.rb +0 -47
  562. data/lib/chef/knife/configure.rb +0 -150
  563. data/lib/chef/knife/configure_client.rb +0 -48
  564. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  565. data/lib/chef/knife/cookbook_delete.rb +0 -151
  566. data/lib/chef/knife/cookbook_download.rb +0 -142
  567. data/lib/chef/knife/cookbook_list.rb +0 -47
  568. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  569. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  570. data/lib/chef/knife/cookbook_show.rb +0 -98
  571. data/lib/chef/knife/cookbook_upload.rb +0 -292
  572. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  573. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  574. data/lib/chef/knife/core/formatting_options.rb +0 -49
  575. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  576. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  577. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  578. data/lib/chef/knife/core/node_editor.rb +0 -130
  579. data/lib/chef/knife/core/node_presenter.rb +0 -133
  580. data/lib/chef/knife/core/object_loader.rb +0 -115
  581. data/lib/chef/knife/core/status_presenter.rb +0 -147
  582. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  583. data/lib/chef/knife/core/text_formatter.rb +0 -85
  584. data/lib/chef/knife/core/ui.rb +0 -338
  585. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  586. data/lib/chef/knife/data_bag_create.rb +0 -81
  587. data/lib/chef/knife/data_bag_delete.rb +0 -49
  588. data/lib/chef/knife/data_bag_edit.rb +0 -74
  589. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  590. data/lib/chef/knife/data_bag_list.rb +0 -42
  591. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  592. data/lib/chef/knife/data_bag_show.rb +0 -69
  593. data/lib/chef/knife/delete.rb +0 -125
  594. data/lib/chef/knife/deps.rb +0 -156
  595. data/lib/chef/knife/diff.rb +0 -83
  596. data/lib/chef/knife/download.rb +0 -84
  597. data/lib/chef/knife/edit.rb +0 -88
  598. data/lib/chef/knife/environment_compare.rb +0 -128
  599. data/lib/chef/knife/environment_create.rb +0 -52
  600. data/lib/chef/knife/environment_delete.rb +0 -44
  601. data/lib/chef/knife/environment_edit.rb +0 -44
  602. data/lib/chef/knife/environment_from_file.rb +0 -84
  603. data/lib/chef/knife/environment_list.rb +0 -41
  604. data/lib/chef/knife/environment_show.rb +0 -47
  605. data/lib/chef/knife/exec.rb +0 -99
  606. data/lib/chef/knife/group_add.rb +0 -55
  607. data/lib/chef/knife/group_create.rb +0 -49
  608. data/lib/chef/knife/group_destroy.rb +0 -53
  609. data/lib/chef/knife/group_list.rb +0 -43
  610. data/lib/chef/knife/group_remove.rb +0 -56
  611. data/lib/chef/knife/group_show.rb +0 -49
  612. data/lib/chef/knife/key_create.rb +0 -112
  613. data/lib/chef/knife/key_create_base.rb +0 -50
  614. data/lib/chef/knife/key_delete.rb +0 -55
  615. data/lib/chef/knife/key_edit.rb +0 -118
  616. data/lib/chef/knife/key_edit_base.rb +0 -55
  617. data/lib/chef/knife/key_list.rb +0 -90
  618. data/lib/chef/knife/key_list_base.rb +0 -45
  619. data/lib/chef/knife/key_show.rb +0 -53
  620. data/lib/chef/knife/list.rb +0 -177
  621. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  622. data/lib/chef/knife/node_create.rb +0 -47
  623. data/lib/chef/knife/node_delete.rb +0 -46
  624. data/lib/chef/knife/node_edit.rb +0 -70
  625. data/lib/chef/knife/node_environment_set.rb +0 -53
  626. data/lib/chef/knife/node_from_file.rb +0 -51
  627. data/lib/chef/knife/node_list.rb +0 -44
  628. data/lib/chef/knife/node_policy_set.rb +0 -79
  629. data/lib/chef/knife/node_run_list_add.rb +0 -104
  630. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  631. data/lib/chef/knife/node_run_list_set.rb +0 -66
  632. data/lib/chef/knife/node_show.rb +0 -63
  633. data/lib/chef/knife/null.rb +0 -12
  634. data/lib/chef/knife/raw.rb +0 -123
  635. data/lib/chef/knife/recipe_list.rb +0 -32
  636. data/lib/chef/knife/rehash.rb +0 -50
  637. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  638. data/lib/chef/knife/role_create.rb +0 -53
  639. data/lib/chef/knife/role_delete.rb +0 -46
  640. data/lib/chef/knife/role_edit.rb +0 -45
  641. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  642. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  643. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  644. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  645. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  646. data/lib/chef/knife/role_from_file.rb +0 -51
  647. data/lib/chef/knife/role_list.rb +0 -42
  648. data/lib/chef/knife/role_run_list_add.rb +0 -87
  649. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  650. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  651. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  652. data/lib/chef/knife/role_run_list_set.rb +0 -69
  653. data/lib/chef/knife/role_show.rb +0 -48
  654. data/lib/chef/knife/search.rb +0 -194
  655. data/lib/chef/knife/serve.rb +0 -65
  656. data/lib/chef/knife/show.rb +0 -72
  657. data/lib/chef/knife/ssh.rb +0 -645
  658. data/lib/chef/knife/ssl_check.rb +0 -284
  659. data/lib/chef/knife/ssl_fetch.rb +0 -161
  660. data/lib/chef/knife/status.rb +0 -95
  661. data/lib/chef/knife/supermarket_download.rb +0 -121
  662. data/lib/chef/knife/supermarket_install.rb +0 -192
  663. data/lib/chef/knife/supermarket_list.rb +0 -76
  664. data/lib/chef/knife/supermarket_search.rb +0 -53
  665. data/lib/chef/knife/supermarket_share.rb +0 -166
  666. data/lib/chef/knife/supermarket_show.rb +0 -66
  667. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  668. data/lib/chef/knife/tag_create.rb +0 -52
  669. data/lib/chef/knife/tag_delete.rb +0 -60
  670. data/lib/chef/knife/tag_list.rb +0 -47
  671. data/lib/chef/knife/upload.rb +0 -86
  672. data/lib/chef/knife/user_create.rb +0 -107
  673. data/lib/chef/knife/user_delete.rb +0 -44
  674. data/lib/chef/knife/user_dissociate.rb +0 -42
  675. data/lib/chef/knife/user_edit.rb +0 -52
  676. data/lib/chef/knife/user_invite_add.rb +0 -43
  677. data/lib/chef/knife/user_invite_list.rb +0 -34
  678. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  679. data/lib/chef/knife/user_key_create.rb +0 -73
  680. data/lib/chef/knife/user_key_delete.rb +0 -80
  681. data/lib/chef/knife/user_key_edit.rb +0 -83
  682. data/lib/chef/knife/user_key_list.rb +0 -73
  683. data/lib/chef/knife/user_key_show.rb +0 -80
  684. data/lib/chef/knife/user_list.rb +0 -42
  685. data/lib/chef/knife/user_reregister.rb +0 -59
  686. data/lib/chef/knife/user_show.rb +0 -48
  687. data/lib/chef/knife/xargs.rb +0 -282
  688. data/lib/chef/knife/yaml_convert.rb +0 -91
  689. data/lib/chef/knife.rb +0 -665
  690. data/lib/chef/resource/user/dscl_user.rb +0 -35
  691. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  692. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  693. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  694. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  695. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  696. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  697. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  698. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  699. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  700. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  701. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  702. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  703. data/spec/functional/knife/configure_spec.rb +0 -33
  704. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  705. data/spec/functional/knife/exec_spec.rb +0 -55
  706. data/spec/functional/knife/rehash_spec.rb +0 -39
  707. data/spec/functional/knife/smoke_test.rb +0 -42
  708. data/spec/functional/knife/ssh_spec.rb +0 -352
  709. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  710. data/spec/functional/resource/windows_service_spec.rb +0 -105
  711. data/spec/functional/win32/service_manager_spec.rb +0 -220
  712. data/spec/integration/client/fips_spec.rb +0 -21
  713. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  714. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  715. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  716. data/spec/integration/knife/chefignore_spec.rb +0 -301
  717. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  718. data/spec/integration/knife/client_create_spec.rb +0 -70
  719. data/spec/integration/knife/client_delete_spec.rb +0 -64
  720. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  721. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  722. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  723. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  724. data/spec/integration/knife/client_list_spec.rb +0 -49
  725. data/spec/integration/knife/client_show_spec.rb +0 -37
  726. data/spec/integration/knife/common_options_spec.rb +0 -174
  727. data/spec/integration/knife/config_list_spec.rb +0 -220
  728. data/spec/integration/knife/config_show_spec.rb +0 -192
  729. data/spec/integration/knife/config_use_spec.rb +0 -198
  730. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  731. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  732. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  733. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  734. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  735. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  736. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  737. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  738. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  739. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  740. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  741. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  742. data/spec/integration/knife/delete_spec.rb +0 -1018
  743. data/spec/integration/knife/deps_spec.rb +0 -703
  744. data/spec/integration/knife/diff_spec.rb +0 -605
  745. data/spec/integration/knife/download_spec.rb +0 -1336
  746. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  747. data/spec/integration/knife/environment_create_spec.rb +0 -41
  748. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  749. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  750. data/spec/integration/knife/environment_list_spec.rb +0 -42
  751. data/spec/integration/knife/environment_show_spec.rb +0 -77
  752. data/spec/integration/knife/list_spec.rb +0 -1060
  753. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  754. data/spec/integration/knife/node_create_spec.rb +0 -47
  755. data/spec/integration/knife/node_delete_spec.rb +0 -48
  756. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  757. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  758. data/spec/integration/knife/node_list_spec.rb +0 -45
  759. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  760. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  761. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  762. data/spec/integration/knife/node_show_spec.rb +0 -36
  763. data/spec/integration/knife/raw_spec.rb +0 -297
  764. data/spec/integration/knife/redirection_spec.rb +0 -64
  765. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  766. data/spec/integration/knife/role_create_spec.rb +0 -41
  767. data/spec/integration/knife/role_delete_spec.rb +0 -48
  768. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  769. data/spec/integration/knife/role_list_spec.rb +0 -45
  770. data/spec/integration/knife/role_show_spec.rb +0 -51
  771. data/spec/integration/knife/search_node_spec.rb +0 -40
  772. data/spec/integration/knife/serve_spec.rb +0 -92
  773. data/spec/integration/knife/show_spec.rb +0 -197
  774. data/spec/integration/knife/upload_spec.rb +0 -1616
  775. data/spec/support/shared/functional/knife.rb +0 -37
  776. data/spec/support/shared/functional/win32_service.rb +0 -57
  777. data/spec/support/shared/integration/knife_support.rb +0 -192
  778. data/spec/support/shared/unit/knife_shared.rb +0 -39
  779. data/spec/unit/application/knife_spec.rb +0 -241
  780. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  781. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  782. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  783. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  784. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  785. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  786. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  787. data/spec/unit/knife/client_create_spec.rb +0 -169
  788. data/spec/unit/knife/client_delete_spec.rb +0 -99
  789. data/spec/unit/knife/client_edit_spec.rb +0 -53
  790. data/spec/unit/knife/client_list_spec.rb +0 -34
  791. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  792. data/spec/unit/knife/client_show_spec.rb +0 -52
  793. data/spec/unit/knife/configure_client_spec.rb +0 -81
  794. data/spec/unit/knife/configure_spec.rb +0 -190
  795. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  796. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  797. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  798. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  799. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  800. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  801. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  802. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  803. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  804. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  805. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  806. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  807. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  808. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  809. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  810. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  811. data/spec/unit/knife/core/ui_spec.rb +0 -656
  812. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  813. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  814. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  815. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  816. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  817. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  818. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  819. data/spec/unit/knife/environment_create_spec.rb +0 -91
  820. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  821. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  822. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  823. data/spec/unit/knife/environment_list_spec.rb +0 -54
  824. data/spec/unit/knife/environment_show_spec.rb +0 -52
  825. data/spec/unit/knife/key_create_spec.rb +0 -223
  826. data/spec/unit/knife/key_delete_spec.rb +0 -133
  827. data/spec/unit/knife/key_edit_spec.rb +0 -264
  828. data/spec/unit/knife/key_helper.rb +0 -74
  829. data/spec/unit/knife/key_list_spec.rb +0 -216
  830. data/spec/unit/knife/key_show_spec.rb +0 -126
  831. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  832. data/spec/unit/knife/node_delete_spec.rb +0 -77
  833. data/spec/unit/knife/node_edit_spec.rb +0 -116
  834. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  835. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  836. data/spec/unit/knife/node_list_spec.rb +0 -62
  837. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  838. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  839. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  840. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  841. data/spec/unit/knife/node_show_spec.rb +0 -65
  842. data/spec/unit/knife/raw_spec.rb +0 -43
  843. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  844. data/spec/unit/knife/role_create_spec.rb +0 -80
  845. data/spec/unit/knife/role_delete_spec.rb +0 -67
  846. data/spec/unit/knife/role_edit_spec.rb +0 -77
  847. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  848. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  849. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  850. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  851. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  852. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  853. data/spec/unit/knife/role_list_spec.rb +0 -54
  854. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  855. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  856. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  857. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  858. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  859. data/spec/unit/knife/role_show_spec.rb +0 -59
  860. data/spec/unit/knife/ssh_spec.rb +0 -403
  861. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  862. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  863. data/spec/unit/knife/status_spec.rb +0 -112
  864. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  865. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  866. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  867. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  868. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  869. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  870. data/spec/unit/knife/tag_create_spec.rb +0 -23
  871. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  872. data/spec/unit/knife/tag_list_spec.rb +0 -23
  873. data/spec/unit/knife/user_create_spec.rb +0 -184
  874. data/spec/unit/knife/user_delete_spec.rb +0 -46
  875. data/spec/unit/knife/user_edit_spec.rb +0 -48
  876. data/spec/unit/knife/user_list_spec.rb +0 -36
  877. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  878. data/spec/unit/knife/user_show_spec.rb +0 -46
  879. data/spec/unit/knife_spec.rb +0 -634
  880. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  881. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,1336 +0,0 @@
1
- #
2
- # Author:: John Keiser (<jkeiser@chef.io>)
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
- require "spec_helper"
19
- require "support/shared/integration/integration_helper"
20
- require "chef/knife/download"
21
- require "chef/knife/diff"
22
-
23
- describe "knife download", :workstation do
24
- include IntegrationSupport
25
- include KnifeSupport
26
-
27
- context "without versioned cookbooks" do
28
- when_the_chef_server "has one of each thing" do
29
-
30
- before do
31
- client "x", {}
32
- cookbook "x", "1.0.0"
33
- data_bag "x", { "y" => {} }
34
- environment "x", {}
35
- node "x", {}
36
- role "x", {}
37
- user "x", {}
38
- end
39
-
40
- when_the_repository "has only top-level directories" do
41
- before do
42
- directory "clients"
43
- directory "cookbooks"
44
- directory "data_bags"
45
- directory "environments"
46
- directory "nodes"
47
- directory "roles"
48
- directory "users"
49
- end
50
-
51
- it "knife download downloads everything" do
52
- knife("download /").should_succeed <<~EOM
53
- Created /clients/chef-validator.json
54
- Created /clients/chef-webui.json
55
- Created /clients/x.json
56
- Created /cookbooks/x
57
- Created /cookbooks/x/metadata.rb
58
- Created /data_bags/x
59
- Created /data_bags/x/y.json
60
- Created /environments/_default.json
61
- Created /environments/x.json
62
- Created /nodes/x.json
63
- Created /roles/x.json
64
- Created /users/admin.json
65
- Created /users/x.json
66
- EOM
67
- knife("diff --name-status /").should_succeed ""
68
- end
69
- end
70
-
71
- when_the_repository "has an identical copy of each thing" do
72
- before do
73
- file "clients/chef-validator.json", { "validator" => true, "public_key" => ChefZero::PUBLIC_KEY }
74
- file "clients/chef-webui.json", { "admin" => true, "public_key" => ChefZero::PUBLIC_KEY }
75
- file "clients/x.json", { "public_key" => ChefZero::PUBLIC_KEY }
76
- file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
77
- file "data_bags/x/y.json", {}
78
- file "environments/_default.json", { "description" => "The default Chef environment" }
79
- file "environments/x.json", {}
80
- file "nodes/x.json", { "normal" => { "tags" => [] } }
81
- file "roles/x.json", {}
82
- file "users/admin.json", { "admin" => true, "public_key" => ChefZero::PUBLIC_KEY }
83
- file "users/x.json", { "public_key" => ChefZero::PUBLIC_KEY }
84
- end
85
-
86
- it "knife download makes no changes" do
87
- knife("download /").should_succeed ""
88
- knife("diff --name-status /").should_succeed ""
89
- end
90
-
91
- it "knife download --purge makes no changes" do
92
- knife("download --purge /").should_succeed ""
93
- knife("diff --name-status /").should_succeed ""
94
- end
95
-
96
- context "except the role file" do
97
- before do
98
- file "roles/x.json", <<~EOM
99
- {
100
- "chef_type": "role",
101
- "default_attributes": {
102
- },
103
- "description": "blarghle",
104
- "env_run_lists": {
105
- },
106
- "json_class": "Chef::Role",
107
- "name": "x",
108
- "override_attributes": {
109
- },
110
- "run_list": [
111
-
112
- ]
113
- }
114
- EOM
115
- end
116
-
117
- it "knife download changes the role" do
118
- knife("download /").should_succeed "Updated /roles/x.json\n"
119
- knife("diff --name-status /").should_succeed ""
120
- end
121
-
122
- it "knife download --no-diff does not change the role" do
123
- knife("download --no-diff /").should_succeed ""
124
- knife("diff --name-status /").should_succeed "M\t/roles/x.json\n"
125
- end
126
- end
127
-
128
- context "except the role file is textually different, but not ACTUALLY different" do
129
- before do
130
- file "roles/x.json", <<~EOM
131
- {
132
- "chef_type": "role",
133
- "default_attributes": {
134
- },
135
- "env_run_lists": {
136
- },
137
- "json_class": "Chef::Role",
138
- "name": "x",
139
- "description": "",
140
- "override_attributes": {
141
- },
142
- "run_list": [
143
-
144
- ]
145
- }
146
- EOM
147
- end
148
-
149
- it "knife download / does not change anything" do
150
- knife("download /").should_succeed ""
151
- knife("diff --name-status /").should_succeed ""
152
- end
153
- end
154
-
155
- context "as well as one extra copy of each thing" do
156
- before do
157
- file "clients/y.json", { "public_key" => ChefZero::PUBLIC_KEY }
158
- file "cookbooks/x/blah.rb", ""
159
- file "cookbooks/y/metadata.rb", cb_metadata("x", "1.0.0")
160
- file "data_bags/x/z.json", {}
161
- file "data_bags/y/zz.json", {}
162
- file "environments/y.json", {}
163
- file "nodes/y.json", {}
164
- file "roles/y.json", {}
165
- file "users/y.json", { "public_key" => ChefZero::PUBLIC_KEY }
166
- end
167
-
168
- it "knife download does nothing" do
169
- knife("download /").should_succeed ""
170
- knife("diff --name-status /").should_succeed <<~EOM
171
- A\t/clients/y.json
172
- A\t/cookbooks/x/blah.rb
173
- A\t/cookbooks/y
174
- A\t/data_bags/x/z.json
175
- A\t/data_bags/y
176
- A\t/environments/y.json
177
- A\t/nodes/y.json
178
- A\t/roles/y.json
179
- A\t/users/y.json
180
- EOM
181
- end
182
-
183
- it "knife download --purge deletes the extra files" do
184
- knife("download --purge /").should_succeed <<~EOM
185
- Deleted extra entry /clients/y.json (purge is on)
186
- Deleted extra entry /cookbooks/x/blah.rb (purge is on)
187
- Deleted extra entry /cookbooks/y (purge is on)
188
- Deleted extra entry /data_bags/x/z.json (purge is on)
189
- Deleted extra entry /data_bags/y (purge is on)
190
- Deleted extra entry /environments/y.json (purge is on)
191
- Deleted extra entry /nodes/y.json (purge is on)
192
- Deleted extra entry /roles/y.json (purge is on)
193
- Deleted extra entry /users/y.json (purge is on)
194
- EOM
195
- knife("diff --name-status /").should_succeed ""
196
- end
197
- end
198
- end
199
-
200
- when_the_repository "is empty" do
201
- it "knife download creates the extra files" do
202
- knife("download /").should_succeed <<~EOM
203
- Created /clients
204
- Created /clients/chef-validator.json
205
- Created /clients/chef-webui.json
206
- Created /clients/x.json
207
- Created /cookbooks
208
- Created /cookbooks/x
209
- Created /cookbooks/x/metadata.rb
210
- Created /data_bags
211
- Created /data_bags/x
212
- Created /data_bags/x/y.json
213
- Created /environments
214
- Created /environments/_default.json
215
- Created /environments/x.json
216
- Created /nodes
217
- Created /nodes/x.json
218
- Created /roles
219
- Created /roles/x.json
220
- Created /users
221
- Created /users/admin.json
222
- Created /users/x.json
223
- EOM
224
- knife("diff --name-status /").should_succeed ""
225
- end
226
-
227
- it "knife download --no-diff creates the extra files" do
228
- knife("download --no-diff /").should_succeed <<~EOM
229
- Created /clients
230
- Created /clients/chef-validator.json
231
- Created /clients/chef-webui.json
232
- Created /clients/x.json
233
- Created /cookbooks
234
- Created /cookbooks/x
235
- Created /cookbooks/x/metadata.rb
236
- Created /data_bags
237
- Created /data_bags/x
238
- Created /data_bags/x/y.json
239
- Created /environments
240
- Created /environments/_default.json
241
- Created /environments/x.json
242
- Created /nodes
243
- Created /nodes/x.json
244
- Created /roles
245
- Created /roles/x.json
246
- Created /users
247
- Created /users/admin.json
248
- Created /users/x.json
249
- EOM
250
- knife("diff --name-status /").should_succeed ""
251
- end
252
-
253
- context "when current directory is top level" do
254
- before do
255
- cwd "."
256
- end
257
-
258
- it "knife download with no parameters reports an error" do
259
- knife("download").should_fail "FATAL: You must specify at least one argument. If you want to download everything in this directory, run \"knife download .\"\n", stdout: /USAGE/
260
- end
261
- end
262
- end
263
- end
264
-
265
- # Test download of an item when the other end doesn't even have the container
266
- when_the_repository "is empty" do
267
- when_the_chef_server "has two data bag items" do
268
- before do
269
- data_bag "x", { "y" => {}, "z" => {} }
270
- end
271
-
272
- it "knife download of one data bag item itself succeeds" do
273
- knife("download /data_bags/x/y.json").should_succeed <<~EOM
274
- Created /data_bags
275
- Created /data_bags/x
276
- Created /data_bags/x/y.json
277
- EOM
278
- knife("diff --name-status /data_bags").should_succeed <<~EOM
279
- D\t/data_bags/x/z.json
280
- EOM
281
- end
282
-
283
- it "knife download /data_bags/x /data_bags/x/y.json downloads x once" do
284
- knife("download /data_bags/x /data_bags/x/y.json").should_succeed <<~EOM
285
- Created /data_bags
286
- Created /data_bags/x
287
- Created /data_bags/x/y.json
288
- Created /data_bags/x/z.json
289
- EOM
290
- end
291
- end
292
- end
293
-
294
- when_the_repository "has three data bag items" do
295
- before do
296
- file "data_bags/x/deleted.json", <<~EOM
297
- {
298
- "id": "deleted"
299
- }
300
- EOM
301
- file "data_bags/x/modified.json", <<~EOM
302
- {
303
- "id": "modified"
304
- }
305
- EOM
306
- file "data_bags/x/unmodified.json", <<~EOM
307
- {
308
- "id": "unmodified"
309
- }
310
- EOM
311
- end
312
-
313
- when_the_chef_server "has a modified, unmodified, added and deleted data bag item" do
314
- before do
315
- data_bag "x", {
316
- "added" => {},
317
- "modified" => { "foo" => "bar" },
318
- "unmodified" => {},
319
- }
320
- end
321
-
322
- it "knife download of the modified file succeeds" do
323
- knife("download /data_bags/x/modified.json").should_succeed <<~EOM
324
- Updated /data_bags/x/modified.json
325
- EOM
326
- knife("diff --name-status /data_bags").should_succeed <<~EOM
327
- D\t/data_bags/x/added.json
328
- A\t/data_bags/x/deleted.json
329
- EOM
330
- end
331
- it "knife download of the unmodified file does nothing" do
332
- knife("download /data_bags/x/unmodified.json").should_succeed ""
333
- knife("diff --name-status /data_bags").should_succeed <<~EOM
334
- D\t/data_bags/x/added.json
335
- M\t/data_bags/x/modified.json
336
- A\t/data_bags/x/deleted.json
337
- EOM
338
- end
339
- it "knife download of the added file succeeds" do
340
- knife("download /data_bags/x/added.json").should_succeed <<~EOM
341
- Created /data_bags/x/added.json
342
- EOM
343
- knife("diff --name-status /data_bags").should_succeed <<~EOM
344
- M\t/data_bags/x/modified.json
345
- A\t/data_bags/x/deleted.json
346
- EOM
347
- end
348
- it "knife download of the deleted file does nothing" do
349
- knife("download /data_bags/x/deleted.json").should_succeed ""
350
- knife("diff --name-status /data_bags").should_succeed <<~EOM
351
- D\t/data_bags/x/added.json
352
- M\t/data_bags/x/modified.json
353
- A\t/data_bags/x/deleted.json
354
- EOM
355
- end
356
- it "knife download --purge of the deleted file deletes it" do
357
- knife("download --purge /data_bags/x/deleted.json").should_succeed <<~EOM
358
- Deleted extra entry /data_bags/x/deleted.json (purge is on)
359
- EOM
360
- knife("diff --name-status /data_bags").should_succeed <<~EOM
361
- D\t/data_bags/x/added.json
362
- M\t/data_bags/x/modified.json
363
- EOM
364
- end
365
- it "knife download of the entire data bag downloads everything" do
366
- knife("download /data_bags/x").should_succeed <<~EOM
367
- Created /data_bags/x/added.json
368
- Updated /data_bags/x/modified.json
369
- EOM
370
- knife("diff --name-status /data_bags").should_succeed <<~EOM
371
- A\t/data_bags/x/deleted.json
372
- EOM
373
- end
374
- it "knife download --purge of the entire data bag downloads everything" do
375
- knife("download --purge /data_bags/x").should_succeed <<~EOM
376
- Created /data_bags/x/added.json
377
- Updated /data_bags/x/modified.json
378
- Deleted extra entry /data_bags/x/deleted.json (purge is on)
379
- EOM
380
- knife("diff --name-status /data_bags").should_succeed ""
381
- end
382
- context "when cwd is the /data_bags directory" do
383
- before do
384
- cwd "data_bags"
385
- end
386
- it "knife download fails" do
387
- knife("download").should_fail "FATAL: You must specify at least one argument. If you want to download everything in this directory, run \"knife download .\"\n", stdout: /USAGE/
388
- end
389
- it "knife download --purge . downloads everything" do
390
- knife("download --purge .").should_succeed <<~EOM
391
- Created x/added.json
392
- Updated x/modified.json
393
- Deleted extra entry x/deleted.json (purge is on)
394
- EOM
395
- knife("diff --name-status /data_bags").should_succeed ""
396
- end
397
- it "knife download --purge * downloads everything" do
398
- knife("download --purge *").should_succeed <<~EOM
399
- Created x/added.json
400
- Updated x/modified.json
401
- Deleted extra entry x/deleted.json (purge is on)
402
- EOM
403
- knife("diff --name-status /data_bags").should_succeed ""
404
- end
405
- end
406
- end
407
- end
408
-
409
- when_the_repository "has a cookbook" do
410
- before do
411
- file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
412
- file "cookbooks/x/z.rb", ""
413
- end
414
-
415
- when_the_chef_server "has a modified, added and deleted file for the cookbook" do
416
- before do
417
- cookbook "x", "1.0.0", { "metadata.rb" => cb_metadata("x", "1.0.0", "#extra content"), "y.rb" => "hi" }
418
- end
419
-
420
- it "knife download of a modified file succeeds" do
421
- knife("download /cookbooks/x/metadata.rb").should_succeed "Updated /cookbooks/x/metadata.rb\n"
422
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
423
- D\t/cookbooks/x/y.rb
424
- A\t/cookbooks/x/z.rb
425
- EOM
426
- end
427
- it "knife download of a deleted file does nothing" do
428
- knife("download /cookbooks/x/z.rb").should_succeed ""
429
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
430
- M\t/cookbooks/x/metadata.rb
431
- D\t/cookbooks/x/y.rb
432
- A\t/cookbooks/x/z.rb
433
- EOM
434
- end
435
- it "knife download --purge of a deleted file succeeds" do
436
- knife("download --purge /cookbooks/x/z.rb").should_succeed "Deleted extra entry /cookbooks/x/z.rb (purge is on)\n"
437
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
438
- M\t/cookbooks/x/metadata.rb
439
- D\t/cookbooks/x/y.rb
440
- EOM
441
- end
442
- it "knife download of an added file succeeds" do
443
- knife("download /cookbooks/x/y.rb").should_succeed "Created /cookbooks/x/y.rb\n"
444
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
445
- M\t/cookbooks/x/metadata.rb
446
- A\t/cookbooks/x/z.rb
447
- EOM
448
- end
449
- it "knife download of the cookbook itself succeeds" do
450
- knife("download /cookbooks/x").should_succeed <<~EOM
451
- Updated /cookbooks/x/metadata.rb
452
- Created /cookbooks/x/y.rb
453
- EOM
454
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
455
- A\t/cookbooks/x/z.rb
456
- EOM
457
- end
458
- it "knife download --purge of the cookbook itself succeeds" do
459
- knife("download --purge /cookbooks/x").should_succeed <<~EOM
460
- Updated /cookbooks/x/metadata.rb
461
- Created /cookbooks/x/y.rb
462
- Deleted extra entry /cookbooks/x/z.rb (purge is on)
463
- EOM
464
- knife("diff --name-status /cookbooks").should_succeed ""
465
- end
466
- end
467
- end
468
-
469
- when_the_repository "has a cookbook" do
470
- before do
471
- file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
472
- file "cookbooks/x/onlyin1.0.0.rb", "old_text"
473
- end
474
-
475
- when_the_chef_server "has a later version for the cookbook" do
476
- before do
477
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
478
- cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
479
- end
480
-
481
- it "knife download /cookbooks/x downloads the latest version" do
482
- knife("download --purge /cookbooks/x").should_succeed <<~EOM
483
- Updated /cookbooks/x/metadata.rb
484
- Created /cookbooks/x/onlyin1.0.1.rb
485
- Deleted extra entry /cookbooks/x/onlyin1.0.0.rb (purge is on)
486
- EOM
487
- knife("diff --name-status /cookbooks").should_succeed ""
488
- end
489
- end
490
-
491
- when_the_chef_server "has an earlier version for the cookbook" do
492
- before do
493
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
494
- cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
495
- end
496
-
497
- it "knife download /cookbooks/x downloads the updated file" do
498
- knife("download --purge /cookbooks/x").should_succeed <<~EOM
499
- Updated /cookbooks/x/onlyin1.0.0.rb
500
- EOM
501
- knife("diff --name-status /cookbooks").should_succeed ""
502
- end
503
- end
504
-
505
- when_the_chef_server "has a later version for the cookbook, and no current version" do
506
- before do
507
- cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
508
- end
509
-
510
- it "knife download /cookbooks/x downloads the latest version" do
511
- knife("download --purge /cookbooks/x").should_succeed <<~EOM
512
- Updated /cookbooks/x/metadata.rb
513
- Created /cookbooks/x/onlyin1.0.1.rb
514
- Deleted extra entry /cookbooks/x/onlyin1.0.0.rb (purge is on)
515
- EOM
516
- knife("diff --name-status /cookbooks").should_succeed ""
517
- end
518
- end
519
-
520
- when_the_chef_server "has an earlier version for the cookbook, and no current version" do
521
- before do
522
- cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
523
- end
524
-
525
- it "knife download /cookbooks/x downloads the old version" do
526
- knife("download --purge /cookbooks/x").should_succeed <<~EOM
527
- Updated /cookbooks/x/metadata.rb
528
- Created /cookbooks/x/onlyin0.9.9.rb
529
- Deleted extra entry /cookbooks/x/onlyin1.0.0.rb (purge is on)
530
- EOM
531
- knife("diff --name-status /cookbooks").should_succeed ""
532
- end
533
- end
534
- end
535
-
536
- when_the_chef_server "has a role" do
537
- before do
538
- role "x", {}
539
- end
540
- when_the_repository "has the role in ruby" do
541
- before do
542
- file "roles/x.rb", <<~EOM
543
- name "x"
544
- description "x"
545
- EOM
546
- end
547
-
548
- it "knife download refuses to change the role" do
549
- knife("download /roles/x.json").should_succeed "", stderr: "WARNING: /roles/x.rb cannot be updated (can't safely update ruby files).\n"
550
- knife("diff --name-status /roles/x.json").should_succeed "M\t/roles/x.rb\n"
551
- end
552
- end
553
- end
554
-
555
- when_the_chef_server "has an environment" do
556
- before do
557
- environment "x", {}
558
- end
559
- when_the_repository "has an environment with bad JSON" do
560
- before do
561
- file "environments/x.json", "{"
562
- end
563
- it "knife download succeeds" do
564
- warning = <<~EOH
565
- WARN: Parse error reading #{path_to("environments/x.json")} as JSON: parse error: premature EOF
566
- {
567
- (right here) ------^
568
-
569
- EOH
570
- knife("download /environments/x.json").should_succeed "Updated /environments/x.json\n", stderr: warning
571
- knife("diff --name-status /environments/x.json").should_succeed ""
572
- end
573
- end
574
-
575
- when_the_repository "has the same environment with the wrong name in the file" do
576
- before do
577
- file "environments/x.json", { "name" => "y" }
578
- end
579
- it "knife download succeeds" do
580
- knife("download /environments/x.json").should_succeed "Updated /environments/x.json\n"
581
- knife("diff --name-status /environments/x.json").should_succeed ""
582
- end
583
- end
584
-
585
- when_the_repository "has the same environment with no name in the file" do
586
- before do
587
- file "environments/x.json", { "description" => "hi" }
588
- end
589
- it "knife download succeeds" do
590
- knife("download /environments/x.json").should_succeed "Updated /environments/x.json\n"
591
- knife("diff --name-status /environments/x.json").should_succeed ""
592
- end
593
- end
594
- end
595
- end # without versioned cookbooks
596
-
597
- context "with versioned cookbooks" do
598
- before { Chef::Config[:versioned_cookbooks] = true }
599
-
600
- when_the_chef_server "has one of each thing" do
601
- before do
602
- client "x", {}
603
- cookbook "x", "1.0.0"
604
- data_bag "x", { "y" => {} }
605
- environment "x", {}
606
- node "x", {}
607
- role "x", {}
608
- user "x", {}
609
- end
610
-
611
- when_the_repository "has only top-level directories" do
612
- before do
613
- directory "clients"
614
- directory "cookbooks"
615
- directory "data_bags"
616
- directory "environments"
617
- directory "nodes"
618
- directory "roles"
619
- directory "users"
620
- end
621
-
622
- it "knife download downloads everything" do
623
- knife("download /").should_succeed <<~EOM
624
- Created /clients/chef-validator.json
625
- Created /clients/chef-webui.json
626
- Created /clients/x.json
627
- Created /cookbooks/x-1.0.0
628
- Created /cookbooks/x-1.0.0/metadata.rb
629
- Created /data_bags/x
630
- Created /data_bags/x/y.json
631
- Created /environments/_default.json
632
- Created /environments/x.json
633
- Created /nodes/x.json
634
- Created /roles/x.json
635
- Created /users/admin.json
636
- Created /users/x.json
637
- EOM
638
- knife("diff --name-status /").should_succeed ""
639
- end
640
- end
641
-
642
- when_the_repository "has an identical copy of each thing" do
643
- before do
644
- file "clients/chef-validator.json", { "validator" => true, "public_key" => ChefZero::PUBLIC_KEY }
645
- file "clients/chef-webui.json", { "admin" => true, "public_key" => ChefZero::PUBLIC_KEY }
646
- file "clients/x.json", { "public_key" => ChefZero::PUBLIC_KEY }
647
- file "cookbooks/x-1.0.0/metadata.rb", cb_metadata("x", "1.0.0")
648
- file "data_bags/x/y.json", {}
649
- file "environments/_default.json", { "description" => "The default Chef environment" }
650
- file "environments/x.json", {}
651
- file "nodes/x.json", { "normal" => { "tags" => [] } }
652
- file "roles/x.json", {}
653
- file "users/admin.json", { "admin" => true, "public_key" => ChefZero::PUBLIC_KEY }
654
- file "users/x.json", { "public_key" => ChefZero::PUBLIC_KEY }
655
- end
656
-
657
- it "knife download makes no changes" do
658
- knife("download /").should_succeed ""
659
- knife("diff --name-status /").should_succeed ""
660
- end
661
-
662
- it "knife download --purge makes no changes" do
663
- knife("download --purge /").should_succeed ""
664
- knife("diff --name-status /").should_succeed ""
665
- end
666
-
667
- context "except the role file" do
668
- before do
669
- file "roles/x.json", { "description" => "blarghle" }
670
- end
671
-
672
- it "knife download changes the role" do
673
- knife("download /").should_succeed "Updated /roles/x.json\n"
674
- knife("diff --name-status /").should_succeed ""
675
- end
676
- end
677
-
678
- context "except the role file is textually different, but not ACTUALLY different" do
679
- before do
680
- file "roles/x.json", <<~EOM
681
- {
682
- "chef_type": "role" ,
683
- "default_attributes": {
684
- },
685
- "env_run_lists": {
686
- },
687
- "json_class": "Chef::Role",
688
- "name": "x",
689
- "description": "",
690
- "override_attributes": {
691
- },
692
- "run_list": [
693
-
694
- ]
695
- }
696
- EOM
697
- end
698
-
699
- it "knife download / does not change anything" do
700
- knife("download /").should_succeed ""
701
- knife("diff --name-status /").should_succeed ""
702
- end
703
- end
704
-
705
- context "as well as one extra copy of each thing" do
706
- before do
707
- file "clients/y.json", { "public_key" => ChefZero::PUBLIC_KEY }
708
- file "cookbooks/x-1.0.0/blah.rb", ""
709
- file "cookbooks/x-2.0.0/metadata.rb", 'version "2.0.0"'
710
- file "cookbooks/y-1.0.0/metadata.rb", 'version "1.0.0"'
711
- file "data_bags/x/z.json", {}
712
- file "data_bags/y/zz.json", {}
713
- file "environments/y.json", {}
714
- file "nodes/y.json", {}
715
- file "roles/y.json", {}
716
- file "users/y.json", { "public_key" => ChefZero::PUBLIC_KEY }
717
- end
718
-
719
- it "knife download does nothing" do
720
- knife("download /").should_succeed ""
721
- knife("diff --name-status /").should_succeed <<~EOM
722
- A\t/clients/y.json
723
- A\t/cookbooks/x-1.0.0/blah.rb
724
- A\t/cookbooks/x-2.0.0
725
- A\t/cookbooks/y-1.0.0
726
- A\t/data_bags/x/z.json
727
- A\t/data_bags/y
728
- A\t/environments/y.json
729
- A\t/nodes/y.json
730
- A\t/roles/y.json
731
- A\t/users/y.json
732
- EOM
733
- end
734
-
735
- it "knife download --purge deletes the extra files" do
736
- knife("download --purge /").should_succeed <<~EOM
737
- Deleted extra entry /clients/y.json (purge is on)
738
- Deleted extra entry /cookbooks/x-1.0.0/blah.rb (purge is on)
739
- Deleted extra entry /cookbooks/x-2.0.0 (purge is on)
740
- Deleted extra entry /cookbooks/y-1.0.0 (purge is on)
741
- Deleted extra entry /data_bags/x/z.json (purge is on)
742
- Deleted extra entry /data_bags/y (purge is on)
743
- Deleted extra entry /environments/y.json (purge is on)
744
- Deleted extra entry /nodes/y.json (purge is on)
745
- Deleted extra entry /roles/y.json (purge is on)
746
- Deleted extra entry /users/y.json (purge is on)
747
- EOM
748
- knife("diff --name-status /").should_succeed ""
749
- end
750
- end
751
- end
752
-
753
- when_the_repository "is empty" do
754
- it "knife download creates the extra files" do
755
- knife("download /").should_succeed <<~EOM
756
- Created /clients
757
- Created /clients/chef-validator.json
758
- Created /clients/chef-webui.json
759
- Created /clients/x.json
760
- Created /cookbooks
761
- Created /cookbooks/x-1.0.0
762
- Created /cookbooks/x-1.0.0/metadata.rb
763
- Created /data_bags
764
- Created /data_bags/x
765
- Created /data_bags/x/y.json
766
- Created /environments
767
- Created /environments/_default.json
768
- Created /environments/x.json
769
- Created /nodes
770
- Created /nodes/x.json
771
- Created /roles
772
- Created /roles/x.json
773
- Created /users
774
- Created /users/admin.json
775
- Created /users/x.json
776
- EOM
777
- knife("diff --name-status /").should_succeed ""
778
- end
779
-
780
- context "when current directory is top level" do
781
- before do
782
- cwd "."
783
- end
784
- it "knife download with no parameters reports an error" do
785
- knife("download").should_fail "FATAL: You must specify at least one argument. If you want to download everything in this directory, run \"knife download .\"\n", stdout: /USAGE/
786
- end
787
- end
788
- end
789
- end
790
-
791
- # Test download of an item when the other end doesn't even have the container
792
- when_the_repository "is empty" do
793
- when_the_chef_server "has two data bag items" do
794
- before do
795
- data_bag "x", { "y" => {}, "z" => {} }
796
- end
797
-
798
- it "knife download of one data bag item itself succeeds" do
799
- knife("download /data_bags/x/y.json").should_succeed <<~EOM
800
- Created /data_bags
801
- Created /data_bags/x
802
- Created /data_bags/x/y.json
803
- EOM
804
- knife("diff --name-status /data_bags").should_succeed <<~EOM
805
- D\t/data_bags/x/z.json
806
- EOM
807
- end
808
- end
809
- end
810
-
811
- when_the_repository "has three data bag items" do
812
- before do
813
- file "data_bags/x/deleted.json", <<~EOM
814
- {
815
- "id": "deleted"
816
- }
817
- EOM
818
- file "data_bags/x/modified.json", <<~EOM
819
- {
820
- "id": "modified"
821
- }
822
- EOM
823
- file "data_bags/x/unmodified.json", <<~EOM
824
- {
825
- "id": "unmodified"
826
- }
827
- EOM
828
- end
829
-
830
- when_the_chef_server "has a modified, unmodified, added and deleted data bag item" do
831
- before do
832
- data_bag "x", {
833
- "added" => {},
834
- "modified" => { "foo" => "bar" },
835
- "unmodified" => {},
836
- }
837
- end
838
-
839
- it "knife download of the modified file succeeds" do
840
- knife("download /data_bags/x/modified.json").should_succeed <<~EOM
841
- Updated /data_bags/x/modified.json
842
- EOM
843
- knife("diff --name-status /data_bags").should_succeed <<~EOM
844
- D\t/data_bags/x/added.json
845
- A\t/data_bags/x/deleted.json
846
- EOM
847
- end
848
- it "knife download of the unmodified file does nothing" do
849
- knife("download /data_bags/x/unmodified.json").should_succeed ""
850
- knife("diff --name-status /data_bags").should_succeed <<~EOM
851
- D\t/data_bags/x/added.json
852
- M\t/data_bags/x/modified.json
853
- A\t/data_bags/x/deleted.json
854
- EOM
855
- end
856
- it "knife download of the added file succeeds" do
857
- knife("download /data_bags/x/added.json").should_succeed <<~EOM
858
- Created /data_bags/x/added.json
859
- EOM
860
- knife("diff --name-status /data_bags").should_succeed <<~EOM
861
- M\t/data_bags/x/modified.json
862
- A\t/data_bags/x/deleted.json
863
- EOM
864
- end
865
- it "knife download of the deleted file does nothing" do
866
- knife("download /data_bags/x/deleted.json").should_succeed ""
867
- knife("diff --name-status /data_bags").should_succeed <<~EOM
868
- D\t/data_bags/x/added.json
869
- M\t/data_bags/x/modified.json
870
- A\t/data_bags/x/deleted.json
871
- EOM
872
- end
873
- it "knife download --purge of the deleted file deletes it" do
874
- knife("download --purge /data_bags/x/deleted.json").should_succeed <<~EOM
875
- Deleted extra entry /data_bags/x/deleted.json (purge is on)
876
- EOM
877
- knife("diff --name-status /data_bags").should_succeed <<~EOM
878
- D\t/data_bags/x/added.json
879
- M\t/data_bags/x/modified.json
880
- EOM
881
- end
882
- it "knife download of the entire data bag downloads everything" do
883
- knife("download /data_bags/x").should_succeed <<~EOM
884
- Created /data_bags/x/added.json
885
- Updated /data_bags/x/modified.json
886
- EOM
887
- knife("diff --name-status /data_bags").should_succeed <<~EOM
888
- A\t/data_bags/x/deleted.json
889
- EOM
890
- end
891
- it "knife download --purge of the entire data bag downloads everything" do
892
- knife("download --purge /data_bags/x").should_succeed <<~EOM
893
- Created /data_bags/x/added.json
894
- Updated /data_bags/x/modified.json
895
- Deleted extra entry /data_bags/x/deleted.json (purge is on)
896
- EOM
897
- knife("diff --name-status /data_bags").should_succeed ""
898
- end
899
- context "when cwd is the /data_bags directory" do
900
- before do
901
- cwd "data_bags"
902
- end
903
- it "knife download fails" do
904
- knife("download").should_fail "FATAL: You must specify at least one argument. If you want to download everything in this directory, run \"knife download .\"\n", stdout: /USAGE/
905
- end
906
- it "knife download --purge . downloads everything" do
907
- knife("download --purge .").should_succeed <<~EOM
908
- Created x/added.json
909
- Updated x/modified.json
910
- Deleted extra entry x/deleted.json (purge is on)
911
- EOM
912
- knife("diff --name-status /data_bags").should_succeed ""
913
- end
914
- it "knife download --purge * downloads everything" do
915
- knife("download --purge *").should_succeed <<~EOM
916
- Created x/added.json
917
- Updated x/modified.json
918
- Deleted extra entry x/deleted.json (purge is on)
919
- EOM
920
- knife("diff --name-status /data_bags").should_succeed ""
921
- end
922
- end
923
- end
924
- end
925
-
926
- when_the_repository "has a cookbook" do
927
- before do
928
- file "cookbooks/x-1.0.0/metadata.rb", 'name "x"; version "1.0.0"#unmodified'
929
- file "cookbooks/x-1.0.0/z.rb", ""
930
- end
931
-
932
- when_the_chef_server "has a modified, added and deleted file for the cookbook" do
933
- before do
934
- cookbook "x", "1.0.0", { "y.rb" => "hi" }
935
- end
936
-
937
- it "knife download of a modified file succeeds" do
938
- knife("download /cookbooks/x-1.0.0/metadata.rb").should_succeed "Updated /cookbooks/x-1.0.0/metadata.rb\n"
939
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
940
- D\t/cookbooks/x-1.0.0/y.rb
941
- A\t/cookbooks/x-1.0.0/z.rb
942
- EOM
943
- end
944
- it "knife download of a deleted file does nothing" do
945
- knife("download /cookbooks/x-1.0.0/z.rb").should_succeed ""
946
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
947
- M\t/cookbooks/x-1.0.0/metadata.rb
948
- D\t/cookbooks/x-1.0.0/y.rb
949
- A\t/cookbooks/x-1.0.0/z.rb
950
- EOM
951
- end
952
- it "knife download --purge of a deleted file succeeds" do
953
- knife("download --purge /cookbooks/x-1.0.0/z.rb").should_succeed "Deleted extra entry /cookbooks/x-1.0.0/z.rb (purge is on)\n"
954
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
955
- M\t/cookbooks/x-1.0.0/metadata.rb
956
- D\t/cookbooks/x-1.0.0/y.rb
957
- EOM
958
- end
959
- it "knife download of an added file succeeds" do
960
- knife("download /cookbooks/x-1.0.0/y.rb").should_succeed "Created /cookbooks/x-1.0.0/y.rb\n"
961
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
962
- M\t/cookbooks/x-1.0.0/metadata.rb
963
- A\t/cookbooks/x-1.0.0/z.rb
964
- EOM
965
- end
966
- it "knife download of the cookbook itself succeeds" do
967
- knife("download /cookbooks/x-1.0.0").should_succeed <<~EOM
968
- Updated /cookbooks/x-1.0.0/metadata.rb
969
- Created /cookbooks/x-1.0.0/y.rb
970
- EOM
971
- knife("diff --name-status /cookbooks").should_succeed <<~EOM
972
- A\t/cookbooks/x-1.0.0/z.rb
973
- EOM
974
- end
975
- it "knife download --purge of the cookbook itself succeeds" do
976
- knife("download --purge /cookbooks/x-1.0.0").should_succeed <<~EOM
977
- Updated /cookbooks/x-1.0.0/metadata.rb
978
- Created /cookbooks/x-1.0.0/y.rb
979
- Deleted extra entry /cookbooks/x-1.0.0/z.rb (purge is on)
980
- EOM
981
- knife("diff --name-status /cookbooks").should_succeed ""
982
- end
983
- end
984
- end
985
-
986
- when_the_repository "has a cookbook" do
987
- before do
988
- file "cookbooks/x-1.0.0/metadata.rb", cb_metadata("x", "1.0.0")
989
- file "cookbooks/x-1.0.0/onlyin1.0.0.rb", "old_text"
990
- end
991
-
992
- when_the_chef_server "has a later version for the cookbook" do
993
- before do
994
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
995
- cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
996
- end
997
-
998
- it "knife download /cookbooks/x downloads the latest version" do
999
- knife("download --purge /cookbooks").should_succeed <<~EOM
1000
- Updated /cookbooks/x-1.0.0/onlyin1.0.0.rb
1001
- Created /cookbooks/x-1.0.1
1002
- Created /cookbooks/x-1.0.1/metadata.rb
1003
- Created /cookbooks/x-1.0.1/onlyin1.0.1.rb
1004
- EOM
1005
- knife("diff --name-status /cookbooks").should_succeed ""
1006
- end
1007
- end
1008
-
1009
- when_the_chef_server "has an earlier version for the cookbook" do
1010
- before do
1011
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
1012
- cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
1013
- end
1014
-
1015
- it "knife download /cookbooks downloads the updated file" do
1016
- knife("download --purge /cookbooks").should_succeed <<~EOM
1017
- Created /cookbooks/x-0.9.9
1018
- Created /cookbooks/x-0.9.9/metadata.rb
1019
- Created /cookbooks/x-0.9.9/onlyin0.9.9.rb
1020
- Updated /cookbooks/x-1.0.0/onlyin1.0.0.rb
1021
- EOM
1022
- knife("diff --name-status /cookbooks").should_succeed ""
1023
- end
1024
- end
1025
-
1026
- when_the_chef_server "has a later version for the cookbook, and no current version" do
1027
- before do
1028
- cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
1029
- end
1030
-
1031
- it "knife download /cookbooks/x downloads the latest version" do
1032
- knife("download --purge /cookbooks").should_succeed <<~EOM
1033
- Created /cookbooks/x-1.0.1
1034
- Created /cookbooks/x-1.0.1/metadata.rb
1035
- Created /cookbooks/x-1.0.1/onlyin1.0.1.rb
1036
- Deleted extra entry /cookbooks/x-1.0.0 (purge is on)
1037
- EOM
1038
- knife("diff --name-status /cookbooks").should_succeed ""
1039
- end
1040
- end
1041
-
1042
- when_the_chef_server "has an earlier version for the cookbook, and no current version" do
1043
- before do
1044
- cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
1045
- end
1046
-
1047
- it "knife download --purge /cookbooks downloads the old version and deletes the new version" do
1048
- knife("download --purge /cookbooks").should_succeed <<~EOM
1049
- Created /cookbooks/x-0.9.9
1050
- Created /cookbooks/x-0.9.9/metadata.rb
1051
- Created /cookbooks/x-0.9.9/onlyin0.9.9.rb
1052
- Deleted extra entry /cookbooks/x-1.0.0 (purge is on)
1053
- EOM
1054
- knife("diff --name-status /cookbooks").should_succeed ""
1055
- end
1056
- end
1057
- end
1058
-
1059
- when_the_chef_server "has an environment" do
1060
- before do
1061
- environment "x", {}
1062
- end
1063
-
1064
- when_the_repository "has the same environment with the wrong name in the file" do
1065
- before do
1066
- file "environments/x.json", { "name" => "y" }
1067
- end
1068
-
1069
- it "knife download succeeds" do
1070
- knife("download /environments/x.json").should_succeed "Updated /environments/x.json\n"
1071
- knife("diff --name-status /environments/x.json").should_succeed ""
1072
- end
1073
- end
1074
-
1075
- when_the_repository "has the same environment with no name in the file" do
1076
- before do
1077
- file "environments/x.json", { "description" => "hi" }
1078
- end
1079
-
1080
- it "knife download succeeds" do
1081
- knife("download /environments/x.json").should_succeed "Updated /environments/x.json\n"
1082
- knife("diff --name-status /environments/x.json").should_succeed ""
1083
- end
1084
- end
1085
- end
1086
- end # with versioned cookbooks
1087
-
1088
- when_the_chef_server "has a cookbook" do
1089
- before do
1090
- cookbook "x", "1.0.0"
1091
- end
1092
-
1093
- when_the_repository "is empty" do
1094
- it "knife download /cookbooks/x signs all requests" do
1095
-
1096
- # Check that BasicClient.request() always gets called with X-OPS-USERID
1097
- original_new = Chef::HTTP::BasicClient.method(:new)
1098
- expect(Chef::HTTP::BasicClient).to receive(:new) { |args|
1099
- new_result = original_new.call(*args)
1100
- original_request = new_result.method(:request)
1101
- expect(new_result).to receive(:request) { |method, url, body, headers, &response_handler|
1102
- expect(headers["X-OPS-USERID"]).not_to be_nil
1103
- original_request.call(method, url, body, headers, &response_handler)
1104
- }.at_least(:once)
1105
- new_result
1106
- }.at_least(:once)
1107
-
1108
- knife("download /cookbooks/x").should_succeed <<~EOM
1109
- Created /cookbooks
1110
- Created /cookbooks/x
1111
- Created /cookbooks/x/metadata.rb
1112
- EOM
1113
- end
1114
- end
1115
- end
1116
-
1117
- when_the_chef_server "is in Enterprise mode", osc_compat: false, single_org: false do
1118
- before do
1119
- user "foo", {}
1120
- user "bar", {}
1121
- user "foobar", {}
1122
- organization "foo", { "full_name" => "Something" }
1123
- end
1124
-
1125
- before :each do
1126
- Chef::Config.chef_server_url = URI.join(Chef::Config.chef_server_url, "/organizations/foo")
1127
- end
1128
-
1129
- when_the_repository "has all the default stuff" do
1130
- before do
1131
- knife("download /").should_succeed <<~EOM
1132
- Created /acls
1133
- Created /acls/clients
1134
- Created /acls/clients/foo-validator.json
1135
- Created /acls/containers
1136
- Created /acls/containers/clients.json
1137
- Created /acls/containers/containers.json
1138
- Created /acls/containers/cookbook_artifacts.json
1139
- Created /acls/containers/cookbooks.json
1140
- Created /acls/containers/data.json
1141
- Created /acls/containers/environments.json
1142
- Created /acls/containers/groups.json
1143
- Created /acls/containers/nodes.json
1144
- Created /acls/containers/policies.json
1145
- Created /acls/containers/policy_groups.json
1146
- Created /acls/containers/roles.json
1147
- Created /acls/containers/sandboxes.json
1148
- Created /acls/cookbook_artifacts
1149
- Created /acls/cookbooks
1150
- Created /acls/data_bags
1151
- Created /acls/environments
1152
- Created /acls/environments/_default.json
1153
- Created /acls/groups
1154
- Created /acls/groups/admins.json
1155
- Created /acls/groups/billing-admins.json
1156
- Created /acls/groups/clients.json
1157
- Created /acls/groups/users.json
1158
- Created /acls/nodes
1159
- Created /acls/policies
1160
- Created /acls/policy_groups
1161
- Created /acls/roles
1162
- Created /acls/organization.json
1163
- Created /clients
1164
- Created /clients/foo-validator.json
1165
- Created /containers
1166
- Created /containers/clients.json
1167
- Created /containers/containers.json
1168
- Created /containers/cookbook_artifacts.json
1169
- Created /containers/cookbooks.json
1170
- Created /containers/data.json
1171
- Created /containers/environments.json
1172
- Created /containers/groups.json
1173
- Created /containers/nodes.json
1174
- Created /containers/policies.json
1175
- Created /containers/policy_groups.json
1176
- Created /containers/roles.json
1177
- Created /containers/sandboxes.json
1178
- Created /cookbook_artifacts
1179
- Created /cookbooks
1180
- Created /data_bags
1181
- Created /environments
1182
- Created /environments/_default.json
1183
- Created /groups
1184
- Created /groups/admins.json
1185
- Created /groups/billing-admins.json
1186
- Created /groups/clients.json
1187
- Created /groups/users.json
1188
- Created /invitations.json
1189
- Created /members.json
1190
- Created /nodes
1191
- Created /org.json
1192
- Created /policies
1193
- Created /policy_groups
1194
- Created /roles
1195
- EOM
1196
- end
1197
-
1198
- context "and the server has one of each thing" do
1199
- before do
1200
- # acl_for %w(organizations foo groups blah)
1201
- client "x", {}
1202
- cookbook "x", "1.0.0"
1203
- cookbook_artifact "x", "1x1", { "metadata.rb" => cb_metadata("x", "1.0.0") }
1204
- container "x", {}
1205
- data_bag "x", { "y" => {} }
1206
- environment "x", {}
1207
- group "x", {}
1208
- org_invite "foo"
1209
- org_member "bar"
1210
- node "x", {}
1211
- policy "x", "1.0.0", {}
1212
- policy "blah", "1.0.0", {}
1213
- policy_group "x", {
1214
- "policies" => {
1215
- "x" => { "revision_id" => "1.0.0" },
1216
- "blah" => { "revision_id" => "1.0.0" },
1217
- },
1218
- }
1219
- role "x", {}
1220
- end
1221
-
1222
- before do
1223
- knife("download /acls /groups/clients.json /groups/users.json").should_succeed <<~EOM
1224
- Created /acls/clients/x.json
1225
- Created /acls/containers/x.json
1226
- Created /acls/cookbook_artifacts/x.json
1227
- Created /acls/cookbooks/x.json
1228
- Created /acls/data_bags/x.json
1229
- Created /acls/environments/x.json
1230
- Created /acls/groups/x.json
1231
- Created /acls/nodes/x.json
1232
- Created /acls/policies/blah.json
1233
- Created /acls/policies/x.json
1234
- Created /acls/policy_groups/x.json
1235
- Created /acls/roles/x.json
1236
- Updated /groups/clients.json
1237
- Updated /groups/users.json
1238
- EOM
1239
- end
1240
-
1241
- it "knife download / downloads everything" do
1242
- knife("download /").should_succeed <<~EOM
1243
- Created /clients/x.json
1244
- Created /containers/x.json
1245
- Created /cookbook_artifacts/x-1x1
1246
- Created /cookbook_artifacts/x-1x1/metadata.rb
1247
- Created /cookbooks/x
1248
- Created /cookbooks/x/metadata.rb
1249
- Created /data_bags/x
1250
- Created /data_bags/x/y.json
1251
- Created /environments/x.json
1252
- Created /groups/x.json
1253
- Updated /invitations.json
1254
- Updated /members.json
1255
- Created /nodes/x.json
1256
- Created /policies/blah-1.0.0.json
1257
- Created /policies/x-1.0.0.json
1258
- Created /policy_groups/x.json
1259
- Created /roles/x.json
1260
- EOM
1261
- knife("diff --name-status /").should_succeed ""
1262
- end
1263
-
1264
- context "and the repository has an identical copy of each thing" do
1265
- before do
1266
- # TODO We have to upload acls for an existing group due to a lack of
1267
- # dependency detection during upload. Fix that!
1268
- file "clients/x.json", { "public_key" => ChefZero::PUBLIC_KEY }
1269
- file "containers/x.json", {}
1270
- file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
1271
- file "cookbook_artifacts/x-1x1/metadata.rb", cb_metadata("x", "1.0.0")
1272
- file "data_bags/x/y.json", {}
1273
- file "environments/x.json", {}
1274
- file "groups/x.json", {}
1275
- file "invitations.json", [ "foo" ]
1276
- file "members.json", [ "bar" ]
1277
- file "nodes/x.json", { "normal" => { "tags" => [] } }
1278
- file "org.json", { "full_name" => "Something" }
1279
- file "policies/x-1.0.0.json", { "policy_group_list" => [ "x" ] }
1280
- file "policies/blah-1.0.0.json", { "policy_group_list" => [ "x" ] }
1281
- file "policy_groups/x.json", { "policies" => { "x" => { "revision_id" => "1.0.0" }, "blah" => { "revision_id" => "1.0.0" } } }
1282
- file "roles/x.json", {}
1283
- end
1284
-
1285
- it "knife download makes no changes" do
1286
- knife("download /").should_succeed ""
1287
- end
1288
- end
1289
-
1290
- context "and the repository has a slightly different copy of each thing" do
1291
- before do
1292
- # acl_for %w(organizations foo groups blah)
1293
- file "clients/x.json", { "validator" => true }
1294
- file "containers/x.json", {}
1295
- file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.1")
1296
- file "cookbook_artifacts/x-1x1/metadata.rb", cb_metadata("x", "1.0.1")
1297
- file "data_bags/x/y.json", { "a" => "b" }
1298
- file "environments/x.json", { "description" => "foo" }
1299
- file "groups/x.json", { "description" => "foo" }
1300
- file "groups/x.json", { "groups" => [ "admin" ] }
1301
- file "nodes/x.json", { "normal" => { "tags" => [] }, "run_list" => [ "blah" ] }
1302
- file "org.json", { "full_name" => "Something Else " }
1303
- file "policies/x-1.0.0.json", { "run_list" => [ "blah" ] }
1304
- file "policy_groups/x.json", {
1305
- "policies" => {
1306
- "x" => { "revision_id" => "1.0.1" },
1307
- "y" => { "revision_id" => "1.0.0" },
1308
- },
1309
- }
1310
- file "roles/x.json", { "run_list" => [ "blah" ] }
1311
- end
1312
-
1313
- it "knife download updates everything" do
1314
- knife("download /").should_succeed <<~EOM
1315
- Updated /clients/x.json
1316
- Updated /cookbook_artifacts/x-1x1/metadata.rb
1317
- Updated /cookbooks/x/metadata.rb
1318
- Updated /data_bags/x/y.json
1319
- Updated /environments/x.json
1320
- Updated /groups/x.json
1321
- Updated /invitations.json
1322
- Updated /members.json
1323
- Updated /nodes/x.json
1324
- Updated /org.json
1325
- Created /policies/blah-1.0.0.json
1326
- Updated /policies/x-1.0.0.json
1327
- Updated /policy_groups/x.json
1328
- Updated /roles/x.json
1329
- EOM
1330
- knife("diff --name-status /").should_succeed ""
1331
- end
1332
- end
1333
- end
1334
- end
1335
- end
1336
- end