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,18 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class Space < Model
5
+ attribute :name, :string
6
+ to_one :organization
7
+ to_many :developers, :as => :user
8
+ to_many :managers, :as => :user
9
+ to_many :auditors, :as => :user
10
+ to_many :apps
11
+ to_many :domains
12
+ to_many :service_instances
13
+
14
+ scoped_to_organization
15
+
16
+ queryable_by :name, :organization_guid, :developer_guid, :app_guid
17
+ end
18
+ end
@@ -0,0 +1,64 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class User < Model
5
+ to_many :spaces
6
+ to_many :organizations
7
+ to_many :managed_organizations, :as => :organization
8
+ to_many :billing_managed_organizations, :as => :organization
9
+ to_many :audited_organizations, :as => :organization
10
+ to_many :managed_spaces, :as => :space
11
+ to_many :audited_spaces, :as => :space
12
+ attribute :admin, :boolean
13
+ to_one :default_space, :as => :space
14
+
15
+ attribute :guid, :string # guid is explicitly set for users
16
+
17
+ queryable_by :space_guid, :organization_guid, :managed_organization_guid,
18
+ :billing_managed_organization_guid, :audited_organization_guid,
19
+ :managed_space_guid, :audited_space_guid
20
+
21
+ def guid
22
+ @guid
23
+ end
24
+
25
+ alias set_guid_attribute guid=
26
+
27
+ def guid=(x)
28
+ @guid = x
29
+ set_guid_attribute(x)
30
+ end
31
+
32
+ alias :admin? :admin
33
+
34
+ def change_password!(new, old)
35
+ @client.base.uaa.change_password(@guid, new, old)
36
+ end
37
+
38
+ # optional metadata from UAA
39
+ attr_accessor :emails, :name
40
+
41
+ def email
42
+ return unless @emails && @emails.first
43
+ @emails.first[:value]
44
+ end
45
+
46
+ def given_name
47
+ return unless @name && @name[:givenName] != email
48
+ @name[:givenName]
49
+ end
50
+
51
+ def family_name
52
+ return unless @name && @name[:familyName] != email
53
+ @name[:familyName]
54
+ end
55
+
56
+ def full_name
57
+ if @name && @name[:fullName]
58
+ @name[:fullName]
59
+ elsif given_name && family_name
60
+ "#{given_name} #{family_name}"
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,39 @@
1
+ module CFoundry
2
+ module Validator
3
+ class << self
4
+ def value_matches?(val, type)
5
+ case type
6
+ when Class
7
+ val.is_a?(type)
8
+ when Regexp
9
+ val.is_a?(String) && val =~ type
10
+ when :url
11
+ value_matches?(val, URI::regexp(%w(http https)))
12
+ when :https_url
13
+ value_matches?(val, URI::regexp("https"))
14
+ when :boolean
15
+ val.is_a?(TrueClass) || val.is_a?(FalseClass)
16
+ when Array
17
+ val.all? do |x|
18
+ value_matches?(x, type.first)
19
+ end
20
+ when Hash
21
+ val.is_a?(Hash) &&
22
+ type.all? { |name, subtype|
23
+ val.key?(name) && value_matches?(val[name], subtype)
24
+ }
25
+ when nil
26
+ true
27
+ else
28
+ val.is_a?(Object.const_get(type.to_s.capitalize))
29
+ end
30
+ end
31
+
32
+ def validate_type(val, type)
33
+ unless value_matches?(val, type)
34
+ raise CFoundry::Mismatch.new(type, val)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,4 @@
1
+ module CFoundry # :nodoc:
2
+ # CFoundry library version number.
3
+ VERSION = "0.5.2".freeze
4
+ end
@@ -0,0 +1,56 @@
1
+ require "zip/zipfilesystem"
2
+
3
+ module CFoundry
4
+ # Generic Zpi API. Uses rubyzip underneath, but may be changed in the future
5
+ # to use system zip command if necessary.
6
+ module Zip
7
+ # Directory entries to exclude from packing.
8
+ PACK_EXCLUSION_GLOBS = %w(.. . *~ #*# *.log)
9
+
10
+ module_function
11
+
12
+ # Get the entries in the zip file. Returns an array of the entire
13
+ # contents, recursively (not just top-level).
14
+ def entry_lines(file)
15
+ entries = []
16
+ ::Zip::ZipFile.foreach(file) do |zentry|
17
+ entries << zentry
18
+ end
19
+ entries
20
+ end
21
+
22
+ # Unpack a zip +file+ to directory +dest+.
23
+ def unpack(file, dest)
24
+ ::Zip::ZipFile.foreach(file) do |zentry|
25
+ epath = "#{dest}/#{zentry}"
26
+ dirname = File.dirname(epath)
27
+ FileUtils.mkdir_p(dirname) unless File.exists?(dirname)
28
+ zentry.extract(epath) unless File.exists?(epath)
29
+ end
30
+ end
31
+
32
+ # Determine what files in +dir+ to pack.
33
+ def files_to_pack(dir)
34
+ Dir.glob("#{dir}/**/*", File::FNM_DOTMATCH).select do |f|
35
+ File.exists?(f) &&
36
+ PACK_EXCLUSION_GLOBS.none? do |e|
37
+ File.fnmatch(e, File.basename(f))
38
+ end
39
+ end
40
+ end
41
+
42
+ # Package directory +dir+ as file +zipfile+.
43
+ def pack(dir, zipfile)
44
+ files = files_to_pack(dir)
45
+ return false if files.empty?
46
+
47
+ ::Zip::ZipFile.open(zipfile, true) do |zf|
48
+ files.each do |f|
49
+ zf.add(f.sub("#{dir}/",''), f)
50
+ end
51
+ end
52
+
53
+ true
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,2 @@
1
+ require "cfoundry/version"
2
+ require "cfoundry/client"
@@ -0,0 +1,69 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Applications do
6
+ describe ".succeed_to_load" do
7
+ let(:url) { "http://example.com/v2/apps/234" }
8
+ subject { CcApiStub::Applications.succeed_to_load }
9
+
10
+ it_behaves_like "a stubbed get request"
11
+ end
12
+
13
+ describe ".succeed_to_create" do
14
+ let(:url) { "http://example.com/v2/apps" }
15
+ subject { CcApiStub::Applications.succeed_to_create }
16
+
17
+ it_behaves_like "a stubbed post request"
18
+ end
19
+
20
+ describe ".succeed_to_update" do
21
+ let(:url) { "http://example.com/v2/apps/234" }
22
+ subject { CcApiStub::Applications.succeed_to_update }
23
+
24
+ it_behaves_like "a stubbed put request"
25
+ end
26
+
27
+ describe ".succeed_to_map_route" do
28
+ let(:url) { "http://example.com/v2/apps/234/routes/123" }
29
+ subject { CcApiStub::Applications.succeed_to_map_route }
30
+
31
+ it_behaves_like "a stubbed put request", :code => 201
32
+ end
33
+
34
+ describe ".succeed_to_load_stats" do
35
+ let(:url) { "http://example.com/v2/apps/234/stats" }
36
+ subject { CcApiStub::Applications.succeed_to_load_stats }
37
+
38
+ it_behaves_like "a stubbed get request"
39
+ end
40
+
41
+ describe ".summary_fixture" do
42
+ it "loads a fixture file" do
43
+ CcApiStub::Applications.summary_fixture.should be_a(Hash)
44
+ end
45
+ end
46
+
47
+ describe "succeed_to_load_summary" do
48
+ let(:url) { "http://example.com/v2/apps/234/summary" }
49
+
50
+ context "with default args" do
51
+ subject { CcApiStub::Applications.succeed_to_load_summary }
52
+
53
+ it_behaves_like "a stubbed get request", :including_json => { "state" => "STARTED" }
54
+ end
55
+
56
+ context "with user set args" do
57
+ subject { CcApiStub::Applications.succeed_to_load_summary(:state => "FLAPPING") }
58
+
59
+ it_behaves_like "a stubbed get request", :including_json => { "state" => "FLAPPING" }
60
+ end
61
+ end
62
+
63
+ describe ".succeed_to_load_service_bindings" do
64
+ let(:url) { "http://example.com/v2/apps/234/service_bindings" }
65
+ subject { CcApiStub::Applications.succeed_to_load_service_bindings }
66
+
67
+ it_behaves_like "a stubbed get request"
68
+ end
69
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Domains do
6
+ describe ".succeed_to_create" do
7
+ let(:url) { "http://example.com/v2/domains/" }
8
+ subject { CcApiStub::Domains.succeed_to_create }
9
+
10
+ it_behaves_like "a stubbed post request"
11
+ end
12
+
13
+ describe ".succeed_to_delete" do
14
+ let(:url) { "http://example.com/v2/domains/1234" }
15
+ subject { CcApiStub::Domains.succeed_to_delete }
16
+
17
+ it_behaves_like "a stubbed delete request"
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Frameworks do
6
+ let(:url) { "http://example.com/v2/frameworks?inline-relations-depth=1" }
7
+
8
+ describe ".succeed_to_load" do
9
+ subject { CcApiStub::Frameworks.succeed_to_load }
10
+
11
+ it_behaves_like "a stubbed get request"
12
+ end
13
+
14
+ describe ".fail_to_load" do
15
+ subject { CcApiStub::Frameworks.fail_to_load }
16
+
17
+ it_behaves_like "a stubbed get request", :code => 500, :ignore_response => true
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Login do
6
+ describe '.succeeds_to_find_uaa' do
7
+ let(:host) { 'http://example.com:8181' }
8
+ let(:url) { host + "/info" }
9
+ subject { CcApiStub::Login.succeeds_to_find_uaa(host) }
10
+
11
+ it_behaves_like "a stubbed get request", :including_json => {'authorization_endpoint' => 'https://uaa.localhost'}
12
+ end
13
+
14
+ describe '.succeeds_to_login_as_admin' do
15
+ let(:url) { "http://uaa.localhost/oauth/authorize" }
16
+ subject { CcApiStub::Login::succeeds_to_login_as_admin }
17
+
18
+ it_behaves_like "a stubbed post request", :code => 302, :ignore_response => true
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::OrganizationUsers do
6
+ let(:url) { "http://example.com/v2/organizations/123/users/94087" }
7
+
8
+ describe ".succeed_to_delete" do
9
+ subject { CcApiStub::OrganizationUsers.succeed_to_delete }
10
+
11
+ it_behaves_like "a stubbed delete request"
12
+ end
13
+
14
+ describe ".fail_to_delete" do
15
+ subject { CcApiStub::OrganizationUsers.fail_to_delete }
16
+
17
+ it_behaves_like "a stubbed delete request", :code => 500, :ignore_response => true
18
+ end
19
+ end
@@ -0,0 +1,97 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Organizations do
6
+ let(:client) { CFoundry::V2::Client.new }
7
+
8
+ describe ".succeed_to_create" do
9
+ let(:url) { "http://example.com/v2/organizations/" }
10
+ subject { CcApiStub::Organizations.succeed_to_create }
11
+
12
+ it_behaves_like "a stubbed post request"
13
+ end
14
+
15
+
16
+ describe '.summary_fixture' do
17
+ it 'returns the fake org' do
18
+ CcApiStub::Organizations.summary_fixture.should be_a(Hash)
19
+ end
20
+ end
21
+
22
+ describe '.fail_to_find' do
23
+ let(:url) { "http://example.com/v2/organizations/9234" }
24
+ subject { CcApiStub::Organizations.fail_to_find(9234) }
25
+
26
+ it_behaves_like "a stubbed get request", :code => 404
27
+ end
28
+
29
+ describe '.succeed_to_load_summary' do
30
+ let(:url) { "http://example.com/v2/organizations/9234/summary" }
31
+ subject { CcApiStub::Organizations.succeed_to_load_summary }
32
+
33
+ it_behaves_like "a stubbed get request"
34
+
35
+ context "when passed a no_spaces option" do
36
+ subject { CcApiStub::Organizations.succeed_to_load_summary(:no_spaces => true) }
37
+
38
+ it_behaves_like "a stubbed get request", :including_json => { "spaces" => [] }
39
+ end
40
+ end
41
+
42
+ describe '.succeed_to_search' do
43
+ let(:url) { "http://example.com/v2/organizations?inline-relations-depth=1&q=name:orgname" }
44
+ subject { CcApiStub::Organizations.succeed_to_search("orgname") }
45
+
46
+ it_behaves_like "a stubbed get request"
47
+ end
48
+
49
+ describe '.succeed_to_search_none' do
50
+ let(:url) { "http://example.com/v2/organizations?inline-relations-depth=1&q=name:orgname" }
51
+ subject { CcApiStub::Organizations.succeed_to_search_none }
52
+
53
+ it_behaves_like "a stubbed get request"
54
+ end
55
+
56
+ describe '.domains_fixture' do
57
+ it 'returns the fake domain' do
58
+ CcApiStub::Organizations.domains_fixture.should be_a(Hash)
59
+ end
60
+ end
61
+
62
+ describe '.domains_fixture_hash' do
63
+ it 'returns the fake domain' do
64
+ fixture = CcApiStub::Organizations.domain_fixture_hash
65
+ fixture.should be_a(Hash)
66
+ fixture.should == fixture.symbolize_keys
67
+ end
68
+ end
69
+
70
+ describe '.succeed_to_load_domains' do
71
+ let(:url) { "http://example.com/v2/organizations/3434/domains?inline-relations-depth=1" }
72
+ subject { CcApiStub::Organizations.succeed_to_load_domains }
73
+
74
+ it_behaves_like "a stubbed get request"
75
+ end
76
+
77
+ describe '.users_fixture' do
78
+ it "returns the fake users" do
79
+ CcApiStub::Organizations.users_fixture.should be_a(Hash)
80
+ end
81
+ end
82
+
83
+ describe '.user_fixture_hash' do
84
+ it 'returns the fake user' do
85
+ fixture = CcApiStub::Organizations.user_fixture_hash
86
+ fixture.should be_a(Hash)
87
+ fixture.should == fixture.symbolize_keys
88
+ end
89
+ end
90
+
91
+ describe '.succeed_to_load_users' do
92
+ let(:url) { "http://example.com/v2/organizations/2342/users?inline-relations-depth=1" }
93
+ subject { CcApiStub::Organizations.succeed_to_load_users }
94
+
95
+ it_behaves_like "a stubbed get request"
96
+ end
97
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Routes do
6
+ let(:url) { "http://example.com/v2/routes/" }
7
+
8
+ describe ".succeed_to_load_none" do
9
+ subject { CcApiStub::Routes.succeed_to_load_none }
10
+
11
+ it_behaves_like "a stubbed get request", :including_json => { "resources" => [] }
12
+ end
13
+
14
+ describe ".succeed_to_create" do
15
+ subject { CcApiStub::Routes.succeed_to_create }
16
+
17
+ it_behaves_like "a stubbed post request"
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Runtimes do
6
+ let(:url) { "http://example.com/v2/runtimes?inline-relations-depth=1" }
7
+
8
+ describe ".succeed_to_load" do
9
+ subject { CcApiStub::Runtimes.succeed_to_load }
10
+
11
+ it_behaves_like "a stubbed get request"
12
+ end
13
+
14
+ describe ".fail_to_load" do
15
+ subject { CcApiStub::Runtimes.fail_to_load }
16
+
17
+ it_behaves_like "a stubbed get request", :code => 500, :ignore_response => true
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::ServiceBindings do
6
+ let(:url) { "http://example.com/v2/service_bindings" }
7
+
8
+ describe ".succeed_to_create" do
9
+ subject { CcApiStub::ServiceBindings.succeed_to_create }
10
+
11
+ it_behaves_like "a stubbed post request"
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::ServiceInstances do
6
+ describe ".succeed_to_create" do
7
+ let(:url) { "http://example.com/v2/service_instances" }
8
+ subject { CcApiStub::ServiceInstances.succeed_to_create }
9
+
10
+ it_behaves_like "a stubbed post request"
11
+ end
12
+
13
+ describe ".succeed_to_load" do
14
+ let(:url) { "http://example.com/v2/service_instances/123" }
15
+ subject { CcApiStub::ServiceInstances.succeed_to_load }
16
+
17
+ it_behaves_like "a stubbed get request"
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Services do
6
+ describe ".succeed_to_load" do
7
+ let(:url) { "http://example.com/v2/services?inline-relations-depth=1" }
8
+ subject { CcApiStub::Services.succeed_to_load }
9
+
10
+ it_behaves_like "a stubbed get request"
11
+ end
12
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Spaces do
6
+ describe ".succeed_to_load" do
7
+ let(:url) { "http://example.com/v2/spaces/234" }
8
+ subject { CcApiStub::Spaces.succeed_to_load }
9
+
10
+ it_behaves_like "a stubbed get request"
11
+ end
12
+
13
+ describe ".succeed_to_create" do
14
+ let(:url) { "http://example.com/v2/spaces" }
15
+ subject { CcApiStub::Spaces.succeed_to_create }
16
+
17
+ it_behaves_like "a stubbed post request"
18
+ end
19
+
20
+ describe ".summary_fixture" do
21
+ it "returns a space fixture" do
22
+ CcApiStub::Spaces.summary_fixture.should be_a(Hash)
23
+ end
24
+ end
25
+
26
+ describe ".succeed_to_load_summary" do
27
+ let(:url) { "http://example.com/v2/spaces/234/summary" }
28
+ subject { CcApiStub::Spaces.succeed_to_load_summary }
29
+
30
+ it_behaves_like "a stubbed get request"
31
+
32
+ context "when specifying no_services" do
33
+ subject { CcApiStub::Spaces.succeed_to_load_summary(:no_services => true) }
34
+
35
+ it_behaves_like "a stubbed get request", :including_json => {"services" => []}
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,107 @@
1
+ require 'spec_helper'
2
+ require 'net/http'
3
+ require 'uri'
4
+
5
+ describe CcApiStub::Users do
6
+ describe ".succeed_to_load" do
7
+ let(:url) { "http://example.com/v2/users/2345?inline-relations-depth=2" }
8
+ let(:options) { {} }
9
+ subject { CcApiStub::Users.succeed_to_load(options) }
10
+
11
+ it_behaves_like "a stubbed get request"
12
+
13
+ context "when setting a user id" do
14
+ let(:options) { { :id => "some-id" } }
15
+
16
+ it_behaves_like "a stubbed get request", :including_json => { "metadata" => { "guid" => "some-id" } }
17
+ end
18
+
19
+ context "when setting an organization_id" do
20
+ let(:options) { { :organization_id => "some-id" } }
21
+
22
+ it_behaves_like "a stubbed get request", :including_json => Proc.new { |json|
23
+ json["entity"]["organizations"][0]["metadata"]["guid"].should == "some-id"
24
+ }
25
+ end
26
+
27
+ context "when specifying no_spaces" do
28
+ let(:options) { { :no_spaces => true } }
29
+
30
+ it_behaves_like "a stubbed get request", :including_json => Proc.new { |json|
31
+ json["entity"]["organizations"][0]["entity"]["spaces"].should == []
32
+ }
33
+ end
34
+
35
+ context "when specifying custom permissions" do
36
+ let(:options) { { :permissions => [:space_manager, :space2_auditor] } }
37
+
38
+ it_behaves_like "a stubbed get request", :including_json => {
39
+ "entity" =>
40
+ {
41
+ "managed_spaces" => [{"metadata" => { "guid" => "space-id-1" }, "entity" => {}}],
42
+ "audited_spaces" => [{"metadata" => { "guid" => "space-id-2" }, "entity" => {}}]
43
+ }
44
+ }
45
+ end
46
+ end
47
+
48
+ describe ".fail_to_find" do
49
+ let(:url) { "http://example.com/v2/users/2345" }
50
+ subject { CcApiStub::Users.fail_to_find }
51
+
52
+ it_behaves_like "a stubbed get request", :code => 404
53
+ end
54
+
55
+ describe ".succeed_to_create" do
56
+ let(:url) { "http://example.com/v2/users" }
57
+ subject { CcApiStub::Users.succeed_to_create }
58
+
59
+ it_behaves_like "a stubbed post request"
60
+ end
61
+
62
+ describe ".fail_to_create" do
63
+ let(:url) { "http://example.com/v2/users" }
64
+ subject { CcApiStub::Users.fail_to_create }
65
+
66
+ it_behaves_like "a stubbed post request", :code => 500
67
+ end
68
+
69
+ describe ".succeed_to_replace_permissions" do
70
+ let(:url) { "http://example.com/v2/users/123" }
71
+ subject { CcApiStub::Users.succeed_to_replace_permissions }
72
+
73
+ it_behaves_like "a stubbed put request", :ignore_response => true
74
+ end
75
+
76
+ describe ".fail_to_replace_permissions" do
77
+ let(:url) { "http://example.com/v2/users/123" }
78
+ subject { CcApiStub::Users.fail_to_replace_permissions }
79
+
80
+ it_behaves_like "a stubbed put request", :ignore_response => true, :code => 500
81
+ end
82
+
83
+ describe ".organizations_fixture" do
84
+ subject { CcApiStub::Users.organizations_fixture }
85
+
86
+ it "returns a fixture" do
87
+ subject.should be_a Array
88
+ end
89
+ end
90
+
91
+ describe ".organizations_fixture_hash" do
92
+ subject { CcApiStub::Users.organization_fixture_hash }
93
+
94
+ it "returns a fixture" do
95
+ subject.should be_a Hash
96
+ end
97
+
98
+ context "when specifying options" do
99
+ subject { CcApiStub::Users.organization_fixture_hash(:no_spaces => true, :no_managers => true) }
100
+
101
+ it "takes options into account" do
102
+ subject[:entity][:spaces].should be_nil
103
+ subject[:entity][:managers].should be_nil
104
+ end
105
+ end
106
+ end
107
+ end