def test_success_one_parameter(self): ''' Success case: - Exercise parse_provides_params() and generate_provides() with valid input - With only one parameter which is unavailable ''' # Establish valid test data: src = '|unavailable_dogs|' print '\nTest Name: test_success_one_parameter()' print 'Test input:\n' + src print 'Expect: parse_provides_params() success' expected_params_list = ['unavailable_dogs'] # Exersise code segment params_list = parse_provides_params(src) provides = generate_provides(src) print 'src: ' + str(src) print 'params_list: ' + str(params_list) print 'provides: ' + str(provides) # Validate results self.assertEqual(params_list, expected_params_list) # The values are not validatable because they are unpredictable # but all the expected parameters should be returned. # Note: %7C is the encoded |, %26 is the encoded & for param in expected_params_list: self.assertTrue('%7C' + str(param) in provides) # Confirm unavailable parameters return an empty string. self.assertTrue('%7C' + 'unavailable_dogs' + '%26%7C' in provides)
def test_success_parameters(self): ''' Success case: - Exercise parse_provides_params() and generate_provides() with valid input ''' # Establish valid test data: src = '|operatingsystem&is_virtual|' print '\nTest Name: test_success_parameters()' print 'Test input:\n' + src print 'Expect: parse_provides_params() success' expected_params_list = ['operatingsystem', 'is_virtual'] # Exersise code segment params_list = parse_provides_params(src) provides = generate_provides(src) print 'src: ' + str(src) print 'params_list: ' + str(params_list) print 'provides: ' + str(provides) print 'len(provides): ' + str(len(provides)) # Validate results self.assertEqual(params_list, expected_params_list) # The values are not validatable because they are unpredictable # but all the expected parameters should be returned. # Note: %7C is the encoded |, %26 is the encoded & self.assertTrue('audrey_data=%7Coperatingsystem' in provides) for param in expected_params_list: self.assertTrue('%7C' + str(param) in provides)
def test_failure_missing_delimiter(self): ''' Failure case: - Exercise parse_provides_params() and generate_provides() with invalid input - missing leading delimiter ''' # Establish valid test data: src = 'unavailable_dogs|' print '\nTest Name: test_failure_missing_delimiter()' print 'Test input:\n' + src print 'Expect: parse_require_config() ASError' expected_params_list = ['unavailable_dogs'] # Exersise code segment and validate results with self.assertRaises(ASError): params_list = parse_provides_params(src) with self.assertRaises(ASError): provides = generate_provides(src)