Add test for APIKeys
This commit is contained in:
parent
7e1749dbd1
commit
01a0435f57
|
@ -56,11 +56,11 @@ require './system/edit-department.rb'
|
|||
require './system/delete-department.rb'
|
||||
require './staff/last-events.rb'
|
||||
# require './system/mail-templates.rb'
|
||||
require './system/disable-registration.rb'
|
||||
require './system/enable-registration.rb'
|
||||
require './system/add-api-key.rb'
|
||||
require './system/delete-api-key.rb'
|
||||
require './system/get-api-keys.rb'
|
||||
require './system/disable-registration.rb'
|
||||
require './system/enable-registration.rb'
|
||||
require './system/file-upload-download.rb'
|
||||
require './system/csv-import.rb'
|
||||
require './ticket/create-tag.rb'
|
||||
|
|
|
@ -89,11 +89,12 @@ class Scripts
|
|||
result['data']
|
||||
end
|
||||
|
||||
def self.createAPIKey(name)
|
||||
def self.createAPIKey(name, type)
|
||||
request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: name
|
||||
name: name,
|
||||
type: type
|
||||
})
|
||||
end
|
||||
|
||||
|
|
|
@ -1,30 +1,44 @@
|
|||
describe'system/add-api-key' do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
|
||||
it 'should add API key' do
|
||||
result= request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: 'new API'
|
||||
})
|
||||
it 'should add API key' do
|
||||
result= request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: 'new API',
|
||||
type: 'REGISTRATION'
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
(result['status']).should.equal('success')
|
||||
|
||||
row = $database.getRow('apikey', 1, 'id')
|
||||
row = $database.getRow('apikey', 1, 'id')
|
||||
|
||||
(row['name']).should.equal('new API')
|
||||
(result['data']).should.equal(row['token'])
|
||||
(row['name']).should.equal('new API')
|
||||
(result['data']).should.equal(row['token'])
|
||||
end
|
||||
|
||||
end
|
||||
it 'should not add API key' do
|
||||
result= request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: 'new API'
|
||||
})
|
||||
it 'should not add API key if name already used' do
|
||||
result= request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: 'new API',
|
||||
type: 'REGISTRATION'
|
||||
})
|
||||
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('NAME_ALREADY_USED')
|
||||
end
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('NAME_ALREADY_USED')
|
||||
end
|
||||
|
||||
it 'should not add API key if invalid type is used' do
|
||||
result= request('/system/add-api-key', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
name: 'new API2',
|
||||
type: 'REGISTRATON'
|
||||
})
|
||||
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('INVALID_API_KEY_TYPE')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
describe'/system/disable-registration' do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
api_key = Scripts.createAPIKey('registrationKey', 'REGISTRATION')['data']
|
||||
|
||||
it 'should not disable registration if password is not correct' do
|
||||
result= request('/system/disable-registration', {
|
||||
|
@ -17,7 +18,7 @@ describe'/system/disable-registration' do
|
|||
end
|
||||
|
||||
it 'should disable registration' do
|
||||
result= request('/system/disable-registration', {
|
||||
result = request('/system/disable-registration', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
password: $staff[:password]
|
||||
|
@ -31,13 +32,23 @@ describe'/system/disable-registration' do
|
|||
end
|
||||
|
||||
it 'should not create user in database if registration is false' do
|
||||
response = request('/user/signup', {
|
||||
result = request('/user/signup', {
|
||||
:name => 'ponzio',
|
||||
:email => 'jc@ponziolandia.com',
|
||||
:password => 'tequila'
|
||||
})
|
||||
|
||||
(response['status']).should.equal('fail')
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('NO_PERMISSION')
|
||||
end
|
||||
|
||||
it 'should create user if using api key' do
|
||||
result = request('/user/signup', {
|
||||
:name => 'ponzio',
|
||||
:email => 'jc@ponziolandia.com',
|
||||
:password => 'tequila',
|
||||
:apiKey => api_key
|
||||
})
|
||||
(result['status']).should.equal('success')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ describe'system/disable-user-system' do
|
|||
row = $database.getRow('user', 1, 'id')
|
||||
(row).should.equal(nil)
|
||||
|
||||
numberOftickets= $database.query("SELECT * FROM ticket WHERE author_id IS NULL AND author_email IS NOT NULL AND author_name IS NOT NULL")
|
||||
numberOftickets = $database.query("SELECT * FROM ticket WHERE author_id IS NULL AND author_email IS NOT NULL AND author_name IS NOT NULL")
|
||||
|
||||
(numberOftickets.num_rows).should.equal(51)
|
||||
|
||||
|
@ -99,6 +99,21 @@ describe'system/disable-user-system' do
|
|||
(ticket['author_staff_id']).should.equal('1')
|
||||
end
|
||||
|
||||
it 'should be able to create a ticket using api' do
|
||||
api_key = Scripts.createAPIKey('ticketCreateKey', 'TICKET_CREATE')['data']
|
||||
request('/user/logout')
|
||||
result = request('/ticket/create', {
|
||||
email: 'fromapi@testemail.com',
|
||||
name: 'Random user',
|
||||
title: 'created by api',
|
||||
content: 'this ticket was created using anapi key while user system is disabled',
|
||||
departmentId: 1,
|
||||
language: 'en',
|
||||
apiKey: api_key
|
||||
})
|
||||
(result['status']).should.equal('success')
|
||||
end
|
||||
|
||||
it 'should not disable the user system if it is already disabled 'do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
|
@ -127,7 +142,7 @@ describe'system/disable-user-system' do
|
|||
|
||||
numberOftickets= $database.query("SELECT * FROM ticket WHERE author_email IS NULL AND author_name IS NULL AND author_id IS NOT NULL" )
|
||||
|
||||
(numberOftickets.num_rows).should.equal(52)
|
||||
(numberOftickets.num_rows).should.equal(53)
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -1,26 +1,25 @@
|
|||
describe'system/get-api-keys' do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
|
||||
it 'should get all API keys' do
|
||||
Scripts.createAPIKey('namekey1')
|
||||
Scripts.createAPIKey('namekey2')
|
||||
Scripts.createAPIKey('namekey3')
|
||||
Scripts.createAPIKey('namekey4')
|
||||
Scripts.createAPIKey('namekey5')
|
||||
|
||||
result = request('/system/get-api-keys', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
})
|
||||
it 'should get all API keys' do
|
||||
Scripts.createAPIKey('namekey1', 'REGISTRATION')
|
||||
Scripts.createAPIKey('namekey2', 'REGISTRATION')
|
||||
Scripts.createAPIKey('namekey3', 'REGISTRATION')
|
||||
Scripts.createAPIKey('namekey4', 'REGISTRATION')
|
||||
Scripts.createAPIKey('namekey5', 'REGISTRATION')
|
||||
|
||||
result = request('/system/get-api-keys', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
(result['data'][0]['name']).should.equal('namekey1')
|
||||
(result['data'][1]['name']).should.equal('namekey2')
|
||||
(result['data'][2]['name']).should.equal('namekey3')
|
||||
(result['data'][3]['name']).should.equal('namekey4')
|
||||
(result['data'][4]['name']).should.equal('namekey5')
|
||||
|
||||
end
|
||||
(result['status']).should.equal('success')
|
||||
(result['data'][0]['name']).should.equal('namekey1')
|
||||
(result['data'][1]['name']).should.equal('namekey2')
|
||||
(result['data'][2]['name']).should.equal('namekey3')
|
||||
(result['data'][3]['name']).should.equal('namekey4')
|
||||
(result['data'][4]['name']).should.equal('namekey5')
|
||||
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue