openshift-origin-controller 1.3.2

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 (180) hide show
  1. data/COPYRIGHT +1 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +12 -0
  4. data/README.md +3 -0
  5. data/Rakefile +9 -0
  6. data/app/controllers/app_events_controller.rb +115 -0
  7. data/app/controllers/application_templates_controller.rb +19 -0
  8. data/app/controllers/applications_controller.rb +214 -0
  9. data/app/controllers/base_controller.rb +367 -0
  10. data/app/controllers/cartridges_controller.rb +48 -0
  11. data/app/controllers/descriptors_controller.rb +23 -0
  12. data/app/controllers/dns_resolvable_controller.rb +35 -0
  13. data/app/controllers/domains_controller.rb +156 -0
  14. data/app/controllers/emb_cart_controller.rb +276 -0
  15. data/app/controllers/emb_cart_events_controller.rb +52 -0
  16. data/app/controllers/environment_controller.rb +11 -0
  17. data/app/controllers/estimates_controller.rb +71 -0
  18. data/app/controllers/gear_groups_controller.rb +53 -0
  19. data/app/controllers/gears_controller.rb +70 -0
  20. data/app/controllers/keys_controller.rb +96 -0
  21. data/app/controllers/legacy_broker_controller.rb +510 -0
  22. data/app/controllers/quickstarts_controller.rb +29 -0
  23. data/app/controllers/user_controller.rb +38 -0
  24. data/app/helpers/cartridge_helper.rb +25 -0
  25. data/app/helpers/legacy_broker_helper.rb +21 -0
  26. data/app/helpers/user_action_logger.rb +38 -0
  27. data/app/models/application.rb +1718 -0
  28. data/app/models/application_template.rb +27 -0
  29. data/app/models/cartridge_cache.rb +51 -0
  30. data/app/models/cloud_user.rb +334 -0
  31. data/app/models/component_instance.rb +228 -0
  32. data/app/models/connection_endpoint.rb +10 -0
  33. data/app/models/district.rb +210 -0
  34. data/app/models/domain.rb +234 -0
  35. data/app/models/gear.rb +376 -0
  36. data/app/models/group_instance.rb +306 -0
  37. data/app/models/key.rb +20 -0
  38. data/app/models/legacy_reply.rb +15 -0
  39. data/app/models/legacy_request.rb +126 -0
  40. data/app/models/link.rb +11 -0
  41. data/app/models/message.rb +10 -0
  42. data/app/models/name_server_cache.rb +46 -0
  43. data/app/models/optional_param.rb +12 -0
  44. data/app/models/param.rb +13 -0
  45. data/app/models/remote_job.rb +57 -0
  46. data/app/models/rest_application.rb +126 -0
  47. data/app/models/rest_application10.rb +106 -0
  48. data/app/models/rest_application12.rb +124 -0
  49. data/app/models/rest_application_estimate.rb +12 -0
  50. data/app/models/rest_application_template.rb +20 -0
  51. data/app/models/rest_cartridge10.rb +41 -0
  52. data/app/models/rest_cartridge11.rb +151 -0
  53. data/app/models/rest_domain.rb +43 -0
  54. data/app/models/rest_domain10.rb +42 -0
  55. data/app/models/rest_estimates.rb +16 -0
  56. data/app/models/rest_gear.rb +14 -0
  57. data/app/models/rest_gear_group.rb +26 -0
  58. data/app/models/rest_key.rb +24 -0
  59. data/app/models/rest_reply.rb +31 -0
  60. data/app/models/rest_user.rb +43 -0
  61. data/app/models/result_io.rb +67 -0
  62. data/app/models/usage_record.rb +37 -0
  63. data/app/models/validators/app_validator.rb +30 -0
  64. data/app/models/validators/key_validator.rb +30 -0
  65. data/app/models/validators/namespace_validator.rb +18 -0
  66. data/config/routes.rb +36 -0
  67. data/lib/controller_engine.rb +7 -0
  68. data/lib/openshift-origin-controller.rb +14 -0
  69. data/lib/openshift/application_container_proxy.rb +241 -0
  70. data/lib/openshift/auth_service.rb +101 -0
  71. data/lib/openshift/data_store.rb +33 -0
  72. data/lib/openshift/dns_service.rb +41 -0
  73. data/lib/openshift/mongo_data_store.rb +671 -0
  74. data/openshift-origin-controller.gemspec +42 -0
  75. data/rubygem-openshift-origin-controller.spec +274 -0
  76. data/test/cucumber/application-estimate.feature +25 -0
  77. data/test/cucumber/cartridge-10gen-mms-agent.feature +28 -0
  78. data/test/cucumber/cartridge-cron.feature +32 -0
  79. data/test/cucumber/cartridge-haproxy.feature +31 -0
  80. data/test/cucumber/cartridge-jenkins-build.feature +12 -0
  81. data/test/cucumber/cartridge-jenkins-client.feature +10 -0
  82. data/test/cucumber/cartridge-lifecycle-diy.feature +21 -0
  83. data/test/cucumber/cartridge-lifecycle-jbossas.feature +61 -0
  84. data/test/cucumber/cartridge-lifecycle-jbosseap.feature +61 -0
  85. data/test/cucumber/cartridge-lifecycle-jbossews10.feature +61 -0
  86. data/test/cucumber/cartridge-lifecycle-jenkins.feature +41 -0
  87. data/test/cucumber/cartridge-lifecycle-nodejs.feature +59 -0
  88. data/test/cucumber/cartridge-lifecycle-perl.feature +40 -0
  89. data/test/cucumber/cartridge-lifecycle-php.feature +106 -0
  90. data/test/cucumber/cartridge-lifecycle-python.feature +40 -0
  91. data/test/cucumber/cartridge-lifecycle-ruby18.feature +49 -0
  92. data/test/cucumber/cartridge-lifecycle-ruby19.feature +41 -0
  93. data/test/cucumber/cartridge-mongodb.feature +31 -0
  94. data/test/cucumber/cartridge-mysql.feature +30 -0
  95. data/test/cucumber/cartridge-php.feature +14 -0
  96. data/test/cucumber/cartridge-phpmyadmin.feature +32 -0
  97. data/test/cucumber/cartridge-postgresql.feature +32 -0
  98. data/test/cucumber/cartridge-runtime-extended-db.feature +64 -0
  99. data/test/cucumber/cartridge-runtime-extended-jboss.feature +24 -0
  100. data/test/cucumber/cartridge-runtime-extended-nodejs.feature +21 -0
  101. data/test/cucumber/cartridge-runtime-extended-perl.feature +18 -0
  102. data/test/cucumber/cartridge-runtime-extended-php.feature +19 -0
  103. data/test/cucumber/cartridge-runtime-extended-python.feature +18 -0
  104. data/test/cucumber/cartridge-runtime-extended-ruby.feature +22 -0
  105. data/test/cucumber/cartridge-runtime-standard-diy.feature +6 -0
  106. data/test/cucumber/cartridge-runtime-standard-jbossas.feature +7 -0
  107. data/test/cucumber/cartridge-runtime-standard-jbosseap.feature +7 -0
  108. data/test/cucumber/cartridge-runtime-standard-jbossews10.feature +7 -0
  109. data/test/cucumber/cartridge-runtime-standard-jenkins.feature +8 -0
  110. data/test/cucumber/cartridge-runtime-standard-nodejs.feature +7 -0
  111. data/test/cucumber/cartridge-runtime-standard-perl.feature +6 -0
  112. data/test/cucumber/cartridge-runtime-standard-php.feature +6 -0
  113. data/test/cucumber/cartridge-runtime-standard-python.feature +6 -0
  114. data/test/cucumber/cartridge-runtime-standard-ruby.feature +19 -0
  115. data/test/cucumber/cartridge-switchyard.feature +36 -0
  116. data/test/cucumber/descriptor.feature +40 -0
  117. data/test/cucumber/embedded.feature +44 -0
  118. data/test/cucumber/idler.feature +75 -0
  119. data/test/cucumber/misc/descriptor/manifest.yml +22 -0
  120. data/test/cucumber/misc/php/db_test.php +21 -0
  121. data/test/cucumber/openshift-node.feature +21 -0
  122. data/test/cucumber/rest-application-templates.feature +31 -0
  123. data/test/cucumber/rest-applications.feature +431 -0
  124. data/test/cucumber/rest-cartridge-types.feature +16 -0
  125. data/test/cucumber/rest-domains.feature +276 -0
  126. data/test/cucumber/rest-gears.feature +38 -0
  127. data/test/cucumber/rest-keys.feature +247 -0
  128. data/test/cucumber/rest-quickstarts.feature +27 -0
  129. data/test/cucumber/rest-workflow.feature +64 -0
  130. data/test/cucumber/step_definitions/api_steps.rb +369 -0
  131. data/test/cucumber/step_definitions/application-estimate-steps.rb +51 -0
  132. data/test/cucumber/step_definitions/application_steps.rb +215 -0
  133. data/test/cucumber/step_definitions/cartridge-10gen-mms-agent_steps.rb +11 -0
  134. data/test/cucumber/step_definitions/cartridge-cron_steps.rb +51 -0
  135. data/test/cucumber/step_definitions/cartridge-haproxy_steps.rb +30 -0
  136. data/test/cucumber/step_definitions/cartridge-jenkins_steps.rb +93 -0
  137. data/test/cucumber/step_definitions/cartridge-lifecycle-nodejs_steps.rb +30 -0
  138. data/test/cucumber/step_definitions/cartridge-mongodb_steps.rb +60 -0
  139. data/test/cucumber/step_definitions/cartridge-mysql_steps.rb +56 -0
  140. data/test/cucumber/step_definitions/cartridge-php_steps.rb +72 -0
  141. data/test/cucumber/step_definitions/cartridge-postgresql_steps.rb +59 -0
  142. data/test/cucumber/step_definitions/cartridge-switchyard_steps.rb +29 -0
  143. data/test/cucumber/step_definitions/client_steps.rb +12 -0
  144. data/test/cucumber/step_definitions/descriptor_step.rb +32 -0
  145. data/test/cucumber/step_definitions/idler_steps.rb +37 -0
  146. data/test/cucumber/step_definitions/node_steps.rb +203 -0
  147. data/test/cucumber/step_definitions/runtime_steps.rb +547 -0
  148. data/test/cucumber/step_definitions/runtime_url_steps.rb +46 -0
  149. data/test/cucumber/step_definitions/trap-user-extended_steps.rb +14 -0
  150. data/test/cucumber/step_definitions/trap-user_steps.rb +58 -0
  151. data/test/cucumber/support/00_setup_helper.rb +106 -0
  152. data/test/cucumber/support/app_helper.rb +243 -0
  153. data/test/cucumber/support/assertions.rb +52 -0
  154. data/test/cucumber/support/command_helper.rb +453 -0
  155. data/test/cucumber/support/dns_helper.rb +54 -0
  156. data/test/cucumber/support/env.rb +5 -0
  157. data/test/cucumber/support/process_helper.rb +44 -0
  158. data/test/cucumber/support/runtime_support.rb +440 -0
  159. data/test/cucumber/support/unused.rb +27 -0
  160. data/test/cucumber/support/user_helper.rb +37 -0
  161. data/test/cucumber/trap-user-extended.feature +53 -0
  162. data/test/cucumber/trap-user.feature +34 -0
  163. data/test/ddns/1.168.192-rev.db.init +13 -0
  164. data/test/ddns/HOWTO.txt +207 -0
  165. data/test/ddns/Kexample.com.+157+06142.key +1 -0
  166. data/test/ddns/Kexample.com.+157+06142.private +7 -0
  167. data/test/ddns/authconfig.rb +14 -0
  168. data/test/ddns/example.com.db.init +23 -0
  169. data/test/ddns/example.com.key +4 -0
  170. data/test/ddns/named.ca +52 -0
  171. data/test/ddns/named.conf +48 -0
  172. data/test/ddns/named.empty +10 -0
  173. data/test/ddns/named.localhost +10 -0
  174. data/test/ddns/named.loopback +11 -0
  175. data/test/ddns/named.rfc1912.zones +42 -0
  176. data/test/ddns/named.root.key +5 -0
  177. data/test/ddns/named_service.rb +127 -0
  178. data/test/unit/bind_dns_service_test.rb +167 -0
  179. data/test/unit/broker_auth_test.rb +28 -0
  180. metadata +545 -0
@@ -0,0 +1,40 @@
1
+ @runtime_extended
2
+ @runtime_extended1
3
+ Feature: Cartridge Lifecycle Python Verification Tests
4
+ Scenario Outline: Application Creation
5
+ Given the libra client tools
6
+ And an accepted node
7
+ When <app_count> <type> applications are created
8
+ Then the applications should be accessible
9
+
10
+ Scenarios: Application Creation Scenarios
11
+ | app_count | type |
12
+ | 1 | python-2.6 |
13
+
14
+ Scenario Outline: Application Modification
15
+ Given an existing <type> application
16
+ When the application is changed
17
+ Then it should be updated successfully
18
+ And the application should be accessible
19
+
20
+ Scenarios: Application Modification Scenarios
21
+ | type |
22
+ | python-2.6 |
23
+
24
+ Scenario Outline: Application Restarting
25
+ Given an existing <type> application
26
+ When the application is restarted
27
+ Then the application should be accessible
28
+
29
+ Scenarios: Application Restart Scenarios
30
+ | type |
31
+ | python-2.6 |
32
+
33
+ Scenario Outline: Application Destroying
34
+ Given an existing <type> application
35
+ When the application is destroyed
36
+ Then the application should not be accessible
37
+
38
+ Scenarios: Application Destroying Scenarios
39
+ | type |
40
+ | python-2.6 |
@@ -0,0 +1,49 @@
1
+ @runtime
2
+ @runtime1
3
+ Feature: Cartridge Lifecycle Ruby Verification Tests
4
+ Scenario Outline: Application Creation
5
+ Given the libra client tools
6
+ And an accepted node
7
+ When <app_count> <type> applications are created
8
+ Then the applications should be accessible
9
+
10
+ Scenarios: Application Creation Scenarios
11
+ | app_count | type |
12
+ | 1 | ruby-1.8 |
13
+
14
+ Scenario Outline: Application Modification
15
+ Given an existing <type> application
16
+ When the application is changed
17
+ Then it should be updated successfully
18
+ And the application should be accessible
19
+
20
+ Scenarios: Application Modification Scenarios
21
+ | type |
22
+ | ruby-1.8 |
23
+
24
+ Scenario Outline: Application Restarting
25
+ Given an existing <type> application
26
+ When the application is restarted
27
+ Then the application should be accessible
28
+
29
+ Scenarios: Application Restart Scenarios
30
+ | type |
31
+ | ruby-1.8 |
32
+
33
+ Scenario Outline: Application Tidy
34
+ Given an existing <type> application
35
+ When I tidy the application
36
+ Then the application should be accessible
37
+
38
+ Scenarios: Application Tidy Scenarios
39
+ | type |
40
+ | ruby-1.8 |
41
+
42
+ Scenario Outline: Application Destroying
43
+ Given an existing <type> application
44
+ When the application is destroyed
45
+ Then the application should not be accessible
46
+
47
+ Scenarios: Application Destroying Scenarios
48
+ | type |
49
+ | ruby-1.8 |
@@ -0,0 +1,41 @@
1
+ @runtime
2
+ @runtime1
3
+ @not-origin
4
+ Feature: Cartridge Lifecycle Ruby Verification Tests
5
+ Scenario Outline: Application Creation
6
+ Given the libra client tools
7
+ And an accepted node
8
+ When <app_count> <type> applications are created
9
+ Then the applications should be accessible
10
+
11
+ Scenarios: Application Creation Scenarios
12
+ | app_count | type |
13
+ | 1 | ruby-1.9 |
14
+
15
+ Scenario Outline: Application Modification
16
+ Given an existing <type> application
17
+ When the application is changed
18
+ Then it should be updated successfully
19
+ And the application should be accessible
20
+
21
+ Scenarios: Application Modification Scenarios
22
+ | type |
23
+ | ruby-1.9 |
24
+
25
+ Scenario Outline: Application Restarting
26
+ Given an existing <type> application
27
+ When the application is restarted
28
+ Then the application should be accessible
29
+
30
+ Scenarios: Application Restart Scenarios
31
+ | type |
32
+ | ruby-1.9 |
33
+
34
+ Scenario Outline: Application Destroying
35
+ Given an existing <type> application
36
+ When the application is destroyed
37
+ Then the application should not be accessible
38
+
39
+ Scenarios: Application Destroying Scenarios
40
+ | type |
41
+ | ruby-1.9 |
@@ -0,0 +1,31 @@
1
+ @runtime
2
+ @runtime1
3
+ Feature: MongoDB Application Sub-Cartridge
4
+
5
+ Scenario: Create Delete one application with a MongoDB database
6
+ Given a new perl-5.10 type application
7
+
8
+ When I embed a mongodb-2.2 cartridge into the application
9
+ Then 1 process named mongod will be running
10
+ And the embedded mongodb-2.2 cartridge directory will exist
11
+ And the mongodb configuration file will exist
12
+ And the mongodb database will exist
13
+ And the embedded mongodb-2.2 cartridge control script will not exist
14
+ And the mongodb admin user will have access
15
+
16
+ When I stop the mongodb-2.2 cartridge
17
+ Then 0 processes named mongod will be running
18
+
19
+ When I start the mongodb-2.2 cartridge
20
+ Then 1 process named mongod will be running
21
+
22
+ When the application cartridge PIDs are tracked
23
+ And I restart the mongodb-2.2 cartridge
24
+ Then 1 process named mongod will be running
25
+ And the tracked application cartridge PIDs should be changed
26
+
27
+ When I destroy the application
28
+ Then 0 processes named mongod will be running
29
+ And the mongodb database will not exist
30
+ And the mongodb configuration file will not exist
31
+ And the embedded mongodb-2.2 cartridge directory will not exist
@@ -0,0 +1,30 @@
1
+ @runtime
2
+ @runtime4
3
+ Feature: MySQL Application Sub-Cartridge
4
+
5
+ Scenario: Create Delete one application with a MySQL database
6
+ Given a new php-5.3 type application
7
+
8
+ When I embed a mysql-5.1 cartridge into the application
9
+ Then a mysqld process will be running
10
+ And the embedded mysql-5.1 cartridge directory will exist
11
+ And the mysql configuration file will exist
12
+ And the mysql database will exist
13
+ And the mysql admin user will have access
14
+
15
+ When I stop the mysql-5.1 cartridge
16
+ Then a mysqld process will not be running
17
+
18
+ When I start the mysql-5.1 cartridge
19
+ Then a mysqld process will be running
20
+
21
+ When the application cartridge PIDs are tracked
22
+ And I restart the mysql-5.1 cartridge
23
+ Then a mysqld process will be running
24
+ And the tracked application cartridge PIDs should be changed
25
+
26
+ When I destroy the application
27
+ Then a mysqld process will not be running
28
+ And the mysql database will not exist
29
+ And the mysql configuration file will not exist
30
+ And the embedded mysql-5.1 cartridge directory will not exist
@@ -0,0 +1,14 @@
1
+ @runtime
2
+ @runtime2
3
+ @not-origin
4
+ Feature: PHP Application
5
+
6
+ Scenario: Test Alias Hooks
7
+ Given a new php-5.3 type application
8
+ And I add an alias to the application
9
+ Then the php application will be aliased
10
+ And the php file permissions are correct
11
+ When I remove an alias from the application
12
+ Then the php application will not be aliased
13
+ When I destroy the application
14
+ Then the application http proxy file will not exist
@@ -0,0 +1,32 @@
1
+ @runtime
2
+ @runtime4
3
+ Feature: phpMyAdmin Embedded Cartridge
4
+
5
+ Scenario: Add Remove phpMyAdmin to one application
6
+ Given a new php-5.3 type application
7
+
8
+ When I embed a mysql-5.1 cartridge into the application
9
+ And I embed a phpmyadmin-3.4 cartridge into the application
10
+ Then the embedded phpmyadmin-3.4 cartridge http proxy file will exist
11
+ And 4 processes named httpd will be running
12
+ And the embedded phpmyadmin-3.4 cartridge directory will exist
13
+ And the embedded phpmyadmin-3.4 cartridge log files will exist
14
+
15
+ When I stop the phpmyadmin-3.4 cartridge
16
+ Then 2 processes named httpd will be running
17
+ And the web console for the phpmyadmin-3.4 cartridge is not accessible
18
+
19
+ When I start the phpmyadmin-3.4 cartridge
20
+ Then 4 processes named httpd will be running
21
+ And the web console for the phpmyadmin-3.4 cartridge is accessible
22
+
23
+
24
+ When I restart the phpmyadmin-3.4 cartridge
25
+ Then 4 processes named httpd will be running
26
+ And the web console for the phpmyadmin-3.4 cartridge is accessible
27
+
28
+ When I destroy the application
29
+ Then 0 processes named httpd will be running
30
+ And the embedded phpmyadmin-3.4 cartridge http proxy file will not exist
31
+ And the embedded phpmyadmin-3.4 cartridge directory will not exist
32
+ And the embedded phpmyadmin-3.4 cartridge log files will not exist
@@ -0,0 +1,32 @@
1
+ @runtime
2
+ @runtime3
3
+ @not-origin
4
+ Feature: PostgreSQL Application Sub-Cartridge
5
+
6
+ Scenario: Create Delete one application with a PostgreSQL database
7
+ Given a new perl-5.10 type application
8
+
9
+ When I embed a postgresql-8.4 cartridge into the application
10
+ Then a postgres process will be running
11
+ And the embedded postgresql-8.4 cartridge directory will exist
12
+ And the postgresql configuration file will exist
13
+ And the postgresql database will exist
14
+ And the embedded postgresql-8.4 cartridge control script will not exist
15
+ And the postgresql admin user will have access
16
+
17
+ When I stop the postgresql-8.4 cartridge
18
+ Then a postgres process will not be running
19
+
20
+ When I start the postgresql-8.4 cartridge
21
+ Then a postgres process will be running
22
+
23
+ When the application cartridge PIDs are tracked
24
+ And I restart the postgresql-8.4 cartridge
25
+ Then a postgres process will be running
26
+ And the tracked application cartridge PIDs should be changed
27
+
28
+ When I destroy the application
29
+ Then a postgres process will not be running
30
+ And the postgresql database will not exist
31
+ And the postgresql configuration file will not exist
32
+ And the embedded postgresql-8.4 cartridge directory will not exist
@@ -0,0 +1,64 @@
1
+ @runtime
2
+ Feature: Cartridge Runtime Extended Checks (Database)
3
+
4
+ @runtime_extended2
5
+ Scenario Outline: Embed and then remove database cartridges
6
+ Given a new <app_type> type application
7
+
8
+ When I embed a <db_cart_type> cartridge into the application
9
+ Then a <db_proc> process will be running
10
+ And the embedded <db_cart_type> cartridge directory will exist
11
+ And the <db_name> configuration file will exist
12
+ And the <db_name> database will exist
13
+ And the <db_name> admin user will have access
14
+ And the embedded <db_cart_type> cartridge control script will not exist
15
+
16
+ When I remove the <db_cart_type> cartridge from the application
17
+ Then a <db_proc> process will not be running
18
+ And the <db_name> database will not exist
19
+ And the <db_name> configuration file will not exist
20
+ And the embedded <db_cart_type> cartridge directory will not exist
21
+
22
+ Scenarios: Embed/Unembed database cartridge scenarios
23
+ | app_type | db_cart_type | db_proc | db_name |
24
+ | php-5.3 | mysql-5.1 | mysqld | mysql |
25
+ | php-5.3 | mongodb-2.2 | mongod | mongodb |
26
+ | ruby-1.9 | mongodb-2.2 | mongod | mongodb |
27
+ | ruby-1.8 | mongodb-2.2 | mongod | mongodb |
28
+
29
+
30
+ @runtime_extended2
31
+ @not-origin
32
+ Scenario Outline: Embed and then remove database cartridges
33
+ Given a new <app_type> type application
34
+
35
+ When I embed a <db_cart_type> cartridge into the application
36
+ Then a <db_proc> process will be running
37
+ And the embedded <db_cart_type> cartridge directory will exist
38
+ And the <db_name> configuration file will exist
39
+ And the <db_name> database will exist
40
+ And the embedded <db_cart_type> cartridge control script will not exist
41
+
42
+ When I remove the <db_cart_type> cartridge from the application
43
+ Then a <db_proc> process will not be running
44
+ And the <db_name> database will not exist
45
+ And the embedded <db_cart_type> cartridge control script will not exist
46
+ And the <db_name> configuration file will not exist
47
+ And the embedded <db_cart_type> cartridge directory will not exist
48
+
49
+ Scenarios: Embed/Unembed database cartridge scenarios
50
+ | app_type | db_cart_type | db_proc | db_name |
51
+ | php-5.3 | postgresql-8.4 | postgres | postgresql |
52
+
53
+ @runtime_extended2
54
+ Scenario: Embed all databases into one cartridges
55
+ Given a new php-5.3 type application
56
+ When I embed a mysql-5.1 cartridge into the application
57
+ And I embed a postgresql-8.4 cartridge into the application
58
+ And I embed a mongodb-2.2 cartridge into the application
59
+ Then a mysqld process will be running
60
+ And the embedded mysql-5.1 cartridge directory will exist
61
+ And a postgres process will be running
62
+ And the embedded postgresql-8.4 cartridge directory will exist
63
+ And a mongod process will be running
64
+ And the embedded mongodb-2.2 cartridge directory will exist
@@ -0,0 +1,24 @@
1
+ @runtime
2
+ @not-origin
3
+ Feature: Cartridge Runtime Extended Checks (JBoss)
4
+
5
+ @runtime_extended2
6
+ Scenario Outline: Hot deployment tests
7
+ Given a new <type> type application
8
+ And the application is made publicly accessible
9
+ And hot deployment <hot_deploy_status> for the application
10
+ And the application cartridge PIDs are tracked
11
+ When an update is pushed to the application repo
12
+ Then a <proc_name> process will be running
13
+ And the tracked application cartridge PIDs <pid_changed> changed
14
+ When I destroy the application
15
+ Then a <proc_name> process will not be running
16
+
17
+ Scenarios: Code push scenarios
18
+ | type | proc_name | hot_deploy_status | pid_changed |
19
+ | jbossas-7 | java | is enabled | should not be |
20
+ | jbossas-7 | java | is not enabled | should be |
21
+ | jbosseap-6.0 | java | is enabled | should not be |
22
+ | jbosseap-6.0 | java | is not enabled | should be |
23
+ | jbossews-1.0 | java | is enabled | should not be |
24
+ | jbossews-1.0 | java | is not enabled | should be |
@@ -0,0 +1,21 @@
1
+ @runtime
2
+ @not-origin
3
+ Feature: Cartridge Runtime Extended Checks (Node)
4
+
5
+ @runtime_extended2
6
+ Scenario Outline: Hot deployment tests
7
+ Given a new <type> type application
8
+ And the application is made publicly accessible
9
+ And hot deployment <hot_deploy_status> for the application
10
+ And an update has been pushed to the application repo
11
+ And the application cartridge PIDs are tracked
12
+ When an update is pushed to the application repo
13
+ Then a <proc_name> process will be running
14
+ And the tracked application cartridge PIDs <pid_changed> changed
15
+ When I destroy the application
16
+ Then a <proc_name> process will not be running
17
+
18
+ Scenarios: Code push scenarios
19
+ | type | proc_name | hot_deploy_status | pid_changed |
20
+ | nodejs-0.6 | node | is enabled | should not be |
21
+ | nodejs-0.6 | node | is not enabled | should be |
@@ -0,0 +1,18 @@
1
+ @runtime
2
+ Feature: Cartridge Runtime Extended Checks (Perl)
3
+
4
+ @runtime_extended2
5
+ Scenario Outline: Hot deployment tests
6
+ Given a new <type> type application
7
+ And the application is made publicly accessible
8
+ And hot deployment <hot_deploy_status> for the application
9
+ And the application cartridge PIDs are tracked
10
+ When an update is pushed to the application repo
11
+ Then a <proc_name> process will be running
12
+ And the tracked application cartridge PIDs <pid_changed> changed
13
+ When I destroy the application
14
+ Then a <proc_name> process will not be running
15
+
16
+ Scenarios: Code push scenarios
17
+ | type | proc_name | hot_deploy_status | pid_changed |
18
+ | perl-5.10 | httpd | is not enabled | should be |
@@ -0,0 +1,19 @@
1
+ @runtime
2
+ Feature: Cartridge Runtime Extended Checks (PHP)
3
+
4
+ @runtime_extended2
5
+ Scenario Outline: Hot deployment tests
6
+ Given a new <type> type application
7
+ And the application is made publicly accessible
8
+ And hot deployment <hot_deploy_status> for the application
9
+ And the application cartridge PIDs are tracked
10
+ When an update is pushed to the application repo
11
+ Then a <proc_name> process will be running
12
+ And the tracked application cartridge PIDs <pid_changed> changed
13
+ When I destroy the application
14
+ Then a <proc_name> process will not be running
15
+
16
+ Scenarios: Code push scenarios
17
+ | type | proc_name | hot_deploy_status | pid_changed |
18
+ | php-5.3 | httpd | is enabled | should not be |
19
+ | php-5.3 | httpd | is not enabled | should be |
@@ -0,0 +1,18 @@
1
+ @runtime
2
+ Feature: Cartridge Runtime Extended Checks (Python)
3
+
4
+ @runtime_extended2
5
+ Scenario Outline: Hot deployment tests
6
+ Given a new <type> type application
7
+ And the application is made publicly accessible
8
+ And hot deployment <hot_deploy_status> for the application
9
+ And the application cartridge PIDs are tracked
10
+ When an update is pushed to the application repo
11
+ Then a <proc_name> process will be running
12
+ And the tracked application cartridge PIDs <pid_changed> changed
13
+ When I destroy the application
14
+ Then a <proc_name> process will not be running
15
+
16
+ Scenarios: Code push scenarios
17
+ | type | proc_name | hot_deploy_status | pid_changed |
18
+ | python-2.6 | httpd | is not enabled | should be |