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,174 @@
1
+ require "spec_helper"
2
+
3
+ describe CFoundry::UploadHelpers do
4
+ describe '#upload' do
5
+ let(:base) { Object.new }
6
+ let(:guid) { "123" }
7
+ let(:path) { "#{SPEC_ROOT}/fixtures/apps/with_vmcignore" }
8
+ let(:check_resources) { false }
9
+ let(:tmpdir) { "#{SPEC_ROOT}/tmp/fake_tmpdir" }
10
+
11
+ let(:client) do
12
+ client = Object.new
13
+ stub(client).base { base }
14
+ client
15
+ end
16
+
17
+ let(:fake_model) do
18
+ class FakeModel
19
+ include CFoundry::UploadHelpers
20
+
21
+ def initialize(client, guid)
22
+ @client = client
23
+ @guid = guid
24
+ end
25
+ end
26
+
27
+ FakeModel.new(client, guid)
28
+ end
29
+
30
+ before do
31
+ FileUtils.rm_rf tmpdir
32
+
33
+ stub(Dir).tmpdir do
34
+ FileUtils.mkdir_p tmpdir
35
+ tmpdir
36
+ end
37
+
38
+ stub(base).upload_app.with_any_args
39
+ end
40
+
41
+ subject { fake_model.upload(path, check_resources) }
42
+
43
+ def relative_glob(dir)
44
+ base_pathname = Pathname.new(dir)
45
+ Dir["#{dir}/**/{*,.[^\.]*}"].map do |file|
46
+ Pathname.new(file).relative_path_from(base_pathname).to_s
47
+ end
48
+ end
49
+
50
+ def mock_zip(*args, &block)
51
+ if args.empty?
52
+ mock(CFoundry::Zip).pack.with_any_args(&block)
53
+ else
54
+ mock(CFoundry::Zip).pack(*args, &block)
55
+ end
56
+ end
57
+
58
+ it 'zips the app and uploads the zip file' do
59
+ zip_path = "#{tmpdir}/#{guid}.zip"
60
+ mock_zip(anything, zip_path) { true }
61
+ mock(base).upload_app(guid, zip_path, [])
62
+ subject
63
+ end
64
+
65
+ it 'uploads an app with the right guid' do
66
+ mock_zip
67
+ mock(base).upload_app(guid, anything, anything)
68
+ subject
69
+ end
70
+
71
+ it 'uses a unique directory name when it copies the app' do
72
+ mock_zip(/#{tmpdir}.*#{guid}.*/, anything)
73
+ subject
74
+ end
75
+
76
+ it 'cleans up after itself correctly' do
77
+ subject
78
+ expect(relative_glob(tmpdir)).to be_empty
79
+ end
80
+
81
+ it 'includes the source files of the app in the zip file' do
82
+ mock_zip do |src, _|
83
+ files = relative_glob(src)
84
+ expect(files).to include "non_ignored_dir"
85
+ expect(files).to include "non_ignored_file.txt"
86
+ expect(files).to include "non_ignored_dir/file_in_non_ignored_dir.txt"
87
+ end
88
+ subject
89
+ end
90
+
91
+ it 'includes hidden files (though stager ignores them currently)' do
92
+ mock_zip do |src, _|
93
+ expect(relative_glob(src)).to include ".hidden_file"
94
+ end
95
+ subject
96
+ end
97
+
98
+ it 'does not include files and directories specified in the vmcignore (including glob patterns)' do
99
+ mock_zip do |src, _|
100
+ files = relative_glob(src)
101
+ expect(files).not_to include "ignored_dir"
102
+ expect(files).not_to include "ignored_file.txt"
103
+ expect(files).not_to include "non_ignored_dir/ignored_file.txt" # glob pattern **/ignored_file.txt
104
+ end
105
+ subject
106
+ end
107
+
108
+ %w(.git _darcs .svn).each do |source_control_dir_name|
109
+ context "when there is a #{source_control_dir_name} directory in the app" do
110
+ before { FileUtils.mkdir_p("#{path}/#{source_control_dir_name}") }
111
+
112
+ it "ignores that directory" do
113
+ mock_zip do |src, _|
114
+ expect(relative_glob(src)).not_to include source_control_dir_name
115
+ end
116
+ subject
117
+ end
118
+ end
119
+ end
120
+
121
+ context 'when there are no files to zip' do
122
+ before { mock_zip { false } }
123
+
124
+ it 'passes `false` to #upload_app' do
125
+ mock(base).upload_app(guid, false, [])
126
+ subject
127
+ end
128
+ end
129
+
130
+ context 'when all files match existing resources' do
131
+ context 'and there are directories' do
132
+ let(:path) { "#{SPEC_ROOT}/fixtures/apps/with_nested_directories" }
133
+
134
+ it 'prunes them before zipping' do
135
+ stub(fake_model).make_fingerprints(anything) do
136
+ [[], CFoundry::UploadHelpers::RESOURCE_CHECK_LIMIT + 1]
137
+ end
138
+
139
+ stub(base).resource_match(anything) do
140
+ %w{ xyz foo/bar/baz/fizz }.map do |path|
141
+ { :fn => "#{tmpdir}/.vmc_#{guid}_files/#{path}" }
142
+ end
143
+ end
144
+
145
+ mock(base).upload_app(anything, false, anything)
146
+
147
+ fake_model.upload(path)
148
+ end
149
+ end
150
+ end
151
+
152
+ context "when only dotfiles don't match existing resources" do
153
+ let(:path) { "#{SPEC_ROOT}/fixtures/apps/with_dotfiles" }
154
+
155
+ it 'does not prune them' do
156
+ stub(fake_model).make_fingerprints(anything) do
157
+ [[], CFoundry::UploadHelpers::RESOURCE_CHECK_LIMIT + 1]
158
+ end
159
+
160
+ stub(base).resource_match(anything) do
161
+ %w{ xyz }.map do |path|
162
+ { :fn => "#{tmpdir}/.vmc_#{guid}_files/#{path}" }
163
+ end
164
+ end
165
+
166
+ mock(base).upload_app(anything, anything, anything) do |_, zip, _|
167
+ expect(zip).to be_a(String)
168
+ end
169
+
170
+ fake_model.upload(path)
171
+ end
172
+ end
173
+ end
174
+ end
@@ -0,0 +1,58 @@
1
+ require "spec_helper"
2
+
3
+ describe CFoundry::V1::Base do
4
+ let(:base) { CFoundry::V1::Base.new("https://api.cloudfoundry.com") }
5
+
6
+ describe '#get' do
7
+ let(:options) { {} }
8
+ subject { base.get("foo", options) }
9
+
10
+ context 'when successful' do
11
+ context 'and the accept type is JSON' do
12
+ let(:options) { {:accept => :json} }
13
+
14
+ it 'returns the parsed JSON' do
15
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => 201, :body => "{\"hello\": \"there\"}"
16
+ expect(subject).to eq(:hello => "there")
17
+ end
18
+ end
19
+
20
+ context 'and the accept type is not JSON' do
21
+ let(:options) { {:accept => :form} }
22
+
23
+ it 'returns the body' do
24
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => 201, :body => "body"
25
+ expect(subject).to eq "body"
26
+ end
27
+ end
28
+ end
29
+
30
+ context 'when an error occurs' do
31
+ let(:response_code) { 404 }
32
+
33
+ it 'raises the correct error if JSON is parsed successfully' do
34
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => response_code,
35
+ :body => "{\"code\": 111, \"description\": \"Something bad happened\"}"
36
+ expect {subject}.to raise_error CFoundry::SystemError, "111: Something bad happened"
37
+ end
38
+
39
+ it 'raises the correct error if code is missing from response' do
40
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => response_code,
41
+ :body => "{\"description\": \"Something bad happened\"}"
42
+ expect {subject}.to raise_error CFoundry::NotFound
43
+ end
44
+
45
+ it 'raises the correct error if response body is not JSON' do
46
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => response_code,
47
+ :body => "Error happened"
48
+ expect {subject}.to raise_error CFoundry::NotFound
49
+ end
50
+
51
+ it 'raises a generic APIError if code is not recognized' do
52
+ stub_request(:get, 'https://api.cloudfoundry.com/foo').to_return :status => response_code,
53
+ :body => "{\"code\": 6932, \"description\": \"Something bad happened\"}"
54
+ expect {subject}.to raise_error CFoundry::APIError, "6932: Something bad happened"
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,17 @@
1
+ require "spec_helper"
2
+
3
+ describe CFoundry::V1::Client do
4
+ let(:client) { CFoundry::V1::Client.new }
5
+
6
+ describe "#version" do
7
+ its(:version) { should eq 1 }
8
+ end
9
+
10
+ describe "#login" do
11
+ include_examples "client login"
12
+ end
13
+
14
+ describe "#login_prompts" do
15
+ include_examples "client login prompts"
16
+ end
17
+ end
@@ -0,0 +1,43 @@
1
+ require "spec_helper"
2
+
3
+ describe CFoundry::V1::ModelMagic do
4
+ let(:client) { v1_fake_client }
5
+ let(:mymodel) { v1_fake_model }
6
+ let(:guid) { random_string("my-object-guid") }
7
+ let(:myobject) { mymodel.new(guid, client) }
8
+
9
+ describe "#read_manifest" do
10
+ context "with an attribute with different read/write locations" do
11
+ let(:mymodel) do
12
+ v1_fake_model do
13
+ attribute :foo, :string, :read => :x, :write => [:y, :z]
14
+ end
15
+ end
16
+
17
+ before do
18
+ stub(client.base).my_fake_model { { :x => "abc" } }
19
+ end
20
+
21
+ it "reads from the write location" do
22
+ expect {
23
+ myobject.foo = "def"
24
+ }.to change { myobject.read_manifest[:foo] }.from("abc").to("def")
25
+ end
26
+ end
27
+ end
28
+
29
+ describe "#write_manifest" do
30
+ context "with a read-only attribute" do
31
+ let(:mymodel) do
32
+ v1_fake_model do
33
+ attribute :foo, :string, :read_only => true
34
+ end
35
+ end
36
+
37
+ it "does not include the attribute" do
38
+ myobject.fake(:foo => "bar")
39
+ expect(myobject.write_manifest).to_not include :foo
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,144 @@
1
+ require "spec_helper"
2
+
3
+ describe CFoundry::V2::App do
4
+ let(:client) { fake_client }
5
+
6
+ describe "environment" do
7
+ let(:app) { fake :app, :env => { "FOO" => "1" } }
8
+
9
+ it "returns a hash-like object" do
10
+ expect(app.env["FOO"]).to eq "1"
11
+ end
12
+
13
+ describe "converting keys and values to strings" do
14
+ let(:app) { fake :app, :env => { :FOO => 1 } }
15
+
16
+ it "converts keys and values to strings" do
17
+ expect(app.env.to_hash).to eq("FOO" => "1")
18
+ end
19
+ end
20
+
21
+ context "when changes are made to the hash-like object" do
22
+ it "reflects the changes in .env" do
23
+ expect {
24
+ app.env["BAR"] = "2"
25
+ }.to change { app.env.to_hash }.from("FOO" => "1").to("FOO" => "1", "BAR" => "2")
26
+ end
27
+ end
28
+
29
+ context "when the env is set to something else" do
30
+ it "reflects the changes in .env" do
31
+ expect {
32
+ app.env = { "BAR" => "2" }
33
+ }.to change { app.env.to_hash }.from("FOO" => "1").to("BAR" => "2")
34
+ end
35
+ end
36
+ end
37
+
38
+ describe "#summarize!" do
39
+ let(:app) { fake :app }
40
+
41
+ it "assigns :instances as #total_instances" do
42
+ stub(app).summary { { :instances => 4 } }
43
+
44
+ app.summarize!
45
+
46
+ expect(app.total_instances).to eq(4)
47
+ end
48
+ end
49
+
50
+ shared_examples_for "something may stage the app" do
51
+ subject { fake :app, :client => client }
52
+ let(:response) { { :body => '{ "foo": "bar" }' } }
53
+
54
+ before do
55
+ stub(client.base).put("v2", "apps", subject.guid, anything) do
56
+ response
57
+ end
58
+ end
59
+
60
+ context "when asynchronous is true" do
61
+ it "sends the PUT request with &stage_async=true" do
62
+ mock(client.base).put(
63
+ "v2", "apps", subject.guid,
64
+ hash_including(
65
+ :params => { :stage_async => true },
66
+ :return_response => true )) do
67
+ response
68
+ end
69
+
70
+ update(true)
71
+ end
72
+
73
+ context "and a block is given" do
74
+ let(:response) do
75
+ { :headers => { "x-app-staging-log" => "http://app/staging/log" },
76
+ :body => "{}"
77
+ }
78
+ end
79
+
80
+ it "yields the URL for the logs" do
81
+ yielded_url = nil
82
+ update(true) do |url|
83
+ yielded_url = url
84
+ end
85
+
86
+ expect(yielded_url).to eq "http://app/staging/log"
87
+ end
88
+ end
89
+ end
90
+
91
+ context "when asynchronous is false" do
92
+ it "sends the PUT request with &stage_async=false" do
93
+ mock(client.base).put(
94
+ "v2", "apps", subject.guid,
95
+ hash_including(:params => { :stage_async => false})) do
96
+ response
97
+ end
98
+
99
+ update(false)
100
+ end
101
+ end
102
+ end
103
+
104
+ describe "#start!" do
105
+ it_should_behave_like "something may stage the app" do
106
+ def update(async, &blk)
107
+ subject.start!(async, &blk)
108
+ end
109
+ end
110
+ end
111
+
112
+ describe "#restart!" do
113
+ it_should_behave_like "something may stage the app" do
114
+ def update(async, &blk)
115
+ subject.restart!(async, &blk)
116
+ end
117
+ end
118
+ end
119
+
120
+ describe "#update!" do
121
+ describe "changes" do
122
+ subject { fake :app, :client => client }
123
+ let(:response) { { :body => '{ "foo": "bar" }' } }
124
+
125
+ before do
126
+ stub(client.base).put("v2", "apps", subject.guid, anything) do
127
+ response
128
+ end
129
+ end
130
+
131
+ it "applies the changes from the response JSON" do
132
+ expect {
133
+ subject.update!
134
+ }.to change { subject.manifest }.to(:foo => "bar")
135
+ end
136
+ end
137
+
138
+ it_should_behave_like "something may stage the app" do
139
+ def update(async, &blk)
140
+ subject.update!(async, &blk)
141
+ end
142
+ end
143
+ end
144
+ end