#!/usr/share/ucs-test/runner python
## desc: Check squid redirecor written to gonfig file
## tags: apttest
## exposure: safe
## bugs: [32429]
## packages: [univention-squid]

import univention.testing.utils as utils
import univention.testing.ucr as ucr_test

def get_lines_containing(filename, string):
	with open(filename) as input_file:
		return [line for line in input_file if string in line]

def main():
	SQUID_CONFIG = '/etc/squid3/squid.conf'
	SQUID_GUARD_CONFIG = '/etc/squidguard/squidGuard.conf'
	SQUID_GUARD_PATH = '/usr/bin/squidGuard'

	with ucr_test.UCSTestConfigRegistry() as ucr:
		redirector = ucr.get('squid/redirect')
		config_lines = get_lines_containing(SQUID_CONFIG, 'url_rewrite_program')
		config_line = ''
		if config_lines:
			# in config file the first line setting the redirector is activated
			config_line = config_lines[0]
			if redirector == 'squidguard':
				config_written = ('url_rewrite_program %s -c %s' % (SQUID_GUARD_PATH, SQUID_GUARD_CONFIG) == config_line)
			elif redirector is not None:
				config_written = ('url_rewrite_program %s' % (redirector) == config_line)
			else:
				utils.fail('Squid config incorrectly written:\nRedirector = %s, config line = %s' % (redirector, config_line))
		else:
			if redirector:
				utils.fail('Squid config incorrectly written:\nRedirector = %s, config line = %s' % (redirector, config_line))


if __name__ == '__main__':
	main()
