diff -r be27ed110b50 -r d8ac696cc51f buildframework/helium/tools/common/python/lib/test/test_configuration_model.py --- a/buildframework/helium/tools/common/python/lib/test/test_configuration_model.py Wed Oct 28 14:39:48 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -#============================================================================ -#Name : test_configuration_model.py -#Part of : Helium - -#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -#All rights reserved. -#This component and the accompanying materials are made available -#under the terms of the License "Eclipse Public License v1.0" -#which accompanies this distribution, and is available -#at the URL "http://www.eclipse.org/legal/epl-v10.html". -# -#Initial Contributors: -#Nokia Corporation - initial contribution. -# -#Contributors: -# -#Description: -#=============================================================================== - -import logging -import os -import sys -import unittest -import nose - -import configuration -import configuration_model - - -logger = logging.getLogger('test.configuration_model') -#logging.basicConfig(level=logging.DEBUG) - -class GroupDefTest(unittest.TestCase): - """ Check config model groups are correctly defined. """ - - def setUp(self): - """ Create model. """ - self.model = configuration_model.DataModel('tests/data/data_model_test.xml') - - def test_init_model(self): - """ Test groups can be created. """ - assert len(self.model.properties.keys()) == 3 - assert len(self.model.groups.keys()) == 1 - - prop1 = self.model.properties['test.property.1'] - assert prop1.description == 'Test property one.' - - prop2 = self.model.properties['test.property.2'] - assert prop2.description == 'Test property two.' - - assert self.model.groups['testGroup'] != None - - def test_property_not_in_model(self): - """ Property not in model is identified. """ - data = {'missing.property': 'foobar', 'test.property.1': '1'} - config = configuration.Configuration(data) - items = self.model.validate_config(config) - - assert len(items) == 2 - assert isinstance(items[0], configuration_model.MissingFromDataModelItem) - - def test_required_property_in_group_not_defined(self): - """ Required property in a group missing from config is identified. """ - config = configuration.Configuration({'test.property.1': '1', 'test.property.3': '3'}) - items = self.model.validate_config(config) - - assert len(items) == 1 - assert isinstance(items[0], configuration_model.UndefinedRequiredInGroupItem) - - -class MissingFromDataModelItemTest(unittest.TestCase): - """ Item class operations. """ - def test_create(self): - """ Basic validation item usage. """ - item = configuration_model.MissingFromDataModelItem('test.property') - assert str(item) == 'Property not in data model: test.property' - item.log(logger) - - -class DataModelTest(unittest.TestCase): - """ Checks Data Model is properly defined """ - - def setUp(self): - """ Create model. """ - self.model = configuration_model.DataModel('tests/data/data_model_validation_test.xml') - - def test_init_model(self): - """ Test groups can be created. """ - assert len(self.model.properties.keys()) == 3 - assert len(self.model.groups.keys()) == 1 - - prop1 = self.model.properties['test.property.1'] - assert prop1.type == 'string' - assert prop1.description == 'Test property one.' - - prop2 = self.model.properties['test.property.2'] - assert prop2.type == 'string' - assert prop2.description == 'Test property two.' - - assert self.model.groups['testGroup'] != None - - -class DataModelPropertyTest(unittest.TestCase): - """ Checks Data Model that an exception is thrown if properties are not properly defined """ - - @nose.tools.raises(Exception) - def setUp(self): - """ Create model. """ - self.model = configuration_model.DataModel('tests/data/data_model_validation__property_test.xml') - - -class DataModelGroupTest(unittest.TestCase): - """ Checks Data Model that an exception is thrown if there is a required property in groups is missing""" - - @nose.tools.raises(Exception) - def setUp(self): - """ Create model. """ - self.model = configuration_model.DataModel('tests/data/data_model_validation_group_test.xml') - - \ No newline at end of file