summaryrefslogtreecommitdiffstats
path: root/test/functional-tests/PfwTestCase/Domains/tDomain_rename.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional-tests/PfwTestCase/Domains/tDomain_rename.py')
-rw-r--r--test/functional-tests/PfwTestCase/Domains/tDomain_rename.py337
1 files changed, 337 insertions, 0 deletions
diff --git a/test/functional-tests/PfwTestCase/Domains/tDomain_rename.py b/test/functional-tests/PfwTestCase/Domains/tDomain_rename.py
new file mode 100644
index 0000000..81d4539
--- /dev/null
+++ b/test/functional-tests/PfwTestCase/Domains/tDomain_rename.py
@@ -0,0 +1,337 @@
+# -*-coding:utf-8 -*
+
+# Copyright (c) 2011-2015, Intel Corporation
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without modification,
+# are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation and/or
+# other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its contributors
+# may be used to endorse or promote products derived from this software without
+# specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+"""
+Renaming domains testcases
+
+List of tested functions :
+--------------------------
+ - [renameDomain] function
+
+Test cases :
+------------
+ - Nominal cases
+ - Renaming errors
+ - Special cases
+"""
+import os
+from Util.PfwUnitTestLib import PfwTestCase
+from Util import ACTLogging
+log=ACTLogging.Logger()
+
+# Test of Domains - Rename
+class TestCases(PfwTestCase):
+ def setUp(self):
+ self.pfw.sendCmd("setTuningMode", "on")
+ self.domain_name = "domain_white"
+ self.new_domain_name = "domain_black"
+ self.renaming_iterations = 5
+
+ def tearDown(self):
+ self.pfw.sendCmd("setTuningMode", "off")
+
+ def test_Nominal_Case(self):
+ """
+ Nominal case
+ ------------
+ Test case description :
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ - Renaming a domain
+ Tested commands :
+ ~~~~~~~~~~~~~~~~~
+ - [renameDomain] function
+ - [createDomain] function
+ - [listDomains] function
+ Expected result :
+ ~~~~~~~~~~~~~~~~~
+ - domains correctly renamed
+ """
+ log.D(self.test_Nominal_Case.__doc__)
+ # New domain creation
+ log.I("New domain creation : %s" % (self.domain_name))
+ log.I("command [createDomain]" )
+ out, err = self.pfw.sendCmd("createDomain",self.domain_name, "")
+ assert out == "Done", out
+ assert err == None, "ERROR : command [createDomain] - ERROR while creating domain %s" % (self.domain_name)
+ log.I("command [createDomain] correctly executed")
+ log.I("Domain %s created" % (self.domain_name))
+
+ # Initial domains listing using "listDomains" command
+ log.I("Creating a domains listing backup")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "INFO : command [listDomains] - ERROR while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving initial domains names
+ f_init_domains = open("f_init_domains", "w")
+ f_init_domains.write(out)
+ f_init_domains.close()
+ log.I("Domains listing backup created")
+
+ # Checking domains number
+ f_init_domains = open("f_init_domains", "r")
+ domains_nbr = 0
+ line=f_init_domains.readline()
+ while line!="":
+ line=f_init_domains.readline()
+ domains_nbr+=1
+ f_init_domains.close()
+ os.remove("f_init_domains")
+ log.I("%s domains names saved" % domains_nbr)
+
+ # Domain renaming iterations
+ log.I("Checking domain renaming - %s iterations" % self.renaming_iterations)
+ old_name = self.domain_name
+ new_name = self.new_domain_name
+ for iteration in range (self.renaming_iterations):
+ log.I("Iteration %s" % (iteration))
+ log.I("Renaming domain %s to %s" % (old_name,new_name))
+ log.I("command [renameDomain]")
+ out, err = self.pfw.sendCmd("renameDomain",old_name,new_name)
+ assert out == "Done", out
+ assert err == None, "ERROR : command [renameDomain] - ERROR while renaming domain %s" % (old_name)
+ # Domains listing using "listDomains" command
+ log.I("Creating a domains listing")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "ERROR : command [listDomains] - ERROR while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving domains names
+ f_domains = open("f_domains", "w")
+ f_domains.write(out)
+ f_domains.close()
+ log.I("Domains listing created")
+ # Checking renaming
+ log.I("Checking that renaming is correct in domains listing")
+ f_domains = open("f_domains", "r")
+ for line in range(domains_nbr):
+ if (line >= (domains_nbr - 1)):
+ domain_renamed = f_domains.readline().strip('\n')
+ assert domain_renamed==new_name, "ERROR : Error while renaming domain %s" % (old_name)
+ else:
+ f_domains.readline()
+ f_domains.close()
+ log.I("New domain name %s conform to expected value" % (new_name))
+ temp = old_name
+ old_name = new_name
+ new_name = temp
+ os.remove("f_domains")
+
+ def test_Renaming_Error(self):
+ """
+ Renaming errors
+ ---------------
+ Test case description :
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ - renaming a non existent domain
+ - renaming a domain with an already existent domain name
+ Tested commands :
+ ~~~~~~~~~~~~~~~~~
+ - [renameDomain] function
+ - [createDomain] function
+ - [renameDomain] function
+ Expected result :
+ ~~~~~~~~~~~~~~~~~
+ - error detected
+ - domains names remain unchanged
+ """
+ log.D(self.test_Renaming_Error.__doc__)
+ # New domains creation
+ log.I("New domain creation : %s" % (self.domain_name))
+ log.I("command [createDomain]")
+ out, err = self.pfw.sendCmd("createDomain",self.domain_name, "")
+ assert out == "Done", out
+ assert err == None, "ERROR : command [createDomain] - Error while creating domain %s" % (self.domain_name)
+ log.I("command [createDomain] - correctly executed")
+ log.I("command Domain %s created" % (self.domain_name))
+
+ # Initial domains listing using "listDomains" command
+ log.I("Creating a domains listing backup")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "INFO : command [listDomains] - Error while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving initial domains names
+ f_init_domains = open("f_init_domains", "w")
+ f_init_domains.write(out)
+ f_init_domains.close()
+ log.I("Domains listing backup created")
+
+ # Checking domains number
+ f_init_domains = open("f_init_domains", "r")
+ domains_nbr = 0
+ line=f_init_domains.readline()
+ while line!="":
+ line=f_init_domains.readline()
+ domains_nbr+=1
+ f_init_domains.close()
+ log.I("%s domains names saved" % domains_nbr)
+
+ # Domain renaming error : renamed domain does not exist
+ log.I("Renaming a non existent domain")
+ log.I("Renaming domain FAKE to NEW_NAME")
+ log.I("command [renameDomain]")
+ out, err = self.pfw.sendCmd("renameDomain",'FAKE','NEW_NAME')
+ assert out != "Done", out
+ assert err == None, "ERROR : command [renameDomain] - Error while renaming domain"
+ log.I("command [renameDomain] - renaming error correctly detected")
+ # Domains listing using "listDomains" command
+ log.I("Creating a domains listing")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "ERROR : command [listDomains] - Error while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving domains names
+ f_domains = open("f_domains", "w")
+ f_domains.write(out)
+ f_domains.close()
+ log.I("Domains listing created")
+ # Checking domains names integrity
+ log.I("Checking domains names integrity")
+ f_domains = open("f_domains", "r")
+ f_init_domains = open("f_init_domains", "r")
+ for line in range(domains_nbr):
+ domain_name = f_domains.readline().strip('\n')
+ domain_backup_name = f_init_domains.readline().strip('\n')
+ assert domain_name==domain_backup_name, "ERROR : Domain name %s affected by the renaming error" % (domain_backup_name)
+ f_domains.close()
+ f_init_domains.close()
+ log.I("Domains names not affected by the renaming error")
+ os.remove("f_domains")
+
+ # Domain renaming error : renaming a domain with an already existent domain name
+ log.I("renaming a domain with an already existent domain name")
+ log.I("Renaming domain %s to %s" % (self.domain_name,self.new_domain_name) )
+ log.I("command [renameDomain]")
+ out, err = self.pfw.sendCmd("renameDomain",self.domain_name,self.new_domain_name)
+ assert out != "Done", out
+ assert err == None, "INFO : command [renameDomain] - Error while renaming domain"
+ log.I("command [renameDomain] - renaming error correctly detected")
+ # Domains listing using "listDomains" command
+ log.I("Creating a domains listing")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "ERROR : command [listDomains] - Error while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving domains names
+ f_domains = open("f_domains", "w")
+ f_domains.write(out)
+ f_domains.close()
+ log.I("Domains listing created")
+ # Checking domains names integrity
+ log.I("Checking domains names integrity")
+ f_domains = open("f_domains", "r")
+ f_init_domains = open("f_init_domains", "r")
+ for line in range(domains_nbr):
+ domain_name = f_domains.readline().strip('\n')
+ domain_backup_name = f_init_domains.readline().strip('\n')
+ assert domain_name==domain_backup_name, "ERROR : domain name %s affected by the renaming error" % (domain_backup_name)
+ f_domains.close()
+ f_init_domains.close()
+ log.I("Domains names not affected by the renaming error")
+ os.remove("f_domains")
+ os.remove("f_init_domains")
+
+ def test_Special_Cases(self):
+ """
+ Special cases
+ -------------
+ Test case description :
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ - renaming a domain with its own name
+ Tested commands :
+ ~~~~~~~~~~~~~~~~~
+ - [renameDomain] function
+ - [createDomain] function
+ - [listDomains] function
+ Expected result :
+ ~~~~~~~~~~~~~~~~~
+ - no error
+ - domains names remain unchanged
+ """
+ log.D(self.test_Special_Cases.__doc__)
+ # New domain creation
+ # Already created in previous test
+
+ # Initial domains listing using "listDomains" command
+ log.I("Creating a domains listing backup")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "ERROR : command [listDomains] - Error while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving initial domains names
+ f_init_domains = open("f_init_domains", "w")
+ f_init_domains.write(out)
+ f_init_domains.close()
+ log.I("Domains listing backup created")
+
+ # Checking domains number
+ f_init_domains = open("f_init_domains", "r")
+ domains_nbr = 0
+ line=f_init_domains.readline()
+ while line!="":
+ line=f_init_domains.readline()
+ domains_nbr+=1
+ f_init_domains.close()
+ log.I("%s domains names saved" % domains_nbr)
+
+ # Domain renaming error : renaming a domain with its own name
+ log.I("renaming a domain with its own name")
+ log.I("Renaming domain %s to %s" % (self.domain_name,self.domain_name))
+ log.I("command [renameDomain]")
+ out, err = self.pfw.sendCmd("renameDomain",self.domain_name,self.domain_name)
+ assert out == "Done", out
+ assert err == None, "ERROR : command [renameDomain] - Error while renaming domain"
+ log.I("command [renameDomain] correctly executed")
+ # Domains listing using "listDomains" command
+ log.I("Creating a domains listing")
+ log.I("command [listDomains]")
+ out, err = self.pfw.sendCmd("listDomains","","")
+ assert err == None, "ERROR : command [listDomains] - Error while listing domains"
+ log.I("command [listDomains] correctly executed")
+ # Saving domains names
+ f_domains = open("f_domains", "w")
+ f_domains.write(out)
+ f_domains.close()
+ log.I("Domains listing created")
+ # Checking domains names integrity
+ log.I("Checking domains names integrity")
+ f_domains = open("f_domains", "r")
+ f_init_domains = open("f_init_domains", "r")
+ for line in range(domains_nbr):
+ domain_name = f_domains.readline().strip('\n')
+ domain_backup_name = f_init_domains.readline().strip('\n')
+ assert domain_name==domain_backup_name, "ERROR : domain name %s affected by the renaming" % (domain_backup_name)
+ f_domains.close()
+ f_init_domains.close()
+ log.I("Domains names not affected by the renaming")
+
+ os.remove("f_domains")
+ os.remove("f_init_domains")