[ARVADOS] updated: 73e28547278ddff84847c12ad7f926e717ae553a

git at public.curoverse.com git at public.curoverse.com
Wed Apr 23 17:28:36 EDT 2014


Summary of changes:
 .../app/controllers/arvados/v1/users_controller.rb |    2 +-
 services/api/app/models/pipeline_instance.rb       |  101 +++++++++++++++
 services/api/app/models/user.rb                    |    6 +-
 .../views/user_notifier/account_is_setup.text.erb  |   13 ++-
 services/api/config/environments/test.rb.example   |    3 +
 .../20140422011506_pipeline_instance_state.rb      |   87 +++++++++++++
 services/api/db/schema.rb                          |    4 +-
 services/api/lib/current_api_client.rb             |    8 +-
 services/api/test/fixtures/pipeline_instances.yml  |    3 +
 .../arvados/v1/groups_controller_test.rb           |   28 ++--
 .../functional/arvados/v1/users_controller_test.rb |   50 ++++++--
 .../api_client_authorizations_api_test.rb          |    6 +-
 .../api/test/integration/collections_api_test.rb   |   16 ++--
 services/api/test/integration/jobs_api_test.rb     |    4 +-
 services/api/test/integration/permissions_test.rb  |   12 +-
 services/api/test/integration/valid_links_test.rb  |    2 +-
 services/api/test/test_helper.rb                   |   21 +++-
 services/api/test/unit/application_test.rb         |   32 +++++
 services/api/test/unit/pipeline_instance_test.rb   |  129 +++++++++++++++++++-
 services/api/test/unit/user_test.rb                |   61 +++++++++-
 20 files changed, 525 insertions(+), 63 deletions(-)
 create mode 100644 services/api/db/migrate/20140422011506_pipeline_instance_state.rb
 create mode 100644 services/api/test/fixtures/pipeline_instances.yml
 create mode 100644 services/api/test/unit/application_test.rb

       via  73e28547278ddff84847c12ad7f926e717ae553a (commit)
       via  6f918d1fc451f1ad72350677155a0d67f40a9628 (commit)
       via  22db59393203f550e0c77e65c650e664667492ab (commit)
       via  6a0ce3e88fc2122fe7749b6e4bc3eb01fb37b97c (commit)
       via  a955d5a89402d4b68ccec2d00c1ecf7d86334875 (commit)
       via  1059fd1f9e22ebcae51413d2b0fde0416c71c79b (commit)
       via  49aaa9f26dfaf50056abd7527976b681be26208b (commit)
       via  f03e21f7d50e34e7f7f7e7f570e8604fbd4d27da (commit)
       via  35295980b918232db8a8f3321e3bf02729e26c9f (commit)
       via  074147b4138f7a29ed9ff054b916ac1856b71e9f (commit)
       via  beef5fec7c77e3de84902969f877f1b4d5b89eef (commit)
       via  8072742e6557966b3e3d699e18fd3ee8656ed5b7 (commit)
       via  007a1e6edf9125990e286c71b00f51405470a4a6 (commit)
       via  c92d3fcdc2ab6bc3ec9bb03567de9203ff9b1f79 (commit)
       via  3aa0915d0b9b0affd9a784df3d138f0d13df303b (commit)
       via  5cb205c567c312345376bcd2b7104075b5710d7f (commit)
       via  a3c5fac3f7849cab38bedd313b522b994be17b15 (commit)
      from  c0aeec88f6507f441796d25ad2dfb49c78185731 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 73e28547278ddff84847c12ad7f926e717ae553a
Merge: 6f918d1 22db593
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Apr 23 17:06:51 2014 -0400

    Merge branch 'master' of git.curoverse.com:arvados into 2640-folder-api
    
    Conflicts:
    	services/api/db/schema.rb
    	services/api/test/test_helper.rb

diff --cc services/api/db/schema.rb
index 373c279,ab39901..af751fa
--- a/services/api/db/schema.rb
+++ b/services/api/db/schema.rb
@@@ -311,10 -311,12 +311,12 @@@ ActiveRecord::Schema.define(:version =
      t.string   "pipeline_template_uuid"
      t.string   "name"
      t.text     "components"
 -    t.datetime "updated_at"
 -    t.text     "properties"
 -    t.boolean  "active"
      t.boolean  "success"
 +    t.boolean  "active",                  :default => false
 +    t.datetime "updated_at",                                 :null => false
 +    t.text     "properties"
+     t.string   "state"
+     t.text     "components_summary"
    end
  
    add_index "pipeline_instances", ["created_at"], :name => "index_pipeline_instances_on_created_at"
diff --cc services/api/test/test_helper.rb
index 3062c52,a4c1445..286cf66
--- a/services/api/test/test_helper.rb
+++ b/services/api/test/test_helper.rb
@@@ -25,6 -29,19 +33,15 @@@ class ActiveSupport::TestCas
  end
  
  class ActionDispatch::IntegrationTest
+ 
+   teardown do
+     Thread.current[:api_client_ip_address] = nil
+     Thread.current[:api_client_authorization] = nil
+     Thread.current[:api_client_uuid] = nil
+     Thread.current[:api_client] = nil
+     Thread.current[:user] = nil
+   end
+ 
 -  def jresponse
 -    @jresponse ||= ActiveSupport::JSON.decode @response.body
 -  end
 -
    def auth auth_fixture
      {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(auth_fixture).api_token}"}
    end

commit 6f918d1fc451f1ad72350677155a0d67f40a9628
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Apr 23 17:00:39 2014 -0400

    Rename jresponse test helper to json_response.

diff --git a/services/api/test/functional/arvados/v1/groups_controller_test.rb b/services/api/test/functional/arvados/v1/groups_controller_test.rb
index 017984c..74110ae 100644
--- a/services/api/test/functional/arvados/v1/groups_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb
@@ -19,7 +19,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
     get :index, filters: [['group_class', '=', 'folder']], format: :json
     assert_response :success
     group_uuids = []
-    jresponse['items'].each do |group|
+    json_response['items'].each do |group|
       assert_equal 'folder', group['group_class']
       group_uuids << group['uuid']
     end
@@ -34,7 +34,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
     get :index, filters: [['group_class', '=', nil]], format: :json
     assert_response :success
     group_uuids = []
-    jresponse['items'].each do |group|
+    json_response['items'].each do |group|
       assert_equal nil, group['group_class']
       group_uuids << group['uuid']
     end
@@ -50,8 +50,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_equal [], jresponse['items']
-    assert_equal 0, jresponse['items_available']
+    assert_equal [], json_response['items']
+    assert_equal 0, json_response['items_available']
   end
 
   test 'get group-owned objects' do
@@ -61,8 +61,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_operator 2, :<=, jresponse['items_available']
-    assert_operator 2, :<=, jresponse['items'].count
+    assert_operator 2, :<=, json_response['items_available']
+    assert_operator 2, :<=, json_response['items'].count
   end
 
   test 'get group-owned objects with limit' do
@@ -73,8 +73,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_operator 1, :<, jresponse['items_available']
-    assert_equal 1, jresponse['items'].count
+    assert_operator 1, :<, json_response['items_available']
+    assert_equal 1, json_response['items'].count
   end
 
   test 'get group-owned objects with limit and offset' do
@@ -86,8 +86,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_operator 1, :<, jresponse['items_available']
-    assert_equal 0, jresponse['items'].count
+    assert_operator 1, :<, json_response['items_available']
+    assert_equal 0, json_response['items'].count
   end
 
   test 'get group-owned objects with additional filter matching nothing' do
@@ -98,8 +98,8 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_equal [], jresponse['items']
-    assert_equal 0, jresponse['items_available']
+    assert_equal [], json_response['items']
+    assert_equal 0, json_response['items_available']
   end
 
   test 'get group-owned objects without include_linked' do
@@ -110,7 +110,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    uuids = jresponse['items'].collect { |i| i['uuid'] }
+    uuids = json_response['items'].collect { |i| i['uuid'] }
     assert_equal nil, uuids.index(unexpected_uuid)
   end
 
@@ -123,7 +123,7 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    uuids = jresponse['items'].collect { |i| i['uuid'] }
+    uuids = json_response['items'].collect { |i| i['uuid'] }
     assert_includes uuids, expected_uuid, "Did not get #{expected_uuid}"
   end
 end
diff --git a/services/api/test/functional/arvados/v1/users_controller_test.rb b/services/api/test/functional/arvados/v1/users_controller_test.rb
index 948b601..8608e52 100644
--- a/services/api/test/functional/arvados/v1/users_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/users_controller_test.rb
@@ -889,9 +889,9 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
       format: :json,
     }
     assert_response :success
-    assert_operator 2, :<=, jresponse['items_available']
-    assert_operator 2, :<=, jresponse['items'].count
-    kinds = jresponse['items'].collect { |i| i['kind'] }.uniq
+    assert_operator 2, :<=, json_response['items_available']
+    assert_operator 2, :<=, json_response['items'].count
+    kinds = json_response['items'].collect { |i| i['kind'] }.uniq
     expect_kinds = %w'arvados#group arvados#specimen arvados#pipelineTemplate arvados#job'
     assert_equal expect_kinds, (expect_kinds & kinds)
   end
@@ -907,7 +907,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
       while true
         # Behaving badly here, using the same controller multiple
         # times within a test.
-        @jresponse = nil
+        @json_response = nil
         get :owned_items, {
           id: users(:active).uuid,
           include_linked: inc_ind,
@@ -916,14 +916,14 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
           format: :json,
         }
         assert_response :success
-        assert_operator(0, :<, jresponse['items'].count,
+        assert_operator(0, :<, json_response['items'].count,
                         "items_available=#{items_available} but received 0 "\
                         "items with offset=#{offset}")
-        items_available ||= jresponse['items_available']
-        assert_equal(items_available, jresponse['items_available'],
+        items_available ||= json_response['items_available']
+        assert_equal(items_available, json_response['items_available'],
                      "items_available changed between page #{offset/limit} "\
                      "and page #{1+offset/limit}")
-        jresponse['items'].each do |item|
+        json_response['items'].each do |item|
           uuid = item['uuid']
           assert_equal(nil, uuid_received[uuid],
                        "Received '#{uuid}' again on page #{1+offset/limit}")
@@ -937,7 +937,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase
         break if offset >= items_available
       end
       if inc_ind
-        assert_operator 0, :<, (jresponse.keys - [users(:active).uuid]).count,
+        assert_operator 0, :<, (json_response.keys - [users(:active).uuid]).count,
         "Set include_linked=true but did not receive any non-owned items"
       end
     end
diff --git a/services/api/test/integration/api_client_authorizations_api_test.rb b/services/api/test/integration/api_client_authorizations_api_test.rb
index fef4b5b..78841fe 100644
--- a/services/api/test/integration/api_client_authorizations_api_test.rb
+++ b/services/api/test/integration/api_client_authorizations_api_test.rb
@@ -19,9 +19,9 @@ class ApiClientAuthorizationsApiTest < ActionDispatch::IntegrationTest
 
     get "/arvados/v1/users/current", {
       :format => :json
-    }, {'HTTP_AUTHORIZATION' => "OAuth2 #{jresponse['api_token']}"}
-    @jresponse = nil
-    assert_equal users(:spectator).uuid, jresponse['uuid']
+    }, {'HTTP_AUTHORIZATION' => "OAuth2 #{json_response['api_token']}"}
+    @json_response = nil
+    assert_equal users(:spectator).uuid, json_response['uuid']
   end
 
   test "refuse to create token for different user if not trusted client" do
diff --git a/services/api/test/integration/collections_api_test.rb b/services/api/test/integration/collections_api_test.rb
index 5fa77c3..8856fd5 100644
--- a/services/api/test/integration/collections_api_test.rb
+++ b/services/api/test/integration/collections_api_test.rb
@@ -6,33 +6,33 @@ class CollectionsApiTest < ActionDispatch::IntegrationTest
   test "should get index" do
     get "/arvados/v1/collections", {:format => :json}, auth(:active)
     assert_response :success
-    assert_equal "arvados#collectionList", jresponse['kind']
+    assert_equal "arvados#collectionList", json_response['kind']
   end
 
   test "get index with filters= (empty string)" do
     get "/arvados/v1/collections", {:format => :json, :filters => ''}, auth(:active)
     assert_response :success
-    assert_equal "arvados#collectionList", jresponse['kind']
+    assert_equal "arvados#collectionList", json_response['kind']
   end
 
   test "get index with where= (empty string)" do
     get "/arvados/v1/collections", {:format => :json, :where => ''}, auth(:active)
     assert_response :success
-    assert_equal "arvados#collectionList", jresponse['kind']
+    assert_equal "arvados#collectionList", json_response['kind']
   end
 
   test "controller 404 response is json" do
     get "/arvados/v1/thingsthatdonotexist", {:format => :xml}, auth(:active)
     assert_response 404
-    assert_equal 1, jresponse['errors'].length
-    assert_equal true, jresponse['errors'][0].is_a?(String)
+    assert_equal 1, json_response['errors'].length
+    assert_equal true, json_response['errors'][0].is_a?(String)
   end
 
   test "object 404 response is json" do
     get "/arvados/v1/groups/zzzzz-j7d0g-o5ba971173cup4f", {}, auth(:active)
     assert_response 404
-    assert_equal 1, jresponse['errors'].length
-    assert_equal true, jresponse['errors'][0].is_a?(String)
+    assert_equal 1, json_response['errors'].length
+    assert_equal true, json_response['errors'][0].is_a?(String)
   end
 
   test "store collection as json" do
@@ -41,6 +41,6 @@ class CollectionsApiTest < ActionDispatch::IntegrationTest
       collection: "{\"manifest_text\":\". bad42fa702ae3ea7d888fef11b46f450+44 0:44:md5sum.txt\\n\",\"uuid\":\"ad02e37b6a7f45bbe2ead3c29a109b8a+54\"}"
     }, auth(:active)
     assert_response 200
-    assert_equal 'ad02e37b6a7f45bbe2ead3c29a109b8a+54', jresponse['uuid']
+    assert_equal 'ad02e37b6a7f45bbe2ead3c29a109b8a+54', json_response['uuid']
   end
 end
diff --git a/services/api/test/integration/jobs_api_test.rb b/services/api/test/integration/jobs_api_test.rb
index 1c4e294..9302a73 100644
--- a/services/api/test/integration/jobs_api_test.rb
+++ b/services/api/test/integration/jobs_api_test.rb
@@ -6,8 +6,8 @@ class JobsApiTest < ActionDispatch::IntegrationTest
   test "cancel job" do
     post "/arvados/v1/jobs/#{jobs(:running).uuid}/cancel", {:format => :json}, {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(:active).api_token}"}
     assert_response :success
-    assert_equal "arvados#job", jresponse['kind']
-    assert_not_nil jresponse['cancelled_at']
+    assert_equal "arvados#job", json_response['kind']
+    assert_not_nil json_response['cancelled_at']
   end
 
   test "cancel someone else's visible job" do
diff --git a/services/api/test/integration/permissions_test.rb b/services/api/test/integration/permissions_test.rb
index e3f6cc1..2ebd62b 100644
--- a/services/api/test/integration/permissions_test.rb
+++ b/services/api/test/integration/permissions_test.rb
@@ -32,7 +32,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
         properties: {}
       }
     }, auth(:admin)
-    u = jresponse['uuid']
+    u = json_response['uuid']
     assert_response :success
 
     # read collection as spectator
@@ -86,7 +86,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
         properties: {}
       }
     }, auth(:admin)
-    u = jresponse['uuid']
+    u = json_response['uuid']
     assert_response :success
 
     # try to read collection as spectator
@@ -137,7 +137,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
         properties: {}
       }
     }, auth(:admin)
-    u = jresponse['uuid']
+    u = json_response['uuid']
     assert_response :success
 
     # try to read collection as spectator
@@ -196,7 +196,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
         properties: {}
       }
     }, auth(:admin)
-    u = jresponse['uuid']
+    u = json_response['uuid']
     assert_response :success
 
     # try to read collection as spectator
@@ -215,7 +215,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
   test "read-only group-admin sees correct subset of user list" do
     get "/arvados/v1/users", {:format => :json}, auth(:rominiadmin)
     assert_response :success
-    resp_uuids = jresponse['items'].collect { |i| i['uuid'] }
+    resp_uuids = json_response['items'].collect { |i| i['uuid'] }
     [[true, users(:rominiadmin).uuid],
      [true, users(:active).uuid],
      [false, users(:miniadmin).uuid],
@@ -254,7 +254,7 @@ class PermissionsTest < ActionDispatch::IntegrationTest
      [:miniadmin, true]].each do |which_user, update_should_succeed|
       get "/arvados/v1/specimens", {:format => :json}, auth(which_user)
       assert_response :success
-      resp_uuids = jresponse['items'].collect { |i| i['uuid'] }
+      resp_uuids = json_response['items'].collect { |i| i['uuid'] }
       [[true, specimens(:owned_by_active_user).uuid],
        [true, specimens(:owned_by_private_group).uuid],
        [false, specimens(:owned_by_spectator).uuid],
diff --git a/services/api/test/integration/valid_links_test.rb b/services/api/test/integration/valid_links_test.rb
index 657bf02..63c8e88 100644
--- a/services/api/test/integration/valid_links_test.rb
+++ b/services/api/test/integration/valid_links_test.rb
@@ -16,7 +16,7 @@ class ValidLinksTest < ActionDispatch::IntegrationTest
       }
     }, admin_auth
     assert_response :success
-    u = jresponse['uuid']
+    u = json_response['uuid']
 
     put "/arvados/v1/links/#{u}", {
       :format => :json,
diff --git a/services/api/test/test_helper.rb b/services/api/test/test_helper.rb
index 4a53b25..3062c52 100644
--- a/services/api/test/test_helper.rb
+++ b/services/api/test/test_helper.rb
@@ -13,8 +13,8 @@ class ActiveSupport::TestCase
     self.request.headers["Accept"] = "text/json"
   end
 
-  def jresponse
-    @jresponse ||= ActiveSupport::JSON.decode @response.body
+  def json_response
+    @json_response ||= ActiveSupport::JSON.decode @response.body
   end
 
   def authorize_with(api_client_auth_name)

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list