trabajo-afectivo/test/unit/session_basic_test.rb

122 lines
3.2 KiB
Ruby
Raw Normal View History

# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
2014-07-13 18:52:32 +00:00
require 'test_helper'
class SessionBasicTest < ActiveSupport::TestCase
2015-05-03 12:11:47 +00:00
test 'c session create / update' do
# create users
2017-11-23 08:09:44 +00:00
roles = Role.where(name: %w[Agent])
2015-05-03 12:11:47 +00:00
groups = Group.all
agent1 = User.create_or_update(
login: 'session-agent-1',
firstname: 'Session',
lastname: 'Agent 1',
email: 'session-agent1@example.com',
password: 'agentpw',
active: true,
roles: roles,
groups: groups,
updated_by_id: 1,
created_by_id: 1,
2015-05-03 12:11:47 +00:00
)
# create sessions
client_id1 = '123456789'
2016-03-03 08:56:13 +00:00
Sessions.create(client_id1, {}, { type: 'websocket' })
2015-05-03 12:11:47 +00:00
# check if session exists
2016-03-03 08:56:13 +00:00
assert(Sessions.session_exists?(client_id1), 'check if session exists')
2015-05-03 12:11:47 +00:00
# check session data
data = Sessions.get(client_id1)
2016-03-03 08:56:13 +00:00
assert(data[:meta], 'check if meta exists')
assert(data[:user], 'check if user exists')
2017-03-24 10:02:13 +00:00
assert_nil(data[:user]['id'], 'check if user id is correct')
2015-05-03 12:11:47 +00:00
# recreate session
2016-03-03 08:56:13 +00:00
Sessions.create(client_id1, agent1.attributes, { type: 'websocket' })
2015-05-03 12:11:47 +00:00
# check if session exists
2016-03-03 08:56:13 +00:00
assert(Sessions.session_exists?(client_id1), 'check if session exists')
2015-05-03 12:11:47 +00:00
# check session data
data = Sessions.get(client_id1)
2016-03-03 08:56:13 +00:00
assert(data[:meta], 'check if meta exists')
assert(data[:user], 'check if user exists')
assert_equal(data[:user]['id'], agent1.id, 'check if user id is correct')
2015-05-03 12:11:47 +00:00
# destroy session
Sessions.destroy(client_id1)
2015-05-03 12:11:47 +00:00
# check if session exists
assert_not(Sessions.session_exists?(client_id1), 'check if session exists')
2015-05-03 12:11:47 +00:00
end
test 'c activity stream' do
2014-07-13 18:52:32 +00:00
# create users
2017-11-23 08:09:44 +00:00
roles = Role.where(name: %w[Agent Admin])
2014-07-13 18:52:32 +00:00
groups = Group.all
agent1 = User.create_or_update(
login: 'activity-stream-agent-1',
firstname: 'Session',
lastname: "activity stream #{SecureRandom.uuid}",
email: 'activity-stream-agent1@example.com',
password: 'agentpw',
active: true,
roles: roles,
groups: groups,
updated_by_id: 1,
created_by_id: 1,
2014-07-13 18:52:32 +00:00
)
# create min. on activity record
random_name = "Random:#{SecureRandom.uuid}"
Group.create_or_update(
name: random_name,
updated_by_id: 1,
created_by_id: 1,
)
2016-09-08 06:44:40 +00:00
as_client1 = Sessions::Backend::ActivityStream.new(agent1, {}, false, '123-1', 3)
2014-07-13 18:52:32 +00:00
# get as stream
result1 = as_client1.push
2016-03-03 08:56:13 +00:00
assert(result1, 'check as agent1')
travel 1.second
2014-07-13 18:52:32 +00:00
# next check should be empty
result1 = as_client1.push
assert_not(result1, 'check as agent1 - recall')
2014-07-13 18:52:32 +00:00
# next check should be empty
travel 4.seconds
2014-07-13 18:52:32 +00:00
result1 = as_client1.push
assert_not(result1, 'check as agent1 - recall 2')
2014-07-13 18:52:32 +00:00
agent1.update!(email: 'activity-stream-agent11@example.com')
2019-06-28 11:38:49 +00:00
Ticket.create!(
title: '12323',
group_id: 1,
priority_id: 1,
state_id: 1,
customer_id: 1,
updated_by_id: 1,
created_by_id: 1,
)
2014-07-13 18:52:32 +00:00
travel 4.seconds
2014-07-13 18:52:32 +00:00
# get as stream
result1 = as_client1.push
assert(result1, 'check as agent1 - recall 3')
travel_back
2014-07-13 18:52:32 +00:00
end
end