Permalink
Browse files

Merge remote-tracking branch 'staging/master'

  • Loading branch information...
2 parents af1e6a8 + 91c35f4 commit 847ec5144c3065237f79085465f152876be2e696 Patrick Bozeman committed Jan 10, 2012
Showing with 1,487 additions and 360 deletions.
  1. +4 −4 Gemfile
  2. +31 −29 Gemfile.lock
  3. +34 −1 Rakefile
  4. +1 −1 assets
  5. +2 −2 features/application_info.feature
  6. +1 −1 features/application_lifecycle_control.feature
  7. +1 −1 features/application_performance.feature
  8. +13 −0 features/atmos.feature
  9. +15 −15 features/autostaging.feature
  10. +0 −124 features/canonical_apps.feature
  11. +100 −0 features/canonical_apps_node.feature
  12. +90 −0 features/canonical_apps_rails.feature
  13. +90 −0 features/canonical_apps_sinatra.feature
  14. +90 −0 features/canonical_apps_spring.feature
  15. +0 −106 features/canonical_keep_apps.feature
  16. +2 −2 features/lift.feature
  17. +1 −1 features/neo4j.feature
  18. +1 −1 features/service_broker.feature
  19. +134 −0 features/service_lifecycle.feature
  20. +1 −1 features/spring_env.feature
  21. +50 −6 features/step_definitions/appcloud_steps.rb
  22. +41 −0 features/step_definitions/atmos_steps.rb
  23. +1 −1 features/step_definitions/autostaging_steps.rb
  24. +198 −0 features/step_definitions/service_lifecycle_steps.rb
  25. +1 −1 features/step_definitions/spring_env_steps.rb
  26. +66 −9 features/support/env.rb
  27. +9 −2 features/support/testconfig.yml
  28. +1 −1 features/tomcat_validation.feature
  29. +14 −9 features/upgrade_canonical_apps.feature
  30. +21 −0 functional/Gemfile
  31. +74 −0 functional/Gemfile.lock
  32. +58 −0 functional/Rakefile
  33. +18 −0 functional/cloudcontroller/cloudcontroller_spec.rb
  34. 0 functional/cloudcontroller/spec_helper.rb
  35. +41 −0 functional/dea/Rakefile
  36. +18 −0 functional/dea/dea_spec.rb
  37. 0 functional/dea/spec_helper.rb
  38. +40 −0 functional/health_manager/Rakefile
  39. +18 −0 functional/health_manager/health_manager_spec.rb
  40. 0 functional/health_manager/spec_helper.rb
  41. +42 −0 functional/router/Rakefile
  42. +18 −0 functional/router/router_spec.rb
  43. 0 functional/router/spec_helper.rb
  44. +17 −0 functional/stager/Rakefile
  45. 0 functional/stager/spec_helper.rb
  46. +18 −0 functional/stager/stager_spec.rb
  47. +17 −0 functional/staging/Rakefile
  48. 0 functional/staging/spec_helper.rb
  49. +18 −0 functional/staging/staging_spec.rb
  50. +24 −0 rakelib/bvt.rake
  51. +45 −38 rakelib/bvt_rpt.rake
  52. +8 −4 rakelib/bvt_upgrade.rake
View
@@ -4,13 +4,13 @@ gem "json"
gem "httpclient"
gem "rake"
gem "rspec", "1.3.0"
-gem "cucumber", "0.9.0"
-gem "gherkin", "2.2.4"
+gem "cucumber", "1.1.3"
+gem "gherkin", "2.6.7"
gem "curb"
gem "nokogiri"
gem "nats"
gem "rest-client"
-gem "rubyzip2"
+gem "rubyzip", "~> 0.9.4"
gem "terminal-table"
gem "highline"
-gem "vmc", ">= 0.3.13.beta.4"
+gem "vmc", ">= 0.3.15.beta1"
View
@@ -1,42 +1,44 @@
GEM
remote: http://rubygems.org/
specs:
- builder (2.1.2)
- cucumber (0.9.0)
- builder (~> 2.1.2)
- diff-lcs (~> 1.1.2)
- gherkin (~> 2.2.2)
- json (~> 1.4.6)
- term-ansicolor (~> 1.0.5)
- curb (0.7.15)
- daemons (1.1.2)
+ addressable (2.2.6)
+ builder (3.0.0)
+ cucumber (1.1.3)
+ builder (>= 2.1.2)
+ diff-lcs (>= 1.1.2)
+ gherkin (~> 2.6.7)
+ json (>= 1.4.6)
+ term-ansicolor (>= 1.0.6)
+ curb (0.7.16)
+ daemons (1.1.4)
diff-lcs (1.1.3)
eventmachine (0.12.10)
- gherkin (2.2.4)
- json (~> 1.4.6)
- term-ansicolor (~> 1.0.5)
- trollop (~> 1.16.2)
- highline (1.6.2)
- httpclient (2.1.7.2)
- json (1.4.6)
+ gherkin (2.6.7)
+ json (>= 1.4.6)
+ highline (1.6.8)
+ httpclient (2.2.4)
+ interact (0.3)
+ json (1.6.3)
json_pure (1.5.4)
spruz (~> 0.2.8)
- mime-types (1.16)
- nats (0.4.8)
+ mime-types (1.17.2)
+ nats (0.4.10)
daemons (>= 1.1.0)
eventmachine (>= 0.12.10)
json_pure (>= 1.5.1)
- nokogiri (1.4.4)
- rake (0.8.7)
+ nokogiri (1.5.0)
+ rake (0.9.2.2)
rest-client (1.6.7)
mime-types (>= 1.16)
rspec (1.3.0)
- rubyzip2 (2.0.1)
+ rubyzip (0.9.5)
+ rubyzip2 (2.0.2)
spruz (0.2.13)
- term-ansicolor (1.0.5)
- terminal-table (1.4.3)
- trollop (1.16.2)
- vmc (0.3.13.beta.4)
+ term-ansicolor (1.0.7)
+ terminal-table (1.4.4)
+ vmc (0.3.15.beta.1)
+ addressable (~> 2.2.6)
+ interact (~> 0.3.0)
json_pure (~> 1.5.1)
rest-client (>= 1.6.1, < 1.7.0)
rubyzip2 (~> 2.0.1)
@@ -46,9 +48,9 @@ PLATFORMS
ruby
DEPENDENCIES
- cucumber (= 0.9.0)
+ cucumber (= 1.1.3)
curb
- gherkin (= 2.2.4)
+ gherkin (= 2.6.7)
highline
httpclient
json
@@ -57,6 +59,6 @@ DEPENDENCIES
rake
rest-client
rspec (= 1.3.0)
- rubyzip2
+ rubyzip (~> 0.9.4)
terminal-table
- vmc (>= 0.3.13.beta.4)
+ vmc (>= 0.3.15.beta1)
View
@@ -9,13 +9,46 @@ vcap = ENV['VCAP'] || ".."
import "#{vcap}/rakelib/core_components.rake"
import "#{vcap}/rakelib/bundler.rake"
+task :default => [:help]
+
+desc "List help commands"
+task :help do
+ puts "Usage: rake [command]"
+ puts " tests\t\trun all bvts"
+ puts " smoke_tests\trun a smaller subset of bvts"
+ puts " sanity\trun only the most fundamental bvts"
+ puts " ruby\t\trun ruby-based bvts (rails3, sinatra)"
+ puts " jvm\t\trun jvm-based bvts (spring, java_web, grails, lift)"
+ puts " java\t\trun java-based bvts (spring, java_web)"
+ puts " services\trun services-based bvts"
+ puts " ci-tests\tset up a test cloud, run the bvts, and then tear it down"
+ puts " help\t\tlist help commands"
+end
desc "Run the Basic Viability Tests"
task :tests => ['build','bvt:run']
+desc "Run the Basic Viability Tests but spit junit format results"
+task :junit_tests => ['build','bvt:run_junit_format']
+
desc "Run a faster subset of Basic Viability Tests"
task :smoke_tests => ['build','bvt:run_smoke']
+desc "Run a fast essential basic set of tests"
+task :sanity => ['build','bvt:run_sanity']
+
+desc "Run ruby-based tests"
+task :ruby => ['bvt:run_ruby']
+
+desc "Run jvm-based tests"
+task :jvm => ['build','bvt:run_jvm']
+
+desc "Run java-based tests"
+task :java => ['build','bvt:run_java']
+
+desc "Run services-based tests"
+task :services => ['build','bvt:run_services']
+
ci_steps = ['ci:version_check',
'build',
'bundler:install:production',
@@ -51,10 +84,10 @@ TESTS_TO_BUILD = ["#{TESTS_PATH}/spring/auto-reconfig-test-app",
"#{TESTS_PATH}/spring/jpa-guestbook",
"#{TESTS_PATH}/spring/hibernate-guestbook",
"#{TESTS_PATH}/spring/spring-env",
+ "#{TESTS_PATH}/grails/guestbook",
"#{TESTS_PATH}/java_web/java_tiny_app",
"#{TESTS_PATH}/lift/hello_lift",
"#{TESTS_PATH}/lift/lift-db-app"
-
]
desc "Build the tests. If the git hash associated with the test assets has not changed, nothing is built. To force a build, invoke 'rake build[--force]'"
2 assets
@@ -14,7 +14,7 @@ Feature: Retrieve information on an application on AppCloud
Then I should get the state of my application
@creates_simple_app
- @creates_tiny_java_app
+ @creates_tiny_java_app @java
Scenario: list applications
Given I have deployed a simple application
And I have deployed a tiny Java application
@@ -50,7 +50,7 @@ Feature: Retrieve information on an application on AppCloud
And I should be able to get a list of files associated with my application on AppCloud
And I should be able to retrieve any of the listed files
- @creates_broken_app
+ @creates_broken_app @ruby
Scenario: get crash information for a broken application
Given I have registered and logged in
And I have deployed a broken application
@@ -34,7 +34,7 @@ Feature: Control the life-cycle of an application on AppCloud
When I delete my application
Then it should not be on AppCloud
- @creates_java_app_with_delay
+ @creates_java_app_with_delay @java
Scenario: start java application and be able to access its contents immediately thereafter
Given I have deployed my application named java_app_with_startup_delay
Then it should be started
@@ -6,7 +6,7 @@ Feature: Measure various performance features of an application
Background: Application creation
Given I have registered and logged in
- @creates_redis_lb_app @lb_check @smoke
+ @creates_redis_lb_app @lb_check @smoke @sanity
Scenario: start application
Given I have my redis lb app on AppCloud
When I upload my application
View
@@ -0,0 +1,13 @@
+Feature: atmos service binding and app deployment
+
+ In order to use atmos in cloud foundry
+ As the VMC user
+ I want to deploy my app against atmos service
+
+ @creates_atmos_service @creates_atmos_app
+ Scenario: deploy simple atmos application
+ Given I have registered and logged in
+ Given I have provisioned an atmos service
+ Given I have deployed an atmos application that is bound to this service
+ When I create an object in backend atmos through my application
+ Then I should be able to get the object
@@ -6,7 +6,7 @@ Feature: Deploy applications that make use of autostaging
Background: MySQL and PostgreSQL autostaging
Given I have registered and logged in
- @creates_jpa_app @creates_jpa_db_adapter
+ @creates_jpa_app @creates_jpa_db_adapter @java @services
Scenario: start Spring Web application using JPA and add some records
Given I deploy a Spring JPA application using the MySQL DB service
When I add 3 records to the application
@@ -16,7 +16,7 @@ Feature: Deploy applications that make use of autostaging
And I deploy a Spring JPA application using the created MySQL service
Then I should have the same 3 records on retrieving all records from the application
- @creates_hibernate_app @creates_hibernate_db_adapter
+ @creates_hibernate_app @creates_hibernate_db_adapter @java @sanity @services
Scenario: start Spring Web application using Hibernate and add some records
Given I deploy a Spring Hibernate application using the MySQL DB service
When I add 3 records to the application
@@ -26,7 +26,7 @@ Feature: Deploy applications that make use of autostaging
And I deploy a Spring Hibernate application using the created MySQL service
Then I should have the same 3 records on retrieving all records from the application
- @creates_grails_app @creates_grails_db_adapter
+ @creates_grails_app @creates_grails_db_adapter @jvm @services
Scenario: start Spring Grails application and add some records
Given I deploy a Spring Grails application using the MySQL DB service
When I add 3 records to the Grails application
@@ -36,7 +36,7 @@ Feature: Deploy applications that make use of autostaging
And I deploy a Spring Grails application using the created MySQL service
Then I should have the same 3 records on retrieving all records from the Grails application
- @creates_roo_app @creates_roo_db_adapter
+ @creates_roo_app @creates_roo_db_adapter @java @services
Scenario: start Spring Roo application and add some records
Given I deploy a Spring Roo application using the MySQL DB service
When I add 3 records to the Roo application
@@ -46,22 +46,22 @@ Feature: Deploy applications that make use of autostaging
And I deploy a Spring Roo application using the created MySQL service
Then I should have the same 3 records on retrieving all records from the Roo application
- @creates_rails3_app, @creates_rails3_db_adapter
+ @creates_rails3_app, @creates_rails3_db_adapter @ruby @services
Scenario: start application and write data
Given I have deployed a Rails 3 application
Then I can add a Widget to the database
- @creates_dbrails_app, @creates_dbrails_db_adapter
+ @creates_dbrails_app, @creates_dbrails_db_adapter @ruby @sanity @services
Scenario: start and test a rails db app with Gemfile that includes mysql2 gem
Given I deploy a dbrails application using the MySQL DB service
Then The dbrails app should work
- @creates_dbrails_broken_app, @creates_dbrails_broken_db_adapter
+ @creates_dbrails_broken_app, @creates_dbrails_broken_db_adapter @ruby
Scenario: start and test a rails db app with Gemfile that DOES NOT include mysql2 or sqllite gems
Given I deploy a broken dbrails application using the MySQL DB service
Then The broken dbrails application should fail
- @creates_hibernate_app @creates_hibernate_postgresql_adapter
+ @creates_hibernate_app @creates_hibernate_postgresql_adapter @java @sanity @services
Scenario: start Spring Web application using Hibernate and add some records
Given I deploy a hibernate application that is backed by the PostgreSQL database service on AppCloud
When I add 3 records to the application
@@ -71,37 +71,37 @@ Feature: Deploy applications that make use of autostaging
And I deploy a Spring Hibernate application using the created PostgreSQL service
Then I should have the same 3 records on retrieving all records from the application
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring Web Application specifying a Cloud Service and Data Source
Given I deploy a Spring application using a Cloud Service and Data Source
Then the Data Source should not be auto-configured
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring Web Application using Service Scan and a Data Source
Given I deploy a Spring application using Service Scan and a Data Source
Then the Data Source should not be auto-configured
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring Web Application using a local MongoDBFactory
Given I deploy a Spring application using a local MongoDBFactory
Then the MongoDBFactory should be auto-configured
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring Web Application using a local RedisConnectionFactory
Given I deploy a Spring application using a local RedisConnectionFactory
Then the RedisConnectionFactory should be auto-configured
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring Web Application using a local RabbitConnectionFactory
Given I deploy a Spring application using a local RabbitConnectionFactory
Then the RabbitConnectionFactory should be auto-configured
- @creates_auto_reconfig_test_app @creates_services
+ @creates_auto_reconfig_test_app @creates_services @java @services
Scenario: start Spring 3.1 Hibernate application using a local DataSource
Given I deploy a Spring 3.1 Hibernate application using a local DataSource
Then the Hibernate SessionFactory should be auto-configured
- @creates_auto_reconfig_missing_deps_test_app
+ @creates_auto_reconfig_missing_deps_test_app @java
Scenario: Start Spring Web Application with no service dependencies
Given I deploy a Spring Web Application that has no packaged mongo, redis, rabbit, or datasource dependencies
Then the application should start with no errors
Oops, something went wrong.

0 comments on commit 847ec51

Please sign in to comment.