static 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/bin/static +11 -0
  3. data/lib/static/cli.rb +2 -2
  4. data/lib/static/version.rb +1 -1
  5. data/vendor/cfoundry-0.5.2/LICENSE +746 -0
  6. data/vendor/cfoundry-0.5.2/Rakefile +38 -0
  7. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/applications.rb +53 -0
  8. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/domains.rb +16 -0
  9. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/frameworks.rb +22 -0
  10. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/helper.rb +131 -0
  11. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/login.rb +21 -0
  12. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organization_users.rb +21 -0
  13. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organizations.rb +70 -0
  14. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/routes.rb +26 -0
  15. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/runtimes.rb +22 -0
  16. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_bindings.rb +22 -0
  17. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_instances.rb +22 -0
  18. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/services.rb +25 -0
  19. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/spaces.rb +49 -0
  20. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/users.rb +84 -0
  21. data/vendor/cfoundry-0.5.2/lib/cc_api_stub.rb +17 -0
  22. data/vendor/cfoundry-0.5.2/lib/cfoundry/auth_token.rb +63 -0
  23. data/vendor/cfoundry-0.5.2/lib/cfoundry/baseclient.rb +201 -0
  24. data/vendor/cfoundry-0.5.2/lib/cfoundry/chatty_hash.rb +46 -0
  25. data/vendor/cfoundry-0.5.2/lib/cfoundry/client.rb +46 -0
  26. data/vendor/cfoundry-0.5.2/lib/cfoundry/concerns/login_helpers.rb +13 -0
  27. data/vendor/cfoundry-0.5.2/lib/cfoundry/errors.rb +160 -0
  28. data/vendor/cfoundry-0.5.2/lib/cfoundry/rest_client.rb +299 -0
  29. data/vendor/cfoundry-0.5.2/lib/cfoundry/test_support.rb +3 -0
  30. data/vendor/cfoundry-0.5.2/lib/cfoundry/trace_helpers.rb +40 -0
  31. data/vendor/cfoundry-0.5.2/lib/cfoundry/uaaclient.rb +112 -0
  32. data/vendor/cfoundry-0.5.2/lib/cfoundry/upload_helpers.rb +186 -0
  33. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/app.rb +363 -0
  34. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/base.rb +71 -0
  35. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/client.rb +193 -0
  36. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/framework.rb +21 -0
  37. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model.rb +178 -0
  38. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model_magic.rb +129 -0
  39. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/runtime.rb +24 -0
  40. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service.rb +39 -0
  41. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_instance.rb +32 -0
  42. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_plan.rb +19 -0
  43. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/user.rb +22 -0
  44. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/app.rb +392 -0
  45. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/base.rb +83 -0
  46. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/client.rb +138 -0
  47. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/domain.rb +11 -0
  48. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/framework.rb +14 -0
  49. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model.rb +148 -0
  50. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model_magic.rb +449 -0
  51. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/organization.rb +16 -0
  52. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/route.rb +15 -0
  53. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/runtime.rb +12 -0
  54. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service.rb +19 -0
  55. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_auth_token.rb +9 -0
  56. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_binding.rb +10 -0
  57. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_instance.rb +14 -0
  58. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_plan.rb +12 -0
  59. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/space.rb +18 -0
  60. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/user.rb +64 -0
  61. data/vendor/cfoundry-0.5.2/lib/cfoundry/validator.rb +39 -0
  62. data/vendor/cfoundry-0.5.2/lib/cfoundry/version.rb +4 -0
  63. data/vendor/cfoundry-0.5.2/lib/cfoundry/zip.rb +56 -0
  64. data/vendor/cfoundry-0.5.2/lib/cfoundry.rb +2 -0
  65. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/applications_spec.rb +69 -0
  66. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/domains_spec.rb +19 -0
  67. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/frameworks_spec.rb +19 -0
  68. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/login_spec.rb +20 -0
  69. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organization_users_spec.rb +19 -0
  70. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organizations_spec.rb +97 -0
  71. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/routes_spec.rb +19 -0
  72. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/runtimes_spec.rb +19 -0
  73. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_bindings_spec.rb +13 -0
  74. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_instances_spec.rb +19 -0
  75. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/services_spec.rb +12 -0
  76. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/spaces_spec.rb +38 -0
  77. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/users_spec.rb +107 -0
  78. data/vendor/cfoundry-0.5.2/spec/cfoundry/auth_token_spec.rb +125 -0
  79. data/vendor/cfoundry-0.5.2/spec/cfoundry/baseclient_spec.rb +225 -0
  80. data/vendor/cfoundry-0.5.2/spec/cfoundry/client_spec.rb +15 -0
  81. data/vendor/cfoundry-0.5.2/spec/cfoundry/errors_spec.rb +80 -0
  82. data/vendor/cfoundry-0.5.2/spec/cfoundry/rest_client_spec.rb +281 -0
  83. data/vendor/cfoundry-0.5.2/spec/cfoundry/trace_helpers_spec.rb +72 -0
  84. data/vendor/cfoundry-0.5.2/spec/cfoundry/uaaclient_spec.rb +332 -0
  85. data/vendor/cfoundry-0.5.2/spec/cfoundry/upload_helpers_spec.rb +174 -0
  86. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/base_spec.rb +58 -0
  87. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/client_spec.rb +17 -0
  88. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/model_magic_spec.rb +43 -0
  89. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/app_spec.rb +144 -0
  90. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/base_spec.rb +299 -0
  91. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/client_spec.rb +73 -0
  92. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/model_magic_spec.rb +173 -0
  93. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/organization_spec.rb +15 -0
  94. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/space_spec.rb +15 -0
  95. data/vendor/cfoundry-0.5.2/spec/fakes/app_fake.rb +5 -0
  96. data/vendor/cfoundry-0.5.2/spec/fakes/domain_fake.rb +5 -0
  97. data/vendor/cfoundry-0.5.2/spec/fakes/framework_fake.rb +5 -0
  98. data/vendor/cfoundry-0.5.2/spec/fakes/organization_fake.rb +5 -0
  99. data/vendor/cfoundry-0.5.2/spec/fakes/route_fake.rb +5 -0
  100. data/vendor/cfoundry-0.5.2/spec/fakes/runtime_fake.rb +5 -0
  101. data/vendor/cfoundry-0.5.2/spec/fakes/service_fake.rb +5 -0
  102. data/vendor/cfoundry-0.5.2/spec/fakes/service_instance_fake.rb +5 -0
  103. data/vendor/cfoundry-0.5.2/spec/fakes/service_plan_fake.rb +5 -0
  104. data/vendor/cfoundry-0.5.2/spec/fakes/space_fake.rb +5 -0
  105. data/vendor/cfoundry-0.5.2/spec/fakes/user_fake.rb +5 -0
  106. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_dotfiles/xyz +1 -0
  107. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/foo/bar/baz/fizz +0 -0
  108. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/xyz +0 -0
  109. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_dir/file_in_ignored_dir.txt +1 -0
  110. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_file.txt +1 -0
  111. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/file_in_non_ignored_dir.txt +1 -0
  112. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/ignored_file.txt +1 -0
  113. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_file.txt +1 -0
  114. data/vendor/cfoundry-0.5.2/spec/fixtures/empty_file +0 -0
  115. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application.json +24 -0
  116. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application_summary.json +57 -0
  117. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_application.json +11 -0
  118. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_domain.json +10 -0
  119. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_organization.json +11 -0
  120. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_route.json +13 -0
  121. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_service_instance.json +11 -0
  122. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_space.json +11 -0
  123. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_user.json +11 -0
  124. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_empty_search.json +7 -0
  125. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_frameworks.json +20 -0
  126. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization.json +144 -0
  127. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_domains.json +34 -0
  128. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_search.json +37 -0
  129. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_summary.json +19 -0
  130. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_users.json +81 -0
  131. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_runtimes.json +20 -0
  132. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_binding.json +22 -0
  133. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_bindings.json +24 -0
  134. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instance.json +81 -0
  135. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instances.json +0 -0
  136. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_types.json +124 -0
  137. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space.json +45 -0
  138. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space_summary.json +86 -0
  139. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_stats.json +29 -0
  140. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user.json +112 -0
  141. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_organizations.json +92 -0
  142. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_with_managers.json +85 -0
  143. data/vendor/cfoundry-0.5.2/spec/spec_helper.rb +20 -0
  144. data/vendor/cfoundry-0.5.2/spec/support/fake_helper.rb +236 -0
  145. data/vendor/cfoundry-0.5.2/spec/support/randoms.rb +3 -0
  146. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/cc_api_stub_request_examples.rb +79 -0
  147. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/client_login_examples.rb +46 -0
  148. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/model_summary_examples.rb +34 -0
  149. data/vendor/cfoundry-0.5.2/spec/support/v1_fake_helper.rb +144 -0
  150. data/vendor/cfoundry-0.5.2/vendor/errors/README.md +4 -0
  151. data/vendor/cfoundry-0.5.2/vendor/errors/v1.yml +189 -0
  152. data/vendor/cfoundry-0.5.2/vendor/errors/v2.yml +360 -0
  153. data/vendor/tunnel-vmc-plugin-0.2.2/Rakefile +39 -0
  154. data/vendor/tunnel-vmc-plugin-0.2.2/config/clients.yml +17 -0
  155. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/Gemfile +10 -0
  156. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/server.rb +43 -0
  157. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/plugin.rb +178 -0
  158. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/tunnel.rb +308 -0
  159. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/version.rb +3 -0
  160. data/vendor/tunnel-vmc-plugin-0.2.2/spec/plugin_spec.rb +29 -0
  161. data/vendor/tunnel-vmc-plugin-0.2.2/spec/spec_helper.rb +15 -0
  162. data/vendor/vmc-0.5.0/LICENSE +1277 -0
  163. data/vendor/vmc-0.5.0/Rakefile +101 -0
  164. data/vendor/vmc-0.5.0/bin/vmc +11 -0
  165. data/vendor/vmc-0.5.0/lib/vmc/cli/app/app.rb +45 -0
  166. data/vendor/vmc-0.5.0/lib/vmc/cli/app/apps.rb +99 -0
  167. data/vendor/vmc-0.5.0/lib/vmc/cli/app/base.rb +82 -0
  168. data/vendor/vmc-0.5.0/lib/vmc/cli/app/crashes.rb +42 -0
  169. data/vendor/vmc-0.5.0/lib/vmc/cli/app/delete.rb +95 -0
  170. data/vendor/vmc-0.5.0/lib/vmc/cli/app/deprecated.rb +11 -0
  171. data/vendor/vmc-0.5.0/lib/vmc/cli/app/env.rb +78 -0
  172. data/vendor/vmc-0.5.0/lib/vmc/cli/app/files.rb +137 -0
  173. data/vendor/vmc-0.5.0/lib/vmc/cli/app/health.rb +26 -0
  174. data/vendor/vmc-0.5.0/lib/vmc/cli/app/instances.rb +53 -0
  175. data/vendor/vmc-0.5.0/lib/vmc/cli/app/logs.rb +76 -0
  176. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/create.rb +153 -0
  177. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/interactions.rb +94 -0
  178. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/sync.rb +64 -0
  179. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push.rb +105 -0
  180. data/vendor/vmc-0.5.0/lib/vmc/cli/app/rename.rb +35 -0
  181. data/vendor/vmc-0.5.0/lib/vmc/cli/app/restart.rb +20 -0
  182. data/vendor/vmc-0.5.0/lib/vmc/cli/app/scale.rb +71 -0
  183. data/vendor/vmc-0.5.0/lib/vmc/cli/app/start.rb +150 -0
  184. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stats.rb +67 -0
  185. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stop.rb +27 -0
  186. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/base.rb +12 -0
  187. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/domains.rb +40 -0
  188. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/map.rb +55 -0
  189. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/unmap.rb +56 -0
  190. data/vendor/vmc-0.5.0/lib/vmc/cli/help.rb +15 -0
  191. data/vendor/vmc-0.5.0/lib/vmc/cli/interactive.rb +105 -0
  192. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/base.rb +14 -0
  193. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/create.rb +32 -0
  194. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/delete.rb +73 -0
  195. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/org.rb +45 -0
  196. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/orgs.rb +35 -0
  197. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/rename.rb +36 -0
  198. data/vendor/vmc-0.5.0/lib/vmc/cli/route/base.rb +12 -0
  199. data/vendor/vmc-0.5.0/lib/vmc/cli/route/map.rb +80 -0
  200. data/vendor/vmc-0.5.0/lib/vmc/cli/route/routes.rb +26 -0
  201. data/vendor/vmc-0.5.0/lib/vmc/cli/route/unmap.rb +94 -0
  202. data/vendor/vmc-0.5.0/lib/vmc/cli/service/base.rb +8 -0
  203. data/vendor/vmc-0.5.0/lib/vmc/cli/service/bind.rb +44 -0
  204. data/vendor/vmc-0.5.0/lib/vmc/cli/service/create.rb +126 -0
  205. data/vendor/vmc-0.5.0/lib/vmc/cli/service/delete.rb +86 -0
  206. data/vendor/vmc-0.5.0/lib/vmc/cli/service/rename.rb +35 -0
  207. data/vendor/vmc-0.5.0/lib/vmc/cli/service/service.rb +42 -0
  208. data/vendor/vmc-0.5.0/lib/vmc/cli/service/services.rb +114 -0
  209. data/vendor/vmc-0.5.0/lib/vmc/cli/service/unbind.rb +38 -0
  210. data/vendor/vmc-0.5.0/lib/vmc/cli/space/base.rb +21 -0
  211. data/vendor/vmc-0.5.0/lib/vmc/cli/space/create.rb +60 -0
  212. data/vendor/vmc-0.5.0/lib/vmc/cli/space/delete.rb +95 -0
  213. data/vendor/vmc-0.5.0/lib/vmc/cli/space/rename.rb +39 -0
  214. data/vendor/vmc-0.5.0/lib/vmc/cli/space/space.rb +64 -0
  215. data/vendor/vmc-0.5.0/lib/vmc/cli/space/spaces.rb +55 -0
  216. data/vendor/vmc-0.5.0/lib/vmc/cli/space/switch.rb +16 -0
  217. data/vendor/vmc-0.5.0/lib/vmc/cli/start/base.rb +83 -0
  218. data/vendor/vmc-0.5.0/lib/vmc/cli/start/colors.rb +13 -0
  219. data/vendor/vmc-0.5.0/lib/vmc/cli/start/info.rb +126 -0
  220. data/vendor/vmc-0.5.0/lib/vmc/cli/start/login.rb +96 -0
  221. data/vendor/vmc-0.5.0/lib/vmc/cli/start/logout.rb +17 -0
  222. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target.rb +71 -0
  223. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target_interactions.rb +37 -0
  224. data/vendor/vmc-0.5.0/lib/vmc/cli/start/targets.rb +16 -0
  225. data/vendor/vmc-0.5.0/lib/vmc/cli/user/base.rb +29 -0
  226. data/vendor/vmc-0.5.0/lib/vmc/cli/user/create.rb +39 -0
  227. data/vendor/vmc-0.5.0/lib/vmc/cli/user/delete.rb +27 -0
  228. data/vendor/vmc-0.5.0/lib/vmc/cli/user/passwd.rb +50 -0
  229. data/vendor/vmc-0.5.0/lib/vmc/cli/user/register.rb +42 -0
  230. data/vendor/vmc-0.5.0/lib/vmc/cli/user/users.rb +32 -0
  231. data/vendor/vmc-0.5.0/lib/vmc/cli.rb +475 -0
  232. data/vendor/vmc-0.5.0/lib/vmc/constants.rb +13 -0
  233. data/vendor/vmc-0.5.0/lib/vmc/detect.rb +129 -0
  234. data/vendor/vmc-0.5.0/lib/vmc/errors.rb +17 -0
  235. data/vendor/vmc-0.5.0/lib/vmc/plugin.rb +56 -0
  236. data/vendor/vmc-0.5.0/lib/vmc/spacing.rb +89 -0
  237. data/vendor/vmc-0.5.0/lib/vmc/spec_helper.rb +1 -0
  238. data/vendor/vmc-0.5.0/lib/vmc/test_support.rb +6 -0
  239. data/vendor/vmc-0.5.0/lib/vmc/version.rb +3 -0
  240. data/vendor/vmc-0.5.0/lib/vmc.rb +8 -0
  241. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/Gemfile +3 -0
  242. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/config.ru +3 -0
  243. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/main.rb +6 -0
  244. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_input.rb +6 -0
  245. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_pause.rb +5 -0
  246. data/vendor/vmc-0.5.0/spec/console_app_specker/console_app_specker_matchers_spec.rb +152 -0
  247. data/vendor/vmc-0.5.0/spec/console_app_specker/specker_runner_spec.rb +157 -0
  248. data/vendor/vmc-0.5.0/spec/features/v1/new_user_flow_spec.rb +109 -0
  249. data/vendor/vmc-0.5.0/spec/features/v2/account_lifecycle_spec.rb +64 -0
  250. data/vendor/vmc-0.5.0/spec/features/v2/push_flow_spec.rb +125 -0
  251. data/vendor/vmc-0.5.0/spec/features/v2/switching_targets_spec.rb +32 -0
  252. data/vendor/vmc-0.5.0/spec/spec_helper.rb +63 -0
  253. data/vendor/vmc-0.5.0/spec/support/command_helper.rb +80 -0
  254. data/vendor/vmc-0.5.0/spec/support/config_helper.rb +15 -0
  255. data/vendor/vmc-0.5.0/spec/support/console_app_specker_matchers.rb +75 -0
  256. data/vendor/vmc-0.5.0/spec/support/fake_home_dir.rb +55 -0
  257. data/vendor/vmc-0.5.0/spec/support/interact_helper.rb +29 -0
  258. data/vendor/vmc-0.5.0/spec/support/shared_examples/errors.rb +40 -0
  259. data/vendor/vmc-0.5.0/spec/support/shared_examples/input.rb +14 -0
  260. data/vendor/vmc-0.5.0/spec/support/specker_runner.rb +79 -0
  261. data/vendor/vmc-0.5.0/spec/support/tracking_expector.rb +71 -0
  262. data/vendor/vmc-0.5.0/spec/vmc/cli/app/base_spec.rb +17 -0
  263. data/vendor/vmc-0.5.0/spec/vmc/cli/app/delete_spec.rb +188 -0
  264. data/vendor/vmc-0.5.0/spec/vmc/cli/app/instances_spec.rb +65 -0
  265. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push/create_spec.rb +591 -0
  266. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push_spec.rb +369 -0
  267. data/vendor/vmc-0.5.0/spec/vmc/cli/app/rename_spec.rb +104 -0
  268. data/vendor/vmc-0.5.0/spec/vmc/cli/app/scale_spec.rb +76 -0
  269. data/vendor/vmc-0.5.0/spec/vmc/cli/app/start_spec.rb +168 -0
  270. data/vendor/vmc-0.5.0/spec/vmc/cli/app/stats_spec.rb +68 -0
  271. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/map_spec.rb +130 -0
  272. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/unmap_spec.rb +69 -0
  273. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/orgs_spec.rb +108 -0
  274. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/rename_spec.rb +113 -0
  275. data/vendor/vmc-0.5.0/spec/vmc/cli/route/map_spec.rb +140 -0
  276. data/vendor/vmc-0.5.0/spec/vmc/cli/route/unmap_spec.rb +221 -0
  277. data/vendor/vmc-0.5.0/spec/vmc/cli/service/bind_spec.rb +25 -0
  278. data/vendor/vmc-0.5.0/spec/vmc/cli/service/delete_spec.rb +22 -0
  279. data/vendor/vmc-0.5.0/spec/vmc/cli/service/rename_spec.rb +105 -0
  280. data/vendor/vmc-0.5.0/spec/vmc/cli/service/service_spec.rb +23 -0
  281. data/vendor/vmc-0.5.0/spec/vmc/cli/service/unbind_spec.rb +25 -0
  282. data/vendor/vmc-0.5.0/spec/vmc/cli/space/create_spec.rb +73 -0
  283. data/vendor/vmc-0.5.0/spec/vmc/cli/space/rename_spec.rb +102 -0
  284. data/vendor/vmc-0.5.0/spec/vmc/cli/space/spaces_spec.rb +104 -0
  285. data/vendor/vmc-0.5.0/spec/vmc/cli/space/switch_space_spec.rb +55 -0
  286. data/vendor/vmc-0.5.0/spec/vmc/cli/start/info_spec.rb +160 -0
  287. data/vendor/vmc-0.5.0/spec/vmc/cli/start/login_spec.rb +142 -0
  288. data/vendor/vmc-0.5.0/spec/vmc/cli/start/logout_spec.rb +50 -0
  289. data/vendor/vmc-0.5.0/spec/vmc/cli/start/target_spec.rb +123 -0
  290. data/vendor/vmc-0.5.0/spec/vmc/cli/user/create_spec.rb +54 -0
  291. data/vendor/vmc-0.5.0/spec/vmc/cli/user/delete_spec.rb +51 -0
  292. data/vendor/vmc-0.5.0/spec/vmc/cli/user/passwd_spec.rb +102 -0
  293. data/vendor/vmc-0.5.0/spec/vmc/cli/user/register_spec.rb +140 -0
  294. data/vendor/vmc-0.5.0/spec/vmc/cli_spec.rb +448 -0
  295. data/vendor/vmc-0.5.0/spec/vmc/detect_spec.rb +54 -0
  296. metadata +446 -43
@@ -0,0 +1,236 @@
1
+ module Fake
2
+ module FakeMethods
3
+ def fake_client(attributes = {})
4
+ CFoundry::V2::FakeClient.new.fake(attributes)
5
+ end
6
+
7
+ def fake(what, attributes = {})
8
+ fake_client.send(what).fake(attributes)
9
+ end
10
+
11
+ def fake_list(what, count, attributes = {})
12
+ objs = []
13
+
14
+ count.times do
15
+ objs << fake(what, attributes)
16
+ end
17
+
18
+ objs
19
+ end
20
+
21
+ def fake_model(name = :my_fake_model, &init)
22
+ # There is a difference between ruby 1.8.7 and 1.8.8 in the order that
23
+ # the inherited callback gets called. In 1.8.7 the inherited callback
24
+ # is called after the block; in 1.8.8 and later it's called before.
25
+ # The upshot for us is we need a failproof way of getting the name
26
+ # to klass. So we're using a global variable to hand off the value.
27
+ # Please don't shoot us. - ESH & MMB
28
+ $object_name = name
29
+ klass = Class.new(CFoundry::V2::FakeModel) do
30
+ self.object_name = name
31
+ end
32
+
33
+ klass.class_eval(&init) if init
34
+
35
+ klass
36
+ end
37
+ end
38
+
39
+ def fake(attributes = {})
40
+ fake_attributes(attributes).each do |k, v|
41
+ send(:"#{k}=", v)
42
+ setup_reverse_relationship(v)
43
+ end
44
+
45
+ self
46
+ end
47
+
48
+ def self.define_many_association(target, plural)
49
+ target.class_eval do
50
+ define_method(plural) do |*args|
51
+ options, _ = args
52
+ options ||= {}
53
+
54
+ vals = get_many(plural) || []
55
+
56
+ if options[:query]
57
+ by, val = options[:query]
58
+ vals.select do |v|
59
+ v.send(by) == val
60
+ end
61
+ else
62
+ vals
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ module CFoundry::V2
70
+ class Model
71
+ include Fake
72
+
73
+ attr_writer :client
74
+
75
+ private
76
+
77
+ def get_many(plural)
78
+ @cache[plural]
79
+ end
80
+
81
+ def fake_attributes(attributes)
82
+ fakes = default_fakes
83
+
84
+ # default relationships to other fake objects
85
+ self.class.to_one_relations.each do |name, opts|
86
+ # remove _guid (not an actual attribute)
87
+ fakes.delete :"#{name}_guid"
88
+ next if fakes.key?(name)
89
+
90
+ fakes[name] =
91
+ if opts.key?(:default)
92
+ opts[:default]
93
+ else
94
+ @client.send(opts[:as] || name).fake
95
+ end
96
+ end
97
+
98
+ # make sure that the attributes provided are set after the defaults
99
+ #
100
+ # we have to do this for cases like environment_json vs. env,
101
+ # where one would clobber the other
102
+ attributes.each do |k, _|
103
+ fakes.delete k
104
+ end
105
+
106
+ fakes = fakes.to_a
107
+ fakes += attributes.to_a
108
+
109
+ fakes
110
+ end
111
+
112
+ # override this to provide basic attributes (like name) dynamically
113
+ def default_fakes
114
+ self.class.defaults.merge(
115
+ :guid => random_string("fake-#{object_name}-guid"))
116
+ end
117
+
118
+ def setup_reverse_relationship(v)
119
+ if v.is_a?(Array)
120
+ v.each do |x|
121
+ setup_reverse_relationship(x)
122
+ end
123
+
124
+ return
125
+ end
126
+
127
+ return unless v.is_a?(Model)
128
+
129
+ relation, type = find_reverse_relationship(v)
130
+
131
+ v.client = @client
132
+
133
+ if type == :one
134
+ v.send(:"#{relation}=", self)
135
+ elsif type == :many
136
+ v.send(:"#{relation}=", v.send(relation) + [self])
137
+ end
138
+ end
139
+
140
+ def find_reverse_relationship(v)
141
+ singular = object_name
142
+ plural = plural_object_name
143
+
144
+ v.class.to_one_relations.each do |attr, opts|
145
+ return [attr, :one] if attr == singular
146
+ return [attr, :one] if opts[:as] == singular
147
+ end
148
+
149
+ v.class.to_many_relations.each do |attr, opts|
150
+ return [attr, :many] if attr == plural
151
+ return [attr, :many] if opts[:as] == singular
152
+ end
153
+ end
154
+ end
155
+
156
+
157
+ class FakeBase < Base
158
+ end
159
+
160
+
161
+ class FakeClient < Client
162
+ include Fake
163
+
164
+ def initialize(target = "http://example.com", token = nil)
165
+ @base = FakeBase.new(target, token)
166
+ end
167
+
168
+ private
169
+
170
+ def get_many(plural)
171
+ instance_variable_get(:"@#{plural}")
172
+ end
173
+
174
+ def fake_attributes(attributes)
175
+ attributes
176
+ end
177
+
178
+ def setup_reverse_relationship(v)
179
+ if v.is_a?(Model)
180
+ v.client = self
181
+ elsif v.is_a?(Array)
182
+ v.each do |x|
183
+ setup_reverse_relationship(x)
184
+ end
185
+ end
186
+ end
187
+ end
188
+
189
+
190
+ class FakeModel < CFoundry::V2::Model
191
+ attr_reader :diff
192
+
193
+ def self.inherited(klass)
194
+ class << klass
195
+ attr_writer :object_name
196
+ end
197
+
198
+ # There is a difference between ruby 1.8.7 and 1.8.8 in the order that
199
+ # the inherited callback gets called. In 1.8.7 the inherited callback
200
+ # is called after the block; in 1.8.8 and later it's called before.
201
+ # The upshot for us is we need a failproof way of getting the name
202
+ # to klass. So we're using a global variable to hand off the value.
203
+ # Please don't shoot us. - ESH & MMB
204
+ klass.object_name = $object_name
205
+ super
206
+ end
207
+
208
+ class << self
209
+ attr_writer :object_name
210
+ end
211
+ end
212
+
213
+
214
+ module ModelMagic
215
+ def self.define_client_methods(&blk)
216
+ FakeClient.module_eval(&blk)
217
+ end
218
+
219
+ def self.define_base_client_methods(&blk)
220
+ FakeBase.module_eval(&blk)
221
+ end
222
+ end
223
+
224
+ Model.objects.each_value do |klass|
225
+ klass.to_many_relations.each do |plural, _|
226
+ Fake.define_many_association(klass, plural)
227
+ end
228
+
229
+ FakeClient.class_eval do
230
+ plural = klass.plural_object_name
231
+
232
+ attr_writer plural
233
+ Fake.define_many_association(self, plural)
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,3 @@
1
+ def random_string(tag = "random")
2
+ sprintf("%s-%x", tag, rand(10 ** 6))
3
+ end
@@ -0,0 +1,79 @@
1
+ shared_examples_for 'a stubbed get request' do |*options|
2
+ options = {:code => 200}.merge(options.first || {})
3
+
4
+ it "stubs a get request" do
5
+ subject
6
+ response = Net::HTTP.get_response(URI.parse(url))
7
+ check_response(response, options)
8
+ end
9
+ end
10
+
11
+ shared_examples_for 'a stubbed post request' do |*options|
12
+ options = {:code => 201, :params => {}}.merge(options.first || {})
13
+
14
+ it "stubs a post request" do
15
+ subject
16
+ response = Net::HTTP.post_form(URI.parse(url), options[:params])
17
+ check_response(response, options)
18
+ end
19
+ end
20
+
21
+ shared_examples_for 'a stubbed put request' do |*options|
22
+ options = {:code => 200, :params => {}}.merge(options.first || {})
23
+
24
+ it "stubs a put request" do
25
+ subject
26
+ uri = URI.parse(url)
27
+ Net::HTTP.start(uri.host, uri.port) do |http|
28
+ request = Net::HTTP::Put.new(url, options[:params])
29
+ response = http.request(request)
30
+ check_response(response, options)
31
+ end
32
+ end
33
+ end
34
+
35
+ shared_examples_for 'a stubbed delete request' do |*options|
36
+ options = {:code => 200, :ignore_response => true}.merge(options.first || {})
37
+
38
+ it "stubs a delete request" do
39
+ subject
40
+ uri = URI.parse(url)
41
+ Net::HTTP.start(uri.host, uri.port) do |http|
42
+ request = Net::HTTP::Delete.new(url)
43
+ response = http.request(request)
44
+ check_response(response, options)
45
+ end
46
+ end
47
+ end
48
+
49
+ def check_response(response, options)
50
+ response.code.should == options[:code].to_s
51
+
52
+ unless options[:ignore_response]
53
+ json = JSON.parse(response.body)
54
+ json.should be_a(Hash)
55
+
56
+ if options[:including_json]
57
+ if Proc === options[:including_json]
58
+ options[:including_json][json]
59
+ else
60
+ json.should deep_hash_include(options[:including_json])
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ RSpec::Matchers.define :deep_hash_include do |expected|
67
+ def deep_hash_include_rec(actual_hash, partial_hash)
68
+ partial_hash.reduce(true) do |bool, (key, val)|
69
+ actual_val = actual_hash[key]
70
+ bool && ((Hash === actual_val) ?
71
+ deep_hash_include_rec(actual_val, partial_hash[key]) :
72
+ actual_val == val)
73
+ end
74
+ end
75
+
76
+ match do |actual|
77
+ deep_hash_include_rec(actual, expected)
78
+ end
79
+ end
@@ -0,0 +1,46 @@
1
+ shared_examples_for 'client login prompts' do
2
+ let(:uaa) { CFoundry::UAAClient.new }
3
+ let(:prompts) do
4
+ {
5
+ :user_id => ["text", "User ID"],
6
+ :pin => ["password", "Your 8-digit Pin #"]
7
+ }
8
+ end
9
+
10
+ before do
11
+ stub(client.base).uaa { uaa }
12
+ stub(uaa).prompts { prompts }
13
+ end
14
+
15
+ subject { client.login_prompts }
16
+
17
+ it 'returns the prompts provided by UAA' do
18
+ expect(subject).to eq(prompts)
19
+ end
20
+ end
21
+
22
+ shared_examples_for 'client login' do
23
+ let(:email) { 'test@test.com' }
24
+ let(:password) { 'secret' }
25
+ let(:uaa) { CFoundry::UAAClient.new }
26
+ let(:access_token) { "some-access-token" }
27
+ let(:token_info) { CF::UAA::TokenInfo.new({ :access_token => access_token, :token_type => "bearer" }) }
28
+
29
+ before do
30
+ stub(client.base).uaa { uaa }
31
+ stub(uaa).authorize(email, password) { token_info }
32
+ end
33
+
34
+ subject { client.login(email, password) }
35
+
36
+ it 'returns a UAA token' do
37
+ expect(subject).to be_a(CFoundry::AuthToken)
38
+ expect(subject.auth_header).to eq("bearer #{access_token}")
39
+ end
40
+
41
+ it 'saves the data as the token' do
42
+ subject
43
+ expect(client.token).to be_a(CFoundry::AuthToken)
44
+ expect(client.token.auth_header).to eq("bearer #{access_token}")
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ require "multi_json"
2
+
3
+ shared_examples_for 'a summarizeable model' do
4
+ describe '#summary' do
5
+ let(:summary_endpoint) {
6
+ [ client.target,
7
+ "v2",
8
+ mymodel.plural_object_name,
9
+ myobject.guid,
10
+ "summary"
11
+ ].join("/")
12
+ }
13
+
14
+ it 'returns the summary endpoint payload' do
15
+ req = stub_request(:get, summary_endpoint).to_return :status => 200,
16
+ :body => MultiJson.encode(summary_attributes)
17
+
18
+ expect(subject.summary).to eq(summary_attributes)
19
+ expect(req).to have_been_requested
20
+ end
21
+ end
22
+
23
+ describe '#summarize!' do
24
+ it 'defines basic attributes via #summary' do
25
+ stub(subject).summary { summary_attributes }
26
+
27
+ subject.summarize!
28
+
29
+ summary_attributes.each do |k, v|
30
+ expect(subject.send(k)).to eq v
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,144 @@
1
+ module V1Fake
2
+ module FakeMethods
3
+ def v1_fake_client(attributes = {})
4
+ CFoundry::V1::FakeClient.new.fake(attributes)
5
+ end
6
+
7
+ def v1_fake(what, attributes = {})
8
+ v1_fake_client.send(what).fake(attributes)
9
+ end
10
+
11
+ def v1_fake_list(what, count, attributes = {})
12
+ objs = []
13
+
14
+ count.times do
15
+ objs << fake(what, attributes)
16
+ end
17
+
18
+ objs
19
+ end
20
+
21
+ def v1_fake_model(name = :my_fake_model, &init)
22
+ # There is a difference between ruby 1.8.7 and 1.8.8 in the order that
23
+ # the inherited callback gets called. In 1.8.7 the inherited callback
24
+ # is called after the block; in 1.8.8 and later it's called before.
25
+ # The upshot for us is we need a failproof way of getting the name
26
+ # to klass. So we're using a global variable to hand off the value.
27
+ # Please don't shoot us. - ESH & MMB
28
+ $object_name = name
29
+ klass = Class.new(CFoundry::V1::FakeModel) do
30
+ self.object_name = name
31
+ end
32
+
33
+ klass.class_eval(&init) if init
34
+
35
+ klass.define_client_methods
36
+
37
+ klass
38
+ end
39
+ end
40
+
41
+ def fake(attributes = {})
42
+ fake_attributes(attributes).each do |k, v|
43
+ send(:"#{k}=", v)
44
+ setup_reverse_relationship(v)
45
+ end
46
+
47
+ self
48
+ end
49
+
50
+ def setup_reverse_relationship(v)
51
+ # assign relationship for 'v' pointing back to this object
52
+ end
53
+ end
54
+
55
+ module CFoundry::V1
56
+ class Model
57
+ include V1Fake
58
+
59
+ attr_writer :client
60
+
61
+ private
62
+
63
+ def get_many(plural)
64
+ @cache[plural]
65
+ end
66
+
67
+ def fake_attributes(attributes)
68
+ default_fakes.merge(attributes)
69
+ end
70
+
71
+ # override this to provide basic attributes (like name) dynamically
72
+ def default_fakes
73
+ {}
74
+ end
75
+ end
76
+
77
+
78
+ class FakeBase < Base
79
+ end
80
+
81
+
82
+ class FakeClient < Client
83
+ include Fake
84
+
85
+ def initialize(target = "http://example.com", token = nil)
86
+ @base = FakeBase.new(target, token)
87
+ end
88
+
89
+ private
90
+
91
+ def get_many(plural)
92
+ instance_variable_get(:"@#{plural}")
93
+ end
94
+
95
+ def fake_attributes(attributes)
96
+ attributes
97
+ end
98
+
99
+ def setup_reverse_relationship(v)
100
+ if v.is_a?(Model)
101
+ v.client = self
102
+ elsif v.is_a?(Array)
103
+ v.each do |x|
104
+ setup_reverse_relationship(x)
105
+ end
106
+ end
107
+ end
108
+ end
109
+
110
+
111
+ class FakeModel < CFoundry::V1::Model
112
+ attr_reader :diff
113
+
114
+ def self.inherited(klass)
115
+ class << klass
116
+ attr_writer :object_name
117
+ end
118
+
119
+ # There is a difference between ruby 1.8.7 and 1.8.8 in the order that
120
+ # the inherited callback gets called. In 1.8.7 the inherited callback
121
+ # is called after the block; in 1.8.8 and later it's called before.
122
+ # The upshot for us is we need a failproof way of getting the name
123
+ # to klass. So we're using a global variable to hand off the value.
124
+ # Please don't shoot us. - ESH & MMB
125
+ klass.object_name = $object_name
126
+ super
127
+ end
128
+
129
+ class << self
130
+ attr_writer :object_name
131
+ end
132
+ end
133
+
134
+
135
+ module ModelMagic
136
+ def self.on_client(&blk)
137
+ FakeClient.module_eval(&blk)
138
+ end
139
+
140
+ def self.on_base_client(&blk)
141
+ FakeBase.module_eval(&blk)
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,4 @@
1
+ cf-errors
2
+ =========
3
+
4
+ Shared error codes and messages for Cloud Foundry