1c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# -*-coding:utf-8 -* 2c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 3c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Copyright (c) 2011-2015, Intel Corporation 4c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# All rights reserved. 5c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 6c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Redistribution and use in source and binary forms, with or without modification, 7c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# are permitted provided that the following conditions are met: 8c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 9c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 1. Redistributions of source code must retain the above copyright notice, this 10c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# list of conditions and the following disclaimer. 11c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 12c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 2. Redistributions in binary form must reproduce the above copyright notice, 13c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# this list of conditions and the following disclaimer in the documentation and/or 14c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# other materials provided with the distribution. 15c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 16c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 3. Neither the name of the copyright holder nor the names of its contributors 17c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# may be used to endorse or promote products derived from this software without 18c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# specific prior written permission. 19c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# 20c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 24c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 31c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero""" 32c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroRules management testcases 33c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 34c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroList of tested functions : 35c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero-------------------------- 36c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setRule] function 37c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [clearRule] function 38c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getRule] function 39c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 40c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules CleroTest cases : 41c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero------------ 42c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Testing clearRule errors 43c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Testing setRule errors 44c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Testing getRule errors 45c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Testing nominal case 46c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero""" 47c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerofrom Util.PfwUnitTestLib import PfwTestCase 48c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerofrom Util import ACTLogging 49c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clerolog=ACTLogging.Logger() 50c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 51c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero# Test of Domains - Rules 52c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Cleroclass TestCases(PfwTestCase): 53c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def setUp(self): 54c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.pfw.sendCmd("setTuningMode", "on") 55c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.domain_name = "domain_test" 56c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.conf_1 = "conf_1" 57c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.conf_2 = "conf_2" 58c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_1 = "Any{Crit_0 Includes State_0x2, Crit_1 IsNot State_1}" 59c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_2 = "All{Crit_0 Includes State_0x1, Crit_1 Is State_1}" 60c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_1 = "All{Crit_Error Includes State_0x1, Crit_1 Is State_1}" 61c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_2 = "Any{Crit_0 Includes State_0x2, Crit_0 IsNot State_1}" 62c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_3 = "Ay{Crit_0 Includes State_0x2, Crit_1 IsNot State_1}" 63c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_4 = "All{Crit_0 Includes State_0x4, Crit_1 IsNot State_1}" 64c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_5 = "All{Crit_0 Includes State_0x2, Crit_1 IsNot 1}" 65c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.rule_error_nbr = 5 66c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 67c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def tearDown(self): 68c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero self.pfw.sendCmd("setTuningMode", "off") 69c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 70c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_ClearRule_Errors(self): 71c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 72c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing configuration creation error 73c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ------------------------------------ 74c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 75c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 76c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Clearing rule on a non-existent configuration 77c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Clearing rule on a non-existent domain 78c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Clearing rule with wrong parameters order 79c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 80c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 81c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [clearRule] function 82c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setRule] function 83c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getRule] function 84c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createDomain] function 85c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createConfiguration] function 86c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [deleteDomain] function 87c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 88c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 89c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - all errors are detected 90c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - no rule is deleted 91c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 92c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_ClearRule_Errors.__doc__) 93c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain creation for testing purpose 94c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New domain creation for testing purpose : %s" % (self.domain_name)) 95c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain]") 96c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createDomain",self.domain_name, "") 97c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 98c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createDomain] - Error while creating domain %s" % (self.domain_name) 99c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain] correctly executed") 100c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s created" % (self.domain_name)) 101c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 102c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New configurations creation for testing purpose 103c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_1,self.domain_name)) 104c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 105c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_1) 106c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 107c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_1) 108c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 109c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_1,self.domain_name)) 110c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_2,self.domain_name)) 111c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 112c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_2) 113c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 114c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_2) 115c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 116c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_2,self.domain_name)) 117c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 118c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Applying rules to configurations 119c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying rules to configurations %s and %s from domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 120c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 121c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_1,self.rule_1) 122c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_1) 123c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_1) 124c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 125c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_1)) 126c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_2,self.rule_2) 127c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_2) 128c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_2) 129c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 130c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_2)) 131c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 132c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Clearing rule errors 133c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Clearing a rule on domain %s to a non-existent configuration" % (self.domain_name)) 134c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [clearRule]") 1359368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("clearRule",self.domain_name,"Wrong_Config_Name", expectSuccess=False) 136c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [clearRule] - Error while clearing rule on domain %s to a non-existent configuration" % (self.domain_name) 137c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [clearRule] - Error not detected while clearing rule on domain %s to a non-existent configuration" % (self.domain_name) 138c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when clearing a rule to a non-existent configuration") 139c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Clearing a rule on a non-existent domain") 140c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [clearRule]") 1419368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("clearRule","Wrong_Domain_Name",self.conf_2, expectSuccess=False) 142c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [clearRule] - Error while clearing rule on a non-existent domain" 143c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [clearRule] - Error not detected while clearing rule on a non-existent domain" 144c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected while clearing rule on a non-existent domain") 145c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Clearing a rule with wrong parameters order") 146c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [clearRule]") 1479368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("clearRule",self.conf_1,self.domain_name, expectSuccess=False) 148c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [clearRule] - Error when clearing a rule with incorrect paramaters order" 149c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [clearRule] - Error not detected when clearing a rule with incorrect paramaters order" 150c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when clearing a rule with incorrect paramaters order on domain %s and configuration %s" % (self.domain_name,self.conf_1)) 151c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 152c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Checking that no rule has been cleared 153c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_1) 154c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == self.rule_1, "FAIL : command [clearRule] - clearRule error has affected configuration %s" % (self.conf_1) 155c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_2) 156c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == self.rule_2, "FAIL : command [clearRule] - clearRule error has affected configuration %s" % (self.conf_2) 157c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [ClearRule] correctly executed, no impact due to clearing errors") 158c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("no rule removed from configurations %s and %s on domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 159c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 160c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain deletion 161c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deletion" % (self.domain_name)) 162c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain]") 163c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("deleteDomain",self.domain_name, "") 164c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 165c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [deleteDomain] - Error while delting domain %s" % (self.domain_name) 166c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain] correctly executed") 167c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deleted" % (self.domain_name)) 168c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 169c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_SetRule_Errors(self): 170c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 171c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing setRule errors 172c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ---------------------- 173c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 174c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 175c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Setting rule on a non-existent configuration 176c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Setting rule on a non-existent domain 177c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Setting various incorrect format rules 178c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 179c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 180c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setRule] function 181c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getRule] function 182c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createDomain] function 183c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createConfiguration] function 184c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [deleteDomain] function 185c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 186c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 187c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - all errors are detected 188c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - no new rule is created 189c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 190c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_SetRule_Errors.__doc__) 191c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain creation for testing purpose 192c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New domain creation for testing purpose : %s" % (self.domain_name)) 193c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain]") 194c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createDomain",self.domain_name, "") 195c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 196c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createDomain] - Error while creating domain %s" % (self.domain_name) 197c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain] correctly executed") 198c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s created" % (self.domain_name)) 199c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 200c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New configuration creation for testing purpose 201c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_1,self.domain_name)) 202c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 203c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_1) 204c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 205c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_1) 206c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 207c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_1,self.domain_name)) 208c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 209c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # setRule :basic error cases 210c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying a new rule on domain %s to a non-existent configuration" % (self.domain_name)) 211c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 2129368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("setRule",self.domain_name,"Wrong_Config_Name",self.rule_1, expectSuccess=False) 213c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule on domain %s to a non-existent configuration" % (self.domain_name) 214c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [setRule] - Error not detected while setting rule on domain %s to a non-existent configuration" % (self.domain_name) 215c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when creating a rule to a non-existent configuration") 216c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying a new rule on a non-existent domain") 217c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 2189368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("setRule","Wrong_Domain_Name",self.conf_1,self.rule_1, expectSuccess=False) 219c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule on a non-existent domain" 220c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [setRule] - Error not detected while setting rule on a non-existent domain" 221c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected while setting rule on a non-existent domain") 222c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying a new rule with incorrect format") 223c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 2249368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_1,"Wrong_Rule_Format", expectSuccess=False) 225c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error when setting incorrect format rule" 226c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [setRule] - Error not detected when setting incorrect format rule" 227c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when setting incorrect format rule on domain %s and configuration %s" % (self.domain_name,self.conf_1)) 228c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 229c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # setRule : various rules errors 230c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Various rules errors setting :") 231c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero for index in range (self.rule_error_nbr): 232c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Rule error number %s" % (str(index))) 233c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero rule_name = "".join(["self.rule_error_", "_", str(index)]) 2349368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_1, rule_name, expectSuccess=False) 235c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error when setting incorrect format rule %s" % (str(rule_name)) 236c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [setRule] - Error not detected when setting incorrect format rule %s" % (str(rule_name)) 237c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when setting incorrect format rule on domain %s and configuration %s" % (self.domain_name,self.conf_1)) 238c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 239c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero #Checking that no rule has been created 240c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_1) 241c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "<none>", "FAIL : command [setRule] - setRule not working for configuration %s" % (self.conf_1) 242c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed, no impact due to setting errors") 243c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("no rule added to configurations %s on domain %s" % (self.conf_1,self.domain_name)) 244c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 245c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain deletion 246c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deletion" % (self.domain_name)) 247c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain]") 248c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("deleteDomain",self.domain_name, "") 249c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 250c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [deleteDomain] - Error while delting domain %s" % (self.domain_name) 251c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain] correctly executed") 252c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deleted" % (self.domain_name)) 253c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 254c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_GetRule_Errors(self): 255c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 256c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing getRule errors 257c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ---------------------- 258c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 259c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 260c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Getting rule on a non-existent configuration 261c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Getting rule on a non-existent domain 262c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Getting rule with wrong parameters order 263c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 264c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 265c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getRule] function 266c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setRule] function 267c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [clearRule] function 268c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createDomain] function 269c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createConfiguration] function 270c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [deleteDomain] function 271c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 272c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 273c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - all errors are detected 274c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 275c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_GetRule_Errors.__doc__) 276c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain creation for testing purpose 277c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New domain creation for testing purpose : %s" % (self.domain_name)) 278c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain]") 279c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createDomain",self.domain_name, "") 280c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 281c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createDomain] - Error while creating domain %s" % (self.domain_name) 282c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain] correctly executed") 283c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s created" % (self.domain_name)) 284c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 285c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New configurations creation for testing purpose 286c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_1,self.domain_name)) 287c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 288c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_1) 289c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 290c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_1) 291c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 292c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_1,self.domain_name)) 293c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_2,self.domain_name)) 294c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 295c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_2) 296c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 297c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_2) 298c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 299c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_2,self.domain_name)) 300c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 301c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Applying rules to configurations 302c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying rules to configurations %s and %s from domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 303c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 304c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_1,self.rule_1) 305c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_1) 306c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_1) 307c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 308c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_1)) 309c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_2,self.rule_2) 310c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_2) 311c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_2) 312c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 313c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_2)) 314c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 315c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Getting rule errors 316c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Getting a rule on domain %s from a non-existent configuration" % (self.domain_name)) 317c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule]") 3189368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("getRule",self.domain_name,"Wrong_Config_Name", expectSuccess=False) 319c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [getRule] - Error when getting rule on domain %s from a non-existent configuration" % (self.domain_name) 320c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [getRule] - Error not detected while getting rule on domain %s from a non-existent configuration" % (self.domain_name) 321c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when getting a rule from a non-existent configuration") 322c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("getting a rule from a non-existent domain") 323c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule]") 3249368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("getRule","Wrong_Domain_Name",self.conf_2, expectSuccess=False) 325c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [getRule] - Error when getting rule from a non-existent domain" 326c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [getRule] - Error not detected while getting rule from a non-existent domain" 327c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when getting rule from a non-existent domain") 328c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("getting a rule with wrong parameters order") 329c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule]") 3309368eea42a1afb01dd44110582f997115b50e742François Gaffie out, err = self.pfw.sendCmd("getRule",self.conf_1,self.domain_name, expectSuccess=False) 331c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [getRule] - Error when getting a rule with incorrect paramaters order" 332c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out != "Done", "ERROR : command [getRule] - Error not detected when getting a rule with incorrect paramaters order" 333c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("error correctly detected when getting a rule with incorrect paramaters order on domain %s and configuration %s" % (self.domain_name,self.conf_1)) 334c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 335c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain deletion 336c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deletion" % (self.domain_name)) 337c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain]") 338c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("deleteDomain",self.domain_name, "") 339c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 340c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [deleteDomain] - Error while delting domain %s" % (self.domain_name) 341c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain] correctly executed") 342c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deleted" % (self.domain_name)) 343c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 344c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero def test_Nominal_Case(self): 345c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 346c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Testing nominal case 347c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero -------------------- 348c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Test case description : 349c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~~~~~~~ 350c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - setting rules for configurations 351c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - getting rules from configurations 352c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - Clear created rules 353c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Tested commands : 354c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 355c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [getRule] function 356c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [setRule] function 357c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [clearRule] function 358c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createDomain] function 359c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [createConfiguration] function 360c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [deleteConfiguration] function 361c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - [deleteDomain] function 362c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero Expected result : 363c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero ~~~~~~~~~~~~~~~~~ 364c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero - all operations succeed 365c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero """ 366c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.D(self.test_Nominal_Case.__doc__) 367c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain creation for testing purpose 368c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New domain creation for testing purpose : %s" % (self.domain_name)) 369c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain]") 370c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createDomain",self.domain_name, "") 371c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 372c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createDomain] - Error while creating domain %s" % (self.domain_name) 373c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createDomain] correctly executed") 374c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s created" % (self.domain_name)) 375c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 376c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New configurations creation for testing purpose 377c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_1,self.domain_name)) 378c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 379c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_1) 380c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 381c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_1) 382c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 383c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_1,self.domain_name)) 384c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("New configuration %s creation for domain %s for testing purpose" % (self.conf_2,self.domain_name)) 385c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration]") 386c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("createConfiguration",self.domain_name,self.conf_2) 387c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 388c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [createConfiguration] - Error while creating configuration %s" % (self.conf_2) 389c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [createConfiguration] correctly executed") 390c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Configuration %s created for domain %s" % (self.conf_2,self.domain_name)) 391c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 392c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Applying rules to configurations 393c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Applying rules to configurations %s and %s from domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 394c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule]") 395c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_1,self.rule_1) 396c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_1) 397c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_1) 398c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 399c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_1)) 400c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("setRule",self.domain_name,self.conf_2,self.rule_2) 401c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [setRule] - Error while setting rule for configurations %s" % (self.conf_2) 402c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [setRule] - Error while setting rule for configuration %s" % (self.conf_2) 403c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [setRule] correctly executed") 404c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly created for configuration %s" % (self.conf_2)) 405c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 406c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Checking rules recovered 407c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Recovering rules for configurations %s and %s from domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 408c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule]") 409c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_1) 410c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [getRule] - Error while setting rule to configurations %s" % (self.conf_1) 411c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == str(self.rule_1), "FAIL : command [getRule] - Error while recovering rule from configuration %s, incorrect value" % (self.conf_1) 412c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule] correctly executed") 413c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly recovered from configuration %s" % (self.conf_1)) 414c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_2) 415c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [getRule] - Error while setting rule to configurations %s" % (self.conf_2) 416c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == str(self.rule_2), "FAIL : command [getRule] - Error while recovering rule from configuration %s, incorrect value" % (self.conf_2) 417c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [getRule] correctly executed") 418c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("rule correctly recovered from configuration %s" % (self.conf_2)) 419c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 420c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # Clearing rules 421c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Clear rules for configurations %s and %s from domain %s" % (self.conf_1,self.conf_2,self.domain_name)) 422c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [clearRule]") 423c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("clearRule",self.domain_name,self.conf_1) 424c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [clearRule] - Error on clearRule for configuration %s" % (self.conf_1) 425c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [clearRule] - Error on clearRule for configuration %s" % (self.conf_1) 426c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_1) 427c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "<none>", "ERROR : command [clearRule] - ClearRule not working for configuration %s" % (self.conf_1) 428c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("clearRule",self.domain_name,self.conf_2) 429c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [clearRule] - Error on clearRule for configuration %s" % (self.conf_2) 430c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", "FAIL : command [clearRule] - Error on clearRule for configuration %s" % (self.conf_2) 431c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("getRule",self.domain_name,self.conf_2) 432c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "<none>", "ERROR : command [clearRule] - ClearRule not working for configuration %s" % (self.conf_2) 433c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [clearRule] correctly executed") 434c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("ClearRule effective for configurations %s and %s" % (self.conf_1,self.conf_2)) 435c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero 436c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero # New domain deletion 437c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deletion" % (self.domain_name)) 438c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain]") 439c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero out, err = self.pfw.sendCmd("deleteDomain",self.domain_name, "") 440c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert out == "Done", out 441c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero assert err == None, "ERROR : command [deleteDomain] - Error while delting domain %s" % (self.domain_name) 442c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("command [deleteDomain] correctly executed") 443c4cc78f87e10cd3ac61f936b1c2ee3d11e9b9d02Jules Clero log.I("Domain %s deleted" % (self.domain_name)) 444