- Refactor value validator system - cleanup, pep8, documentation, tests and allow multiple validators for each parameter Fixes: rhbz#886603 Change-Id: I1bb3486ed7168bda2855ee877e32423033620ecc
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
 | 
						|
 | 
						|
# Copyright 2013, Red Hat, Inc.
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
						|
# not use this file except in compliance with the License. You may obtain
 | 
						|
# a copy of the License at
 | 
						|
#
 | 
						|
#      http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
						|
# License for the specific language governing permissions and limitations
 | 
						|
# under the License.
 | 
						|
 | 
						|
import os
 | 
						|
from unittest import TestCase
 | 
						|
 | 
						|
from test_base import PackstackTestCaseMixin
 | 
						|
from packstack.modules.ospluginutils import gethostlist, \
 | 
						|
                                            validate_puppet_logfile, \
 | 
						|
                                            PackStackError
 | 
						|
 | 
						|
 | 
						|
class OSPluginUtilsTestCase(PackstackTestCaseMixin, TestCase):
 | 
						|
    def test_gethostlist(self):
 | 
						|
        conf = {"A_HOST": "1.1.1.1", "B_HOSTS": "2.2.2.2,1.1.1.1",
 | 
						|
                "C_HOSTS": "3.3.3.3/vdc"}
 | 
						|
        hosts = gethostlist(conf)
 | 
						|
        hosts.sort()
 | 
						|
        self.assertEquals(['1.1.1.1', '2.2.2.2', '3.3.3.3'], hosts)
 | 
						|
 | 
						|
    def test_validate_puppet_logfile(self):
 | 
						|
        filename = os.path.join(self.tempdir, "puppet.log")
 | 
						|
        fp = open(filename, "w")
 | 
						|
        fp.write("Everything went ok")
 | 
						|
        fp.close()
 | 
						|
 | 
						|
        validate_puppet_logfile(filename)
 | 
						|
 | 
						|
    def test_validate_puppet_logfile_error(self):
 | 
						|
        filename = os.path.join(self.tempdir, "puppet.log")
 | 
						|
        fp = open(filename, "w")
 | 
						|
        fp.write("No matching value for selector param 'Fedora' ...")
 | 
						|
        fp.close()
 | 
						|
 | 
						|
        self.assertRaises(PackStackError, validate_puppet_logfile, filename)
 | 
						|
 | 
						|
    def test_validate_puppet_logfile_okerror(self):
 | 
						|
        filename = os.path.join(self.tempdir, "puppet.log")
 | 
						|
        fp = open(filename, "w")
 | 
						|
        fp.write("err: Could not prefetch database_grant provider 'mysql': "
 | 
						|
                 "Execution of '/usr/bin/mysql --defaults-file=/root/.my.cnf "
 | 
						|
                 "mysql -Be describe user' returned 1: Could not open required"
 | 
						|
                 " defaults file: /root/.my.cnf")
 | 
						|
        fp.close()
 | 
						|
 | 
						|
        validate_puppet_logfile(filename)
 |