123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- # encoding: utf-8
- require 'test_helper'
- class SessionBasicTest < ActiveSupport::TestCase
- test 'a cache' do
- Sessions::CacheIn.set( 'last_run_test' , true, { :expires_in => 2.seconds } )
- result = Sessions::CacheIn.get( 'last_run_test' )
- assert_equal( true, result, "check 1" )
- # should not be expired
- result = Sessions::CacheIn.expired( 'last_run_test' )
- assert_equal( false, result, "check 1 - expired" )
- # should be expired
- sleep 3
- result = Sessions::CacheIn.expired( 'last_run_test' )
- assert_equal( true, result, "check 1 - expired" )
- # renew expire
- result = Sessions::CacheIn.get( 'last_run_test', :re_expire => true )
- assert_equal( true, result, "check 1 - re_expire" )
- # should not be expired
- result = Sessions::CacheIn.expired( 'last_run_test' )
- assert_equal( false, result, "check 1 - expired" )
- # ignore expired
- sleep 3
- result = Sessions::CacheIn.get( 'last_run_test', :ignore_expire => true )
- assert_equal( true, result, "check 1 - ignore_expire" )
- # should be expired
- result = Sessions::CacheIn.expired( 'last_run_test' )
- assert_equal( true, result, "check 2" )
- result = Sessions::CacheIn.get( 'last_run_test' )
- assert_equal( nil, result, "check 2" )
- # check delete cache
- Sessions::CacheIn.set( 'last_run_delete' , true, { :expires_in => 5.seconds } )
- result = Sessions::CacheIn.get( 'last_run_delete' )
- assert_equal( true, result, "check 1" )
- Sessions::CacheIn.delete( 'last_run_delete' )
- result = Sessions::CacheIn.get( 'last_run_delete' )
- assert_equal( nil, nil, "check delete" )
- end
- test 'b collections group' do
- require 'sessions/backend/collections/group.rb'
- UserInfo.current_user_id = 1
- user = User.lookup(:id => 1)
- collection_client1 = Sessions::Backend::Collections::Group.new(user, false, '123-1')
- collection_client2 = Sessions::Backend::Collections::Group.new(user, false, '234-2')
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections" )
- assert_equal( result1, result2, "check collections" )
- # next check should be empty
- result1 = collection_client1.push
- assert( !result1, "check collections - recall" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2, "check collections - recall" )
- # change collection
- group = Group.first
- group.touch
- sleep 16
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections - after touch" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections - after touch" )
- assert_equal( result1, result2, "check collections" )
- # check again after touch
- result1 = collection_client1.push
- assert( !result1, "check collections - after touch - recall" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2, "check collections - after touch - recall" )
- assert_equal( result1, result2, "check collections" )
- # change collection
- group = Group.create( :name => 'SomeGroup::' + rand(999999).to_s, :active => true )
- sleep 12
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections - after create" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections - after create" )
- assert_equal( result1, result2, "check collections" )
- # check again after create
- sleep 14
- result1 = collection_client1.push
- assert( !result1, "check collections - after create - recall" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2, "check collections - after create - recall" )
- assert_equal( result1, result2, "check collections" )
- # change collection
- group.destroy
- sleep 14
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections - after destroy" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections - after destroy" )
- assert_equal( result1, result2, "check collections" )
- # check again after destroy
- sleep 12
- result1 = collection_client1.push
- assert( !result1, "check collections - after destroy - recall" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2, "check collections - after destroy - recall" )
- assert_equal( result1, result2, "check collections" )
- end
- user = User.lookup(:id => 1)
- roles = Role.where( :name => [ 'Agent', 'Admin'] )
- user.roles = roles
- user.save
- test 'b collections organization' do
- require 'sessions/backend/collections/organization.rb'
- UserInfo.current_user_id = 1
- user = User.lookup(:id => 1)
- org = Organization.create( :name => 'SomeOrg1::' + rand(999999).to_s, :active => true )
- collection_client1 = Sessions::Backend::Collections::Organization.new(user, false, '123-1')
- collection_client2 = Sessions::Backend::Collections::Organization.new(user, false, '234-2')
- # get whole collections - should be nil, no org exists!
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections" )
- assert_equal( result1, result2, "check collections" )
- # next check - should still be nil, no org exists!
- result1 = collection_client1.push
- assert( !result1, "check collections - recall" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2, "check collections - recall" )
- # change collection
- org = Organization.create( :name => 'SomeOrg2::' + rand(999999).to_s, :active => true )
- sleep 16
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections - after create" )
- sleep 1
- result2 = collection_client2.push
- assert( !result2.empty?, "check collections - after create" )
- assert_equal( result1, result2, "check collections" )
- sleep 16
- # next check should be empty
- result1 = collection_client1.push
- assert( !result1, "check collections - after create recall" )
- result2 = collection_client2.push
- assert( !result2, "check collections - after create recall" )
- organization = Organization.first
- organization.touch
- sleep 16
- # get whole collections
- result1 = collection_client1.push
- assert( !result1.empty?, "check collections - after touch" )
- result2 = collection_client2.push
- assert( !result1.empty?, "check collections - after touch" )
- assert_equal( result1, result2, "check collections" )
- end
- test 'b rss' do
- user = User.lookup(:id => 1)
- collection_client1 = Sessions::Backend::Rss.new(user, false, '123-1')
- # get whole collections
- result1 = collection_client1.push
- #puts "RSS1: #{result1.inspect}"
- assert( !result1.empty?, "check rss" )
- sleep 1
- # next check should be empty
- result1 = collection_client1.push
- #puts "R1: #{result1.inspect}"
- assert( !result1, "check rss - recall" )
- end
- test 'b activity stream' do
- UserInfo.current_user_id = 1
- # create users
- roles = Role.where( :name => [ 'Agent', 'Admin'] )
- groups = Group.all
- UserInfo.current_user_id = 1
- agent1 = User.create_or_update(
- :login => 'activity-stream-agent-1',
- :firstname => 'Session',
- :lastname => 'activity stream ' + rand(99999).to_s,
- :email => 'activity-stream-agent1@example.com',
- :password => 'agentpw',
- :active => true,
- :roles => roles,
- :groups => groups,
- )
- agent1.roles = roles
- agent1.save
- as_client1 = Sessions::Backend::ActivityStream.new(agent1, false, '123-1')
- # get as stream
- result1 = as_client1.push
- assert( result1, "check as" )
- sleep 1
- # next check should be empty
- result1 = as_client1.push
- assert( !result1, "check as - recall" )
- # next check should be empty
- sleep 60
- result1 = as_client1.push
- assert( !result1, "check as - recall 2" )
- agent1.update_attribute( :email, 'activity-stream-agent11@example.com' )
- ticket = Ticket.create(:title => '12323', :group_id => 1, :priority_id => 1, :state_id => 1, :customer_id => 1 )
- sleep 32
- # get as stream
- result1 = as_client1.push
- assert( result1, "check as - recall 3" )
- end
- test 'b ticket_create' do
- UserInfo.current_user_id = 1
- user = User.lookup(:id => 1)
- ticket_create_client1 = Sessions::Backend::TicketCreate.new(user, false, '123-1')
- # get as stream
- result1 = ticket_create_client1.push
- assert( result1, "check ticket_create" )
- sleep 1
- # next check should be empty
- result1 = ticket_create_client1.push
- assert( !result1, "check ticket_create - recall" )
- # next check should be empty
- sleep 10
- result1 = ticket_create_client1.push
- assert( !result1, "check ticket_create - recall 2" )
- Group.create( :name => 'SomeTicketCreateGroup::' + rand(999999).to_s, :active => true )
- sleep 26
- # get as stream
- result1 = ticket_create_client1.push
- assert( result1, "check ticket_create - recall 3" )
- end
- end
|