9799: Add tests for container log permissions.
authorTom Clegg <tom@curoverse.com>
Fri, 26 Aug 2016 21:34:25 +0000 (17:34 -0400)
committerTom Clegg <tom@curoverse.com>
Wed, 31 Aug 2016 02:01:52 +0000 (22:01 -0400)
services/api/test/fixtures/container_requests.yml
services/api/test/fixtures/containers.yml
services/api/test/unit/permission_test.rb

index 433aff210a58b667301459277bbb5924933c3fdb..c754de1b138504e82a248fb6a8e2a876e75c8012 100644 (file)
@@ -36,7 +36,7 @@ running:
     vcpus: 1
     ram: 123
 
-running-older:
+running_older:
   uuid: zzzzz-xvhdp-cr4runningcntn2
   owner_uuid: zzzzz-tpzed-xurymjxw79nv3jz
   name: running
index bf9f84e051e8c682ed99966a4838a2d7832ad4fd..2e3021d374cdd7b78b6f7f06e0ce36ef40b1a5a4 100644 (file)
@@ -31,7 +31,7 @@ running:
     vcpus: 4
   auth_uuid: zzzzz-gj3su-077z32aux8dg2s1
 
-running-older:
+running_older:
   uuid: zzzzz-dz642-runningcontain2
   owner_uuid: zzzzz-tpzed-000000000000000
   state: Running
index 4a6ddc69fbcb1703c3234e4e6e1360a779b2f4b3..5bc296aded9a2ec116c1a20f8bf52e2091323e6d 100644 (file)
@@ -353,4 +353,27 @@ class PermissionTest < ActiveSupport::TestCase
       ob.update_attributes!(owner_uuid: groups(:aproject).uuid)
     end
   end
+
+  def container_logs container, user
+    Log.readable_by(users(user)).
+      where(object_uuid: containers(container).uuid, event_type: "test")
+  end
+
+  test "container logs created by dispatch are visible to container requestor" do
+    set_user_from_auth :dispatch1
+    Log.create!(object_uuid: containers(:running).uuid,
+                event_type: "test")
+
+    assert_not_empty container_logs(:running, :admin)
+    assert_not_empty container_logs(:running, :active)
+    assert_empty container_logs(:running, :spectator)
+  end
+
+  test "container logs created by dispatch are public if container request is public" do
+    set_user_from_auth :dispatch1
+    Log.create!(object_uuid: containers(:running_older).uuid,
+                event_type: "test")
+
+    assert_not_empty container_logs(:running_older, :anonymous)
+  end
 end