aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHeiko Bernloehr <Heiko.Bernloehr@FreeIT.de>2012-11-29 16:56:26 +0100
committerHeiko Bernloehr <Heiko.Bernloehr@FreeIT.de>2012-11-29 17:27:05 +0100
commitf59b78503c3e6ee39d13a0b1a959784cccca5da6 (patch)
treeea5d07cfda391d87299f09584b3c67a54319769a /test
parent1ddc5940e52d8db00ba204f99679bc5a271c425b (diff)
downloadecs2-f59b78503c3e6ee39d13a0b1a959784cccca5da6.tar.gz
ecs2-f59b78503c3e6ee39d13a0b1a959784cccca5da6.zip
Moved gc auth code to auths model.
Further made some testcode for auths handling.
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/auths.yml12
-rw-r--r--test/fixtures/membership_messages.yml10
-rw-r--r--test/fixtures/messages.yml24
-rw-r--r--test/functional/messages_controller_test.rb15
-rw-r--r--test/unit/message_test.rb9
5 files changed, 64 insertions, 6 deletions
diff --git a/test/fixtures/auths.yml b/test/fixtures/auths.yml
index 6b25be8..7d9bda3 100644
--- a/test/fixtures/auths.yml
+++ b/test/fixtures/auths.yml
@@ -1,9 +1,9 @@
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
-one:
- one_touch_hash: MyString
- message_id: 1
+outtimed:
+ one_touch_hash: <%= Digest::SHA1.hexdigest 'one touch hash outtimed' %>
+ message_id: 7
-two:
- one_touch_hash: MyString
- message_id: 1
+valid:
+ one_touch_hash: <%= Digest::SHA1.hexdigest 'one touch hash valid' %>
+ message_id: 8
diff --git a/test/fixtures/membership_messages.yml b/test/fixtures/membership_messages.yml
index dbfd8e0..0fd8e13 100644
--- a/test/fixtures/membership_messages.yml
+++ b/test/fixtures/membership_messages.yml
@@ -52,3 +52,13 @@
id: 7
membership_id: 4 #ulm_suv
message_id: 2 #numlab_exercise_2
+
+8:
+ id: 8
+ membership_id: 2 #ulm_wuv
+ message_id: 7 #auth_outtimed
+
+9:
+ id: 9
+ membership_id: 2 #ulm_wuv
+ message_id: 8 #auth_valid
diff --git a/test/fixtures/messages.yml b/test/fixtures/messages.yml
index 9fdebd6..3a1c46c 100644
--- a/test/fixtures/messages.yml
+++ b/test/fixtures/messages.yml
@@ -60,3 +60,27 @@ numlab_ulm_ex1:
sender: 2
body: "Ne superschwere Aufgabe aus Ulm.\r\n"
+auth_outtimed:
+ id: 7
+ ressource: sys_auths
+ content_type: application/json
+ sender: 1
+ body: "{
+ \"pid\": 2,
+ \"sov\": \"2012-11-28T03:59:05+01:00\",
+ \"eov\": \"2012-11-28T04:00:10+01:00\",
+ \"realm\": \"<%= Digest::SHA1.hexdigest 'https://freeit.de/doc1.html' %>\"
+ }"
+
+auth_valid:
+ id: 8
+ ressource: sys_auths
+ content_type: application/json
+ sender: 1
+ body: "{
+ \"pid\": 2,
+ \"sov\": \"2012-11-28T03:59:05+01:00\",
+ \"eov\": \"2030-11-28T04:00:10+01:00\",
+ \"realm\": \"<%= Digest::SHA1.hexdigest 'https://freeit.de/doc2.html' %>\"
+ }"
+
diff --git a/test/functional/messages_controller_test.rb b/test/functional/messages_controller_test.rb
index 6d7a906..c661123 100644
--- a/test/functional/messages_controller_test.rb
+++ b/test/functional/messages_controller_test.rb
@@ -423,6 +423,21 @@ class MessagesControllerTest < ActionController::TestCase
assert_equal "eov time is too young", assigns(:http_error).to_s
end
+ test "delete_auths" do
+ @request.env["X-EcsAuthId"] = identities(:ulm_id1).name
+ @request.set_REQUEST_URI("/sys/auths/#{auths(:valid).one_touch_hash}")
+ auths_count= Auth.all.length
+ messages_count= Message.all.length
+ auth_valid_id= auths(:valid).id
+ message_auth_valid_id= messages(:auth_valid).id
+ post :destroy, { :id => auths(:valid).one_touch_hash }
+ assert_response 200
+ assert_equal messages_count-1, Message.all.length
+ assert_equal auths_count-1, Auth.all.length
+ assert_raise(ActiveRecord::RecordNotFound){Auth.find(auth_valid_id)}
+ assert_raise(ActiveRecord::RecordNotFound){Message.find(message_auth_valid_id)}
+ end
+
# anonymous clients
#
diff --git a/test/unit/message_test.rb b/test/unit/message_test.rb
index 928f3bc..9a94c77 100644
--- a/test/unit/message_test.rb
+++ b/test/unit/message_test.rb
@@ -101,4 +101,13 @@ class MessageTest < ActiveSupport::TestCase
assert_equal participants(:ilias_stgt).id, json["pid"]
end
end
+
+ test "gc_outtimed_auths" do
+ auths_count= Auth.all.length
+ messages_count= Message.all.length
+ Auth.gc_outtimed
+ assert_equal messages_count-1, Message.all.length
+ assert_equal auths_count-1, Auth.all.length
+ assert_raise(ActiveRecord::RecordNotFound){auths(:outtimed)}
+ end
end