blob: 22d21d882115c98d5709113392854227846368dd [file] [log] [blame]
#// Copyright (c) 2000-2018 Ericsson Telecom AB //
#// All rights reserved. This program and the accompanying materials are made available under the terms //
#// of the Eclipse Public License v2.0 which accompanies this distribution, and is available at //
#// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
#/////////////////////////////////////////////////////////////////////////////////////////////////////////
import unittest, json
from Common.BaseGuiConfigHandler import BaseGuiConfigHandler
from test.utils.Utils import *
class DummyGuiConfigHandler(BaseGuiConfigHandler):
def createConfig(self, userGroups):
apps = BaseGuiConfigHandler.createConfig(self, userGroups)
if self.hasAccessRight('b', userGroups):
apps['availableApps'].insert(0, {'directory': 'WebApplications/B'})
if self.hasAccessRight('a', userGroups):
apps['availableApps'].insert(0, {'directory': 'WebApplications/A'})
return apps
class AuthenticationHandlerTest(unittest.TestCase):
def setUp(self):
# the "microservice" under test
self.handler = DummyGuiConfigHandler(GROUPRIGHTS_DIR)
# change default rights so we can test access right handling
self.handler._groupRightsHandler._default = DEFAULT_RIGHTS
# the datasource handlers of the microservice
self.datasourceHandlers = self.handler.getDataSourceHandlers()
def tearDown(self):
# close tested "microservice"
self.handler.close()
def test_loginPage(self):
'''
Author: EDNIGBO Daniel Gobor
Testcase: test_loginPage
Tested component: ServiceFramework
Feature: ServiceFramework - BaseGuiConfigHandler
Requirement: gui config for login page
Action_To_Be_taken:
get gui config without login info
check login in returned config
Expected_Result: pass
'''
# get gui config without login info
response = getEmptyResponse()
self.handler.handleMessage('GET', 'CustomizableContent/MainConfig.json', {}, '', NO_USER, response)
config = json.loads(response['body'])
# check login in returned config
self.assertEqual(1, len(config['availableApps']))
self.assertEqual('Login', config['availableApps'][0]['name'])
def test_whileLoggedIn(self):
'''
Author: EDNIGBO Daniel Gobor
Testcase: test_whileLoggedIn
Tested component: ServiceFramework
Feature: ServiceFramework - BaseGuiConfigHandler
Requirement: gui config for a logged in user
Action_To_Be_taken:
get gui config with login info
check 'A' application in returned config
check logout in returned config
Expected_Result: pass
'''
# get gui config with login info
response = getEmptyResponse()
self.handler.handleMessage('GET', 'CustomizableContent/MainConfig.json', {}, '', ADMIN, response)
config = json.loads(response['body'])
# check 'A' application in returned config
self.assertEqual(2, len(config['availableApps']))
self.assertEqual('WebApplications/A', config['availableApps'][0]['directory'])
# check logout in returned config
self.assertEqual('Logout', config['availableApps'][1]['name'])
def test_help(self):
'''
Author: EDNIGBO Daniel Gobor
Testcase: test_help
Tested component: ServiceFramework
Feature: ServiceFramework - BaseGuiConfigHandler
Requirement: datasource help in BaseGuiConfigHandler
Action_To_Be_taken:
get help
check help syntax
Expected_Result: pass
'''
# get help
help = self.datasourceHandlers[self.handler.SOURCE_ID]['getDataHandler']({'source': self.handler.SOURCE_ID, 'element': 'help', 'params': []}, ADMIN)['node']['val']
# check help syntax
json.loads(help.decode('hex'))