rhc 1.14.7 → 1.15.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/autocomplete/rhc_bash +260 -124
  2. data/features/core_feature.rb +143 -0
  3. data/features/domains_feature.rb +49 -0
  4. data/features/members_feature.rb +131 -0
  5. data/lib/rhc/auth/token_store.rb +2 -0
  6. data/lib/rhc/command_runner.rb +7 -5
  7. data/lib/rhc/commands.rb +111 -68
  8. data/lib/rhc/commands/account.rb +3 -4
  9. data/lib/rhc/commands/alias.rb +10 -15
  10. data/lib/rhc/commands/app.rb +36 -64
  11. data/lib/rhc/commands/authorization.rb +1 -1
  12. data/lib/rhc/commands/base.rb +13 -8
  13. data/lib/rhc/commands/cartridge.rb +21 -29
  14. data/lib/rhc/commands/domain.rb +96 -47
  15. data/lib/rhc/commands/env.rb +11 -15
  16. data/lib/rhc/commands/git_clone.rb +2 -3
  17. data/lib/rhc/commands/member.rb +148 -0
  18. data/lib/rhc/commands/port_forward.rb +2 -3
  19. data/lib/rhc/commands/setup.rb +8 -8
  20. data/lib/rhc/commands/snapshot.rb +23 -20
  21. data/lib/rhc/commands/ssh.rb +12 -17
  22. data/lib/rhc/commands/tail.rb +2 -3
  23. data/lib/rhc/commands/threaddump.rb +2 -3
  24. data/lib/rhc/config.rb +1 -0
  25. data/lib/rhc/context_helper.rb +94 -19
  26. data/lib/rhc/core_ext.rb +6 -0
  27. data/lib/rhc/coverage_helper.rb +1 -1
  28. data/lib/rhc/exceptions.rb +24 -0
  29. data/lib/rhc/git_helpers.rb +5 -6
  30. data/lib/rhc/helpers.rb +23 -6
  31. data/lib/rhc/highline_extensions.rb +3 -2
  32. data/lib/rhc/output_helpers.rb +9 -6
  33. data/lib/rhc/rest.rb +1 -0
  34. data/lib/rhc/rest/application.rb +10 -4
  35. data/lib/rhc/rest/attributes.rb +4 -0
  36. data/lib/rhc/rest/base.rb +2 -1
  37. data/lib/rhc/rest/cartridge.rb +4 -0
  38. data/lib/rhc/rest/client.rb +41 -25
  39. data/lib/rhc/rest/domain.rb +29 -9
  40. data/lib/rhc/rest/membership.rb +105 -0
  41. data/lib/rhc/rest/mock.rb +45 -12
  42. data/lib/rhc/rest/user.rb +5 -1
  43. data/lib/rhc/ssh_helpers.rb +14 -0
  44. data/lib/rhc/usage_templates/command_syntax_help.erb +2 -0
  45. data/lib/rhc/wizard.rb +3 -3
  46. data/spec/coverage_helper.rb +31 -9
  47. data/spec/direct_execution_helper.rb +256 -0
  48. data/spec/rhc/command_spec.rb +86 -15
  49. data/spec/rhc/commands/account_spec.rb +2 -1
  50. data/spec/rhc/commands/alias_spec.rb +7 -0
  51. data/spec/rhc/commands/app_spec.rb +73 -90
  52. data/spec/rhc/commands/cartridge_spec.rb +61 -59
  53. data/spec/rhc/commands/domain_spec.rb +179 -43
  54. data/spec/rhc/commands/member_spec.rb +228 -0
  55. data/spec/rhc/commands/port_forward_spec.rb +7 -7
  56. data/spec/rhc/commands/snapshot_spec.rb +45 -24
  57. data/spec/rhc/commands/ssh_spec.rb +16 -3
  58. data/spec/rhc/commands/tail_spec.rb +1 -1
  59. data/spec/rhc/helpers_spec.rb +9 -0
  60. data/spec/rhc/rest_client_spec.rb +75 -7
  61. data/spec/rhc/rest_spec.rb +1 -1
  62. metadata +57 -107
  63. data/features/README.md +0 -198
  64. data/features/application.feature +0 -28
  65. data/features/cartridge.feature +0 -48
  66. data/features/client.feature +0 -11
  67. data/features/domain.feature +0 -30
  68. data/features/env.feature +0 -35
  69. data/features/geared_application.feature +0 -8
  70. data/features/lib/rhc_helper.rb +0 -21
  71. data/features/lib/rhc_helper/api.rb +0 -7
  72. data/features/lib/rhc_helper/app.rb +0 -137
  73. data/features/lib/rhc_helper/cartridge.rb +0 -97
  74. data/features/lib/rhc_helper/commandify.rb +0 -251
  75. data/features/lib/rhc_helper/domain.rb +0 -65
  76. data/features/lib/rhc_helper/env.rb +0 -29
  77. data/features/lib/rhc_helper/httpify.rb +0 -186
  78. data/features/lib/rhc_helper/loggable.rb +0 -37
  79. data/features/lib/rhc_helper/persistable.rb +0 -51
  80. data/features/lib/rhc_helper/runnable.rb +0 -55
  81. data/features/lib/rhc_helper/sshkey.rb +0 -33
  82. data/features/multiple_cartridge.feature +0 -19
  83. data/features/scaled_application.feature +0 -48
  84. data/features/sshkey.feature +0 -63
  85. data/features/step_definitions/application_steps.rb +0 -120
  86. data/features/step_definitions/cartridge_steps.rb +0 -95
  87. data/features/step_definitions/client_steps.rb +0 -41
  88. data/features/step_definitions/domain_steps.rb +0 -73
  89. data/features/step_definitions/env_steps.rb +0 -32
  90. data/features/step_definitions/sshkey_steps.rb +0 -56
  91. data/features/support/assumptions.rb +0 -49
  92. data/features/support/before_hooks.rb +0 -81
  93. data/features/support/env.rb +0 -208
  94. data/features/support/key1 +0 -27
  95. data/features/support/key1.pub +0 -1
  96. data/features/support/key2 +0 -27
  97. data/features/support/key2.pub +0 -1
  98. data/features/support/key3.pub +0 -1
  99. data/features/support/platform_support.rb +0 -29
  100. data/features/verify.feature +0 -18
  101. data/spec/rhc/context_spec.rb +0 -53
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEowIBAAKCAQEA35G7DJsH3ycfxThXsq/4mYxnjOZixpV0pMQYklQJPBBSfSP/
3
- 6jAczpjQC2WP/mMTxxJO3KeAojWT7vd+6zqSWJVl7Jvjb9Vmnkq6HGqFYr4iex+g
4
- aA87wF316b5ejNHmx7o1Ly6WH+KYOPMfJ0iEqqWd0MYUEvut+sKwra+dgF+alG5d
5
- juRu0xJBjQedHPBmU96R2lyfTkdejhzsCiPOOzbO2XRXoFUdTGKaDsXdzCt1kwXU
6
- 9rR/Pl43nKRvzBlqk/XTr8JzvpAvm8Z138QlezyAhi5gMSYmvvMacZeZqMrwbEbo
7
- JdpIruoEa1dIVzJyPnU08k+OzHGIo2zlF4A+uQIDAQABAoIBACGBl8T13yIknPBT
8
- 12DiWqG4lzRYuukEMS0Ybo5Ppeqoj5RNtucEOu0Dnfp3SDNZ6fbl2YfcWrz0xq0D
9
- zrO2XYSFL3dcjaOPGggTLv1fQYpg8I3/WWz/C3dzHY3giA8Wzj2UvK/LjZhNv36Z
10
- gUvD5I4msBY/+XY23gY883m0XiiE48Nb2sTVYDyq8ubBKLUGE2yTnbaCAzXPifSp
11
- 8fczmNKCKS9kgHyGtfryVaaLAIKmNacIQlsmGoUy77KG43dG3rvlsQxcYjPg6ccO
12
- 1XnTodLtFJwPKcdKWvRM2lM7vYNNMOOnwITLh01Oeyuam9xt8ReUSPGqoJxkJNfc
13
- TV4bezkCgYEA+RWWDN71DHHLD1HqFnVTEE+TP34YAgE5hgorKI9net2TnypwsOTj
14
- QjUeZ8EdyTKPDMrW/CmAB0hqMWAN3b7Lyu5Rct9qt4Sioj1PblQ0W0/PIgIpy0Z/
15
- 8eGKpDdeqtv/GLfhTOqnq9k93Ra+SbAO7xe7oV2LPFl+kcPjXvcJtTMCgYEA5cbK
16
- mitsGTD6DuVdCCK4YPJVyrhv8Kh3g9q9aSoAP2XmcHAn/NIW081J6j1gKy41cuoe
17
- 3AyHQZwL+tWsJtITwurosXRMuLoU0D/0R2J0vpUrze91mWNFCKSyrPWe0se4tOnP
18
- rpvKF/22W7d9btttmTa+kS87orML9Bw8f8GsJGMCgYEAr1UWjnDTJbNkMKCEmtJz
19
- aePZzrO/yol6KHQ39REc0kvugfep45r6rbwebwJtKRdBwst1kYLU8Et1FNR8bj7D
20
- zVD8XFQQFqZypKlrpEn5oN0I/PNw3/n8ThNpODcRmEvLwWaOXUpARKNi/KHpyIz5
21
- tiuKlAf43r5QbeLpxgs29ikCgYBJKv03DJ62gt8NwUHXpl66GFDzZbnXk33DUfNA
22
- uqwrhAJWSZCiNDAqr9NasMKf3W4Nsrmy7pZfcRZrgID6N6ktR2pjn5oStMaN7d+W
23
- n6Z3Tb8OK7Nx7ad88h0ncGtryUdq7I1Cl79J1nOsTwi1NVB4GnOifbzquUMUL62g
24
- LQbo6wKBgDaUSWYHiA4bA2/oKh0ioSvY2r1FmO2tifJBy/Up+GRaTPV8vnlrWZzk
25
- 1HtYkv6l/LeNyvBy4SPaIhAIk9/uO41dR4WuchpPETzDTFHF4h7eu6XPrGJk9IUv
26
- HtwXUAe0zk20MZApW+ZEYahV7g9XUfLG8iXr4ucYkIH+K+iboJU5
27
- -----END RSA PRIVATE KEY-----
@@ -1 +0,0 @@
1
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfkbsMmwffJx/FOFeyr/iZjGeM5mLGlXSkxBiSVAk8EFJ9I//qMBzOmNALZY/+YxPHEk7cp4CiNZPu937rOpJYlWXsm+Nv1WaeSrocaoViviJ7H6BoDzvAXfXpvl6M0ebHujUvLpYf4pg48x8nSISqpZ3QxhQS+636wrCtr52AX5qUbl2O5G7TEkGNB50c8GZT3pHaXJ9OR16OHOwKI847Ns7ZdFegVR1MYpoOxd3MK3WTBdT2tH8+XjecpG/MGWqT9dOvwnO+kC+bxnXfxCV7PICGLmAxJia+8xpxl5moyvBsRugl2kiu6gRrV0hXMnI+dTTyT47McYijbOUXgD65 asari@strokkur.local
@@ -1,27 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIIEpQIBAAKCAQEA3RxTJUAMgKZvL76RfhhW798dDjCYk5dCiV0Yb4Sex8uKhd/9
3
- Wmm7MW2wQuEnREh4VhQp+m4Qoq1u0FSY6agANRTbelEYT7TRvLDPjxfQoJR90eN+
4
- dUXGZ0sivGLKPytEYoCGJIcdY7o4qXAYXac3YIdpjgDgkRtVs3R8agSDjDGFdVcO
5
- T+WI9aceAC5/ZbGjHkAtdMIFJCMxkmeG1jfft2yMId7fpmNKC8UQfykgJbspWioH
6
- 7oWzdR+RbNXzYkiR/FZEka3ZoAMf72O5CwoSIXj76C+Xso+QeXpC3qqNHAmdtsjh
7
- MLivuZUeyYA1zCfq+SgH/E9u+HYSatmsYXN9ZwIDAQABAoIBADSJimgLc+0NntWl
8
- XkSr29xbEzhP67EF+9VPvYKh7GhkwKFWu4hEHyp7eaoqfX4ICi/J0r+ib2l39CCk
9
- OUErngD+17eUlUY7HKrNCERj0DqXjd3VRDLxRVc9zx8cChpAWZteFoGPaThNAzGf
10
- ZOq71Lim9Dm9k55m9FITl4xJTkh8+q9vksTQGdgq8nABTAdtt+ZNGFpTrKMTQBeJ
11
- 4LgAiwTalMC99MMgXwQSoiTVmzWYiydMSfSJdlo/aSyErA5Uw0z0jUicFooo1lm0
12
- kAo+vKvSvbG+Vj7s0DZNk+q+CewI/sD9RDp0NNcLtu568DjE/3uyQm1ltS93ZPjt
13
- uQiQ50ECgYEA9U/bKrlkz6CqfW0gw4jl/FP6+tUlZmC6qTbdOgy+vADhASc88TcG
14
- X9PQts4wRwuSsOUlzhQfT4WyQHBOJIzAGsmLF63z6GviLz0/AFfq7hqVgPBMEwpQ
15
- qnKrlj3oNCPAk1uhMFK7HAvUqdZPgFdvOaQPuUJlJuCmmOH++aI+QZ8CgYEA5r6I
16
- rQBku5A5BFkf0SgPl3fKxsnDTbP08SG0pQE3VK47r1rb+M6hEmPau9ADspSbAq9r
17
- cnVFqR5ZmSATZ6yu6GhCGL+JS2Namj8mEt/9SuoHsEp7Sk7lBSUomKHHd0Atgd+X
18
- 6+xidn52P4R8ro5Y8YB3n4y8iV9Yxb54KK5XfzkCgYEAj4h8ClGTpNCzMNRLWV2e
19
- g7d3oJBaY76xORU6+B5A86vn+07EH7c8aZF8C5o1MTyaRhqtthicAWGO3JlZf5VD
20
- SeknE2Ha1uFY5J8HX+IROeQgGeN//5wHetPBhhUO6oMIyK/Sbn3ZsR1S/1TAC64d
21
- DDLsaE9q9AZ6M/X3xISjvK0CgYEAw9FUagTYd7hoOsFr1/M4cCGQK21UWh/rMaua
22
- AyHqE+oc6q6f2SF53gJxwUtBqA6nEftOov7U1DXWcbWf4i7Q7Jh150y8tgamABqx
23
- M/l0mlvLlJdQ0/nqL5ieQBGjFheXxwy6f9PGp6qgrTzBFt3kq2aLnhIweiA5VO9U
24
- R6nUxTkCgYEA4wKf697PE0rgDJnFZDSfbITD/CAdoJvr1usnKL3FLZVPscU7hICT
25
- d7htmwyJnAejgNBWYukTLpmuypkScooyb1/FSAJPIE8+KXdil8PiT78COHzS819Q
26
- zfU9TFW9zgilH/6uYLMGPA43JKRKSTKs5R5NkPfpXZgbh4/QmFtcaQY=
27
- -----END RSA PRIVATE KEY-----
@@ -1 +0,0 @@
1
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdHFMlQAyApm8vvpF+GFbv3x0OMJiTl0KJXRhvhJ7Hy4qF3/1aabsxbbBC4SdESHhWFCn6bhCirW7QVJjpqAA1FNt6URhPtNG8sM+PF9CglH3R4351RcZnSyK8Yso/K0RigIYkhx1jujipcBhdpzdgh2mOAOCRG1WzdHxqBIOMMYV1Vw5P5Yj1px4ALn9lsaMeQC10wgUkIzGSZ4bWN9+3bIwh3t+mY0oLxRB/KSAluylaKgfuhbN1H5Fs1fNiSJH8VkSRrdmgAx/vY7kLChIhePvoL5eyj5B5ekLeqo0cCZ22yOEwuK+5lR7JgDXMJ+r5KAf8T274dhJq2axhc31n asari@strokkur.local
@@ -1 +0,0 @@
1
- ssh-rsa AAAAQDuwb0v02Eu8TDI1TzGV4dFK7qUgwegENLbR+amPS1tP38Ulv3p4CeqmFY+hAGacjFnZWK2LEF/iJBjIbFg1MeUmQHOaGhexNTtomkWzuDt5rINeGhmcCbIu822yCMBjF4usdZVMgwJiyc5HcawmVNUAP9mgjyJ0TSjU51CVU8jh+1EeGv5VINixzOj1wYQuqJ2n5Xu72MRqOOMchOagZHEFfBgvZHJhg9T5fmUqwjZpY93TZNOVCESTkMUuS9UCGPtO1jZmRKNggMymcx7P60dnzH80Y9ZeWaC7GwyizG9wuNJavHfiSzIx+qnI07FejrEbwln/WriD2VDMQTvmyRz asari@strokkur.local
@@ -1,29 +0,0 @@
1
- if $target_os == 'fedora-19'
2
- CARTRIDGE_MAP = {
3
- "php" => { type: "php-5.5", name: "PHP 5.5" },
4
- "mysql" => { type: "mariadb-5.5", name: "MariaDB 5.5" },
5
- "phpmyadmin" => { type: "phpmyadmin-4", name: "phpMyAdmin 4.0" },
6
- "mongodb" => { type: "mongodb-2.2", name: "MongoDB NoSQL Database 2.2" },
7
- "postgresql" => { type: "postgresql-9.2", name: "PostgreSQL Database 9.2" },
8
- "cron" => { type: "cron-1.4", name: "Cron 1.4" },
9
- "haproxy" => { type: "haproxy-1.4", name: "" }
10
- }
11
- else
12
- CARTRIDGE_MAP = {
13
- "php" => { type: "php-5.3", name: "PHP 5.3" },
14
- "mysql" => { type: "mysql-5.1", name: "MySQL Database 5.1" },
15
- "phpmyadmin" => { type: "phpmyadmin-4", name: "phpMyAdmin 4.0" },
16
- "mongodb" => { type: "mongodb-2.2", name: "MongoDB NoSQL Database 2.2" },
17
- "postgresql" => { type: "postgresql-8.4", name: "PostgreSQL Database 8.4" },
18
- "cron" => { type: "cron-1.4", name: "Cron 1.4" },
19
- "haproxy" => { type: "haproxy-1.4", name: "" }
20
- }
21
- end
22
-
23
- def map_cartridge_type(type)
24
- CARTRIDGE_MAP[type][:type]
25
- end
26
-
27
- def map_cartridge_name(type)
28
- CARTRIDGE_MAP[type][:name]
29
- end
@@ -1,18 +0,0 @@
1
- # these were defined before refactoring and have not been implemented yet
2
- #Feature: Client Integration Tests
3
- # Scenario: Add Alias
4
- # Scenario: Remove Alias
5
- #
6
- # @init
7
- # Scenario: Template Creation
8
- # Scenario: Domain Changed
9
- # Scenario: Template Deleted
10
- # Scenario: Domain Changed Again
11
- # Scenario: Domain Deleted
12
- #
13
- # @init
14
- # Scenario: Key Added
15
- # Scenario: Additional Key Added
16
- # Scenario: Default Key Deleted
17
- # Scenario: Key Overwritten
18
- # Scenario: Key Deleted
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
- require 'rhc/commands/base'
3
- require 'rhc/exceptions'
4
-
5
- describe RHC::Commands::Base do
6
- before{ base_config }
7
-
8
- context 'when statically defined with context' do
9
- subject do
10
- Kernel.module_eval do
11
- class Static < RHC::Commands::Base
12
- suppress_wizard
13
-
14
- def one_context
15
- 1
16
- end
17
-
18
- def nil_context
19
- nil
20
- end
21
-
22
- option ["--context-opt opt1"], "Test context option", :context => :one_context
23
- summary "Test command execute with one_context"
24
- def execute_with_one_context; return options.context_opt; end
25
-
26
- option ["--context-opt opt1"], "Test context option", :context => :nil_context, :required => true
27
- summary "Test command nil_context"
28
- def execute_with_nil_context; return options.context_opt; end
29
- end
30
- end
31
- Static
32
- end
33
-
34
- let(:instance) { subject.new }
35
-
36
- context 'and when execute_with_one_context is called' do
37
- it { expects_running('static', 'execute-with-one-context').should call(:one_context).on(instance).with(no_args) }
38
- it { expects_running('static', 'execute-with-one-context').should exit_with_code(1) }
39
- it { expects_running('static', 'execute-with-one-context', '--context-opt', 'opt').should call(:execute_with_one_context).on(instance).with(no_args) }
40
- it { expects_running('static', 'execute-with-one-context', '--context-opt', 'opt').should exit_with_code('opt') }
41
- end
42
-
43
- context 'and when execute_with_nil_context is called' do
44
- it { expects_running('static', 'execute-with-nil-context').should call(:nil_context).on(instance).with(no_args) }
45
- it { expects_running('static', 'execute-with-nil-context', '--trace').should raise_error(ArgumentError) }
46
- it { expects_running('static', 'execute-with-nil-context', '--context-opt', 'opt', '--trace').should call(:execute_with_nil_context).on(instance).with(no_args) }
47
- it { expects_running('static', 'execute-with-nil-context', '--context-opt', 'opt', '--trace').should exit_with_code('opt') }
48
- end
49
- end
50
- end
51
-
52
-
53
-