class TestFunctions(TestCase): def setUp(self): conf_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf.ini') dist_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf-dist.ini') self.conf = Conf(conf_file,dist_file) def tearDown(self): del self.conf def test_init_no_file(self): primary_conf = path.join('/etc/galicaster','conf.ini') secondary_conf = path.abspath(path.join(path.dirname(__file__), '..', 'conf.ini')) primary_dist = path.join('/usr/share/galicaster/', 'conf-dist.ini') secondary_dist = path.abspath(path.join(path.dirname(__file__), '..', 'conf-dist.ini')) # Conf loads default conf and conf-dist conf = Conf() self.assertEqual( primary_conf if path.isfile(primary_conf) else secondary_conf, conf.conf_file) self.assertEqual( primary_dist if path.isfile(primary_dist) else secondary_dist, conf.conf_dist_file) def test_init_no_dist_file(self): conf_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf.ini') primary_dist = path.join('/usr/share/galicaster/', 'conf-dist.ini') secondary_dist = path.abspath(path.join(path.dirname(__file__), '..', 'conf-dist.ini')) #conf load custom conf and default dist conf = Conf(conf_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual( primary_dist if path.isfile(primary_dist) else secondary_dist, conf.conf_dist_file) def test_init_all_files(self): conf_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf.ini') conf_dist_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf-dist.ini') conf = Conf(conf_file, conf_dist_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual(conf_dist_file, conf.conf_dist_file) def test_get_and_set(self): # GET data in conf-dist self.assertEqual('full', self.conf.get('ingest', 'workflow')) # GET data in conf self.assertEqual('track1', self.conf.get('track1', 'name')) # GET data in conf (and conf-dist) self.assertEqual('presentation', self.conf.get('screen', 'left')) # SET self.conf.set('section', 'key', 'value') self.assertEqual('value', self.conf.get('section', 'key')) def test_reload(self): self.conf.set('basic', 'temp', 'temporal') self.assertEqual('temporal', self.conf.get('basic', 'temp')) self.conf.reload() self.assertEqual('/tmp/repo', self.conf.get('basic', 'temp')) def test_get_tracks_in_mh_dict(self): conf = self.conf.get_tracks_in_mh_dict() self.assertEqual(len(conf), 3*3 +1) self.assertEqual(conf['capture.device.names'], 'track1,track3,track2') self.assertEqual(conf['capture.device.track2.outputfile'], 'SCREEN.mpeg') self.assertEqual(conf['capture.device.track2.src'], '/dev/null') def test_profile_with_no_profiles_in_files(self): conf_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf.ini') conf_dist_file = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'conf_dist.ini') profiles_dir = path.join(path.dirname(path.abspath(__file__)), 'resources', 'conf', 'profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) self.assertEqual(len(conf.get_profiles()), 1) def test_init_track(self): track = Track() self.assertEqual(track.name, None) self.assertEqual(track.device, None) self.assertEqual(track.flavor, None) self.assertEqual(track.location, None) self.assertEqual(track.file, None) self.assertEqual(len(track), 5) track.name = 'v_name' track.device = 'v_device' track.flavor = 'v_flavor' track.location = 'v_location' track.file = 'v_file' self.assertEqual(track.name, 'v_name') self.assertEqual(track.device, 'v_device') self.assertEqual(track.flavor, 'v_flavor') self.assertEqual(track.location, 'v_location') self.assertEqual(track.file, 'v_file') self.assertEqual(track['name'], 'v_name') self.assertEqual(track['device'], 'v_device') self.assertEqual(track['flavor'], 'v_flavor') self.assertEqual(track['location'], 'v_location') self.assertEqual(track['file'], 'v_file') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), ['v_name', 'v_device', 'v_flavor', 'v_location', 'v_file']) self.assertEqual(track.basic(), {'name': 'v_name', 'device': 'v_device', 'flavor': 'v_flavor', 'location': 'v_location', 'file': 'v_file'}) self.assertEqual(track.options(), {}) def test_add_and_del_value_in_track(self): track = Track() track['new_key'] = 'new_value' self.assertEqual(len(track), 6) self.assertEqual(track['new_key'], 'new_value') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file', 'new_key']) self.assertEqual(track.values(), [None, None, None, None, None, 'new_value']) self.assertEqual(track.basic(), {'name': None, 'device': None, 'flavor': None, 'location': None, 'file': None}) self.assertEqual(track.options(), {'new_key': 'new_value'}) del track['new_key'] self.assertEqual(len(track), 5) self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), [None, None, None, None, None]) self.assertEqual(track.basic(), {'name': None, 'device': None, 'flavor': None, 'location': None, 'file': None}) self.assertEqual(track.options(), {}) def test_init_profile(self): profile = Profile() self.assertEqual(profile.name, 'New Profile') profile = Profile('test') self.assertEqual(profile.name, 'test') def test_add_track_to_profile(self): profile = Profile() self.assertEqual(0, len(profile.tracks)) t1 = profile.new_track({}) self.assertEqual(1, len(profile.tracks)) t2 = Track() profile.add_track(t2) self.assertEqual(2, len(profile.tracks)) profile.remove_track(t2) self.assertEqual(1, len(profile.tracks)) def test_get_boolean_int_lower(self): conf = Conf() for yes in ['True', 'true', 'yes', 'si', 'y', 'OK', 'Y', 'TRUE']: conf.set('s', 'k', yes) self.assertTrue(conf.get_boolean('s', 'k'), 'Check if {0} is True'.format(yes)) for no in ['None', 'not', 'False', 'no', 'n']: conf.set('s', 'k', no) self.assertFalse(conf.get_boolean('s', 'k'), 'Check if {0} is False'.format(no)) for lower in ['RUBENRUA', 'RubenRua', 'RubenruA', 'rubenrua']: conf.set('s', 'k', lower) self.assertEqual(conf.get_lower('s', 'k'), 'rubenrua') self.assertEqual(conf.get_lower('s', 'k_not_exists'), None) conf.set('s', 'k', '10') self.assertEqual(conf.get_int('s', 'k'), 10) def test_track_property(self): track = Track() track.name = 'name' self.assertEqual(track.name, 'name') self.assertEqual(track['name'], 'name') def test_get_hostname(self): conf = Conf() conf.set('config', 'ingest', None) conf.set('basic', 'admin', 'True') self.assertEqual('GCMobile-' + socket.gethostname(), conf.get_hostname()) self.assertEqual(1, len(conf.get_tracks_in_mh_dict())) self.assertEqual({'capture.device.names': 'defaults'}, conf.get_tracks_in_mh_dict()) conf.set('basic', 'admin', 'False') self.assertEqual('GC-' + socket.gethostname(), conf.get_hostname())
class TestFunctions(TestCase): def setUp(self): self.conf_file = get_resource('conf/conf.ini') self.backup_conf_file = get_resource('conf/conf.backup.ini') dist_file = get_resource('conf/conf-dist.ini') shutil.copyfile(self.conf_file, self.backup_conf_file) self.conf = Conf(self.conf_file, dist_file) self.conf.reload() def tearDown(self): shutil.copyfile(self.backup_conf_file, self.conf_file) os.remove(self.backup_conf_file) del self.conf def touch(self, fname, times=None): with open(fname, 'a'): os.utime(fname, times) def test_init_no_file(self): primary_conf = os.path.join('/etc/galicaster', 'conf.ini') secondary_conf = os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..', 'conf.ini')) secondary_dist = os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..', 'conf-dist.ini')) # Conf loads default conf and conf-dist conf = Conf(conf_dist_file=secondary_dist) self.assertEqual( primary_conf if os.path.isfile(primary_conf) else secondary_conf, conf.conf_file) self.assertEqual(secondary_dist, conf.conf_dist_file) def test_init_all_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf-dist.ini') conf = Conf(conf_file, conf_dist_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual(conf_dist_file, conf.conf_dist_file) def test_invalid_ini(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() old_conf = self.conf.get_all() content = '' with open(get_resource('conf/conf.ini'), 'r') as content_file: content = content_file.read() # Override conf file f = open(get_resource('conf/conf.ini'), 'w') f.write('testing wrong config file') f.close() conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() new_conf = self.conf.get_all() self.assertEqual(old_conf, new_conf) # Override conf file f = open(get_resource('conf/conf.ini'), 'w') f.write(content) f.close() def test_active_tag_default_profile(self): conf_file = get_resource('conf/conf_active.ini') backup_conf_active = get_resource('conf/conf_active.backup.ini') dist_file = get_resource('conf/conf-dist.ini') shutil.copyfile(conf_file, backup_conf_active) conf = Conf(conf_file, dist_file) conf.reload() profile = conf.get_current_profile() self.assertEqual(1, len(profile.tracks)) shutil.copyfile(backup_conf_active, conf_file) os.remove(backup_conf_active) def test_profile_with_no_profiles_in_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() self.assertEqual(len(conf.get_profiles()), 1) def test_get_and_set(self): # GET data in conf-dist self.assertEqual('full', self.conf.get('ingest', 'workflow')) # GET data in conf self.assertEqual('track1', self.conf.get('track1', 'name')) # SET self.conf.set('section', 'key', 'value') self.assertEqual('value', self.conf.get('section', 'key')) def test_get_all(self): full = self.conf.get_all() user_conf = self.conf.get_all(False) print(len(full)) print(len(user_conf)) self.assertTrue(len(full) > len(user_conf)) def test_reload(self): self.conf.set('basic', 'temp', 'temporary') self.assertEqual('temporary', self.conf.get('basic', 'temp')) self.conf.set('basic', 'temp', 'newtemporary') self.assertEqual('newtemporary', self.conf.get('basic', 'temp')) self.conf.remove_option('basic', 'temp') self.assertEqual(None, self.conf.get('basic', 'temp')) self.conf.reload() self.assertEqual('newtemporary', self.conf.get('basic', 'temp')) def test_get_tracks_in_oc_dict(self): conf = self.conf.get_tracks_in_oc_dict() self.assertEqual(len(conf), 3 * 3 + 1) self.assertEqual(conf['capture.device.names'], 'track1,track3,track2') self.assertEqual(conf['capture.device.track2.outputfile'], 'SCREEN.mpeg') self.assertEqual(conf['capture.device.track2.src'], '/dev/null') def test_init_track(self): track = Track() self.assertEqual(track.name, '') self.assertEqual(track.device, '') self.assertEqual(track.flavor, '') self.assertEqual(track.location, '') self.assertEqual(track.file, '') self.assertEqual(len(track), 5) track.name = 'v_name' track.device = 'v_device' track.flavor = 'v_flavor' track.location = 'v_location' track.file = 'v_file' self.assertEqual(track.name, 'v_name') self.assertEqual(track.device, 'v_device') self.assertEqual(track.flavor, 'v_flavor') self.assertEqual(track.location, 'v_location') self.assertEqual(track.file, 'v_file') self.assertEqual(track['name'], 'v_name') self.assertEqual(track['device'], 'v_device') self.assertEqual(track['flavor'], 'v_flavor') self.assertEqual(track['location'], 'v_location') self.assertEqual(track['file'], 'v_file') self.assertEqual(list(track.keys()), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual( list(track.values()), ['v_name', 'v_device', 'v_flavor', 'v_location', 'v_file']) self.assertEqual( track.basic(), { 'name': 'v_name', 'device': 'v_device', 'flavor': 'v_flavor', 'location': 'v_location', 'file': 'v_file' }) self.assertEqual(track.options(), {}) def test_add_and_del_value_in_track(self): track = Track() track['new_key'] = 'new_value' self.assertEqual(len(track), 6) self.assertEqual(track['new_key'], 'new_value') self.assertEqual( list(track.keys()), ['name', 'device', 'flavor', 'location', 'file', 'new_key']) self.assertEqual(list(track.values()), ['', '', '', '', '', 'new_value']) self.assertEqual(track.basic(), { 'name': '', 'device': '', 'flavor': '', 'location': '', 'file': '' }) self.assertEqual(track.options(), {'new_key': 'new_value'}) del track['new_key'] self.assertEqual(len(track), 5) self.assertEqual(list(track.keys()), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(list(track.values()), ['', '', '', '', '']) self.assertEqual(track.basic(), { 'name': '', 'device': '', 'flavor': '', 'location': '', 'file': '' }) self.assertEqual(track.options(), {}) def test_init_profile(self): profile = Profile() self.assertEqual(profile.name, 'New Profile') profile = Profile('test') self.assertEqual(profile.name, 'test') def test_add_track_to_profile(self): profile = Profile() self.assertEqual(0, len(profile.tracks)) t1 = profile.new_track({}) self.assertEqual(1, len(profile.tracks)) t2 = Track() profile.add_track(t2) self.assertEqual(2, len(profile.tracks)) profile.remove_track(t2) self.assertEqual(1, len(profile.tracks)) def test_get_boolean(self): for yes in ['True', 'true', 'yes', 'si', 'y', 'OK', 'Y', 'TRUE']: self.conf.set('s', 'k', yes) self.assertTrue(self.conf.get_boolean('s', 'k'), 'Check if {0} is True'.format(yes)) for no in ['None', 'not', 'False', 'no', 'n']: self.conf.set('s', 'k', no) self.assertFalse(self.conf.get_boolean('s', 'k'), 'Check if {0} is False'.format(no)) self.conf.set('s', 'k', "0") self.assertFalse(self.conf.get_boolean('s', 'k', False)) def test_get_lower(self): for lower in ['RUBENRUA', 'RubenRua', 'RubenruA', 'rubenrua']: self.conf.set('s', 'k', lower) self.assertEqual(self.conf.get_lower('s', 'k'), 'rubenrua') self.assertEqual(self.conf.get_lower('s', 'k_not_exists', None), None) self.conf.set('s', 'k', 'TEST') self.assertEqual(self.conf.get_lower('s', 'k'), 'test') #self.conf.set('s', 'k2', "1234") #self.assertEqual(self.conf.get_lower('s', 'k2', 'testing'), 'testing') def test_get_int(self): self.conf.set('s', 'k', '10') self.assertEqual(self.conf.get_int('s', 'k'), 10) # self.conf.set('s', 'k2', 'test') # self.assertEqual(self.conf.get_int('s', 'k2', 20), 20) def test_get_hour(self): self.conf.set('s', 'k', '12:34') self.assertEqual(self.conf.get_hour('s', 'k'), '12:34') self.conf.set('s', 'k2', 'test') self.assertEqual(self.conf.get_hour('s', 'k2', '11:11'), '11:11') def test_get_list(self): self.assertEqual(self.conf.get_list('s', 'k'), []) self.conf.set('s', 'k', '1 2 3 4 5 6') self.assertEqual(self.conf.get_list('s', 'k'), ['1', '2', '3', '4', '5', '6']) self.conf.set('s', 'k', 'one two three') self.assertEqual(self.conf.get_list('s', 'k'), ['one', 'two', 'three']) def test_get_choice(self): self.assertEqual(self.conf.get_choice('s', 'k', ['1', '2', '3'], '2'), '2') self.conf.set('s', 'k', '1') self.assertEqual(self.conf.get_choice('s', 'k', ['1', '2', '3']), '1') self.conf.set('s', 'k', 'TEST') self.assertEqual( self.conf.get_choice('s', 'k', ['1', '2', '3', 'test']), 'test') def test_get_choice_uppercase(self): self.assertEqual( self.conf.get_choice_uppercase('s', 'k', ['1', '2', '3'], '2'), '2') self.conf.set('s', 'k', '1') self.assertEqual( self.conf.get_choice_uppercase('s', 'k', ['1', '2', '3']), '1') self.conf.set('s', 'k', 'test') self.assertEqual( self.conf.get_choice_uppercase('s', 'k', ['1', '2', '3', 'TEST']), 'TEST') def test_get_dict(self): self.assertEqual(self.conf.get_dict('s', 'k'), {}) self.conf.set('s', 'k', 'k1:v1;k2:v2;k3:v3') self.assertEqual(self.conf.get_dict('s', 'k'), { 'k1': 'v1', 'k2': 'v2', 'k3': 'v3' }) def test_get_json(self): self.assertEqual(self.conf.get_json('s', 'k'), {}) self.conf.set('s', 'k', '{"a":{"a1":"value1", "a2":"value2"},"b": "value3"}') self.assertEqual(self.conf.get_json('s', 'k'), { "a": { "a1": "value1", "a2": "value2" }, "b": "value3" }) def test_track_property(self): track = Track() track.name = 'name' self.assertEqual(track.name, 'name') self.assertEqual(track['name'], 'name') def test_get_hostname(self): conf = Conf(self.conf_file) conf.set('config', 'ingest', "") conf.set('basic', 'admin', 'True') conf.set('ingest', 'hostname', "") self.assertEqual('GCMobile-' + socket.gethostname(), conf.get_hostname()) self.assertEqual(1, len(conf.get_tracks_in_oc_dict())) self.assertEqual({'capture.device.names': 'defaults'}, conf.get_tracks_in_oc_dict()) conf.set('basic', 'admin', 'False') conf.set('ingest', 'hostname', "") self.assertEqual('GC-' + socket.gethostname(), conf.get_hostname()) name = "123456_654321" conf.set('ingest', 'hostname', name) self.assertEqual(name, conf.get_hostname()) a = conf.remove_option('ingest', 'hostname') def test_get_ip_address(self): valid = True try: addr = self.conf.get_ip_address() socket.inet_aton(addr) except socket.error: valid = False self.assertTrue(valid) def test_set_section(self): self.assertEqual(self.conf.set_section(None, {}), False) self.assertEqual(self.conf.set_section('k', { "a": "1", "b": "2" }), True) def test_get_section(self): self.assertEqual(self.conf.set_section('k', { "a": "1", "b": "2" }), True) self.assertEqual(self.conf.get_section('k'), {"a": "1", "b": "2"}) self.assertEqual(self.conf.get_section('kkkkkk'), {}) def test_get_user_section(self): self.assertEqual(self.conf.set_section('k', { "a": "1", "b": "2" }), True) self.assertEqual(self.conf.get_user_section('k'), {"a": "1", "b": "2"}) self.assertEqual(self.conf.get_user_section('kkkkkk'), {}) @skip("conf changed") def test_get_sections(self): self.conf.remove_sections() self.assertEqual(self.conf.get_sections(), ['basic']) self.assertEqual(self.conf.get_user_sections(), []) def test_get_modules(self): self.assertEqual(self.conf.get_modules(), ['recorder', 'scheduler']) self.conf.set('basic', 'admin', 'True') self.assertEqual(self.conf.get_modules(), ['recorder', 'scheduler', 'media_manager', 'player']) self.conf.set('ingest', 'active', 'True') self.assertEqual( self.conf.get_modules(), ['recorder', 'scheduler', 'media_manager', 'player', 'ocservice']) def test_get_color_style(self): self.assertEqual(self.conf.get_color_style(), False) self.conf.set('color', 'classic', 'True') self.assertTrue(self.conf.get_color_style()) def test_get_free_profile(self): profile_name = self.conf.get_free_profile() self.assertEqual(profile_name, self.conf.get_free_profile()) self.touch(profile_name) self.assertNotEqual(profile_name, self.conf.get_free_profile()) os.remove(profile_name) def test_get_palette(self): self.conf.set('color', 'none', "") self.conf.set('color', 'nightly', "") self.conf.set('color', 'pending', "") self.conf.set('color', 'processing', "") self.conf.set('color', 'done', "") self.conf.set('color', 'failed', "") self.assertEqual(self.conf.get_palette(), ["", "", "", "", "", ""]) self.conf.set('color', 'none', "#FFFFF0") self.conf.set('color', 'nightly', "#FFFFF1") self.conf.set('color', 'pending', "#FFFFF2") self.conf.set('color', 'processing', "#FFFFF3") self.conf.set('color', 'done', "#FFFFF4") self.conf.set('color', 'failed', "#FFFFF5") self.assertEqual( self.conf.get_palette(), ["#FFFFF0", "#FFFFF1", "#FFFFF2", "#FFFFF3", "#FFFFF4", "#FFFFF5"]) def test_export_to_file(self): p_name = list(self.conf.get_profiles().keys())[0] p = self.conf.get_profiles()[p_name] p.path = "/tmp/test_profile1.ini" p.export_to_file() self.assertTrue(os.path.exists(p.path)) os.remove(p.path)
class TestFunctions(TestCase): def setUp(self): conf_file = get_resource('conf/conf.ini') dist_file = get_resource('conf/conf-dist.ini') self.conf = Conf(conf_file,dist_file) def tearDown(self): del self.conf def test_init_no_file(self): primary_conf = path.join('/etc/galicaster','conf.ini') secondary_conf = path.abspath(path.join(path.dirname(__file__), '..', '..', 'conf.ini')) secondary_dist = path.abspath(path.join(path.dirname(__file__), '..', '..', 'conf-dist.ini')) # Conf loads default conf and conf-dist conf = Conf(conf_dist_file=secondary_dist) self.assertEqual( primary_conf if path.isfile(primary_conf) else secondary_conf, conf.conf_file) self.assertEqual( secondary_dist, conf.conf_dist_file) def test_init_all_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf-dist.ini') conf = Conf(conf_file, conf_dist_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual(conf_dist_file, conf.conf_dist_file) def test_get_and_set(self): # GET data in conf-dist self.assertEqual('full', self.conf.get('ingest', 'workflow')) # GET data in conf self.assertEqual('track1', self.conf.get('track1', 'name')) # SET self.conf.set('section', 'key', 'value') self.assertEqual('value', self.conf.get('section', 'key')) def test_reload(self): self.conf.set('basic', 'temp', 'temporal') self.assertEqual('temporal', self.conf.get('basic', 'temp')) self.conf.reload() self.assertEqual('/tmp/repo', self.conf.get('basic', 'temp')) def test_get_tracks_in_mh_dict(self): conf = self.conf.get_tracks_in_mh_dict() self.assertEqual(len(conf), 3*3 +1) self.assertEqual(conf['capture.device.names'], 'track1,track3,track2') self.assertEqual(conf['capture.device.track2.outputfile'], 'SCREEN.mpeg') self.assertEqual(conf['capture.device.track2.src'], '/dev/null') def test_profile_with_no_profiles_in_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) self.assertEqual(len(conf.get_profiles()), 1) def test_init_track(self): track = Track() self.assertEqual(track.name, None) self.assertEqual(track.device, None) self.assertEqual(track.flavor, None) self.assertEqual(track.location, None) self.assertEqual(track.file, None) self.assertEqual(len(track), 5) track.name = 'v_name' track.device = 'v_device' track.flavor = 'v_flavor' track.location = 'v_location' track.file = 'v_file' self.assertEqual(track.name, 'v_name') self.assertEqual(track.device, 'v_device') self.assertEqual(track.flavor, 'v_flavor') self.assertEqual(track.location, 'v_location') self.assertEqual(track.file, 'v_file') self.assertEqual(track['name'], 'v_name') self.assertEqual(track['device'], 'v_device') self.assertEqual(track['flavor'], 'v_flavor') self.assertEqual(track['location'], 'v_location') self.assertEqual(track['file'], 'v_file') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), ['v_name', 'v_device', 'v_flavor', 'v_location', 'v_file']) self.assertEqual(track.basic(), {'name': 'v_name', 'device': 'v_device', 'flavor': 'v_flavor', 'location': 'v_location', 'file': 'v_file'}) self.assertEqual(track.options(), {}) def test_add_and_del_value_in_track(self): track = Track() track['new_key'] = 'new_value' self.assertEqual(len(track), 6) self.assertEqual(track['new_key'], 'new_value') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file', 'new_key']) self.assertEqual(track.values(), [None, None, None, None, None, 'new_value']) self.assertEqual(track.basic(), {'name': None, 'device': None, 'flavor': None, 'location': None, 'file': None}) self.assertEqual(track.options(), {'new_key': 'new_value'}) del track['new_key'] self.assertEqual(len(track), 5) self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), [None, None, None, None, None]) self.assertEqual(track.basic(), {'name': None, 'device': None, 'flavor': None, 'location': None, 'file': None}) self.assertEqual(track.options(), {}) def test_init_profile(self): profile = Profile() self.assertEqual(profile.name, 'New Profile') profile = Profile('test') self.assertEqual(profile.name, 'test') def test_add_track_to_profile(self): profile = Profile() self.assertEqual(0, len(profile.tracks)) t1 = profile.new_track({}) self.assertEqual(1, len(profile.tracks)) t2 = Track() profile.add_track(t2) self.assertEqual(2, len(profile.tracks)) profile.remove_track(t2) self.assertEqual(1, len(profile.tracks)) def test_get_boolean(self): conf = Conf() for yes in ['True', 'true', 'yes', 'si', 'y', 'OK', 'Y', 'TRUE']: conf.set('s', 'k', yes) self.assertTrue(conf.get_boolean('s', 'k'), 'Check if {0} is True'.format(yes)) for no in ['None', 'not', 'False', 'no', 'n']: conf.set('s', 'k', no) self.assertFalse(conf.get_boolean('s', 'k'), 'Check if {0} is False'.format(no)) def test_get_lower(self): conf = Conf() for lower in ['RUBENRUA', 'RubenRua', 'RubenruA', 'rubenrua']: conf.set('s', 'k', lower) self.assertEqual(conf.get_lower('s', 'k'), 'rubenrua') self.assertEqual(conf.get_lower('s', 'k_not_exists'), None) def test_get_int(self): conf = Conf() conf.set('s', 'k', '10') self.assertEqual(conf.get_int('s', 'k'), 10) def test_get_list(self): conf = Conf() self.assertEqual(conf.get_list('s', 'k'), []) conf.set('s', 'k', '1 2 3 4 5 6') self.assertEqual(conf.get_list('s', 'k'), ['1', '2', '3', '4', '5', '6']) conf.set('s', 'k', 'one two three') self.assertEqual(conf.get_list('s', 'k'), ['one', 'two', 'three']) def test_get_dict(self): conf = Conf() self.assertEqual(conf.get_dict('s', 'k'), {}) conf.set('s', 'k', 'k1:v1;k2:v2;k3:v3') self.assertEqual(conf.get_dict('s', 'k'), {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}) def test_track_property(self): track = Track() track.name = 'name' self.assertEqual(track.name, 'name') self.assertEqual(track['name'], 'name') def test_get_hostname(self): conf = Conf() conf.set('config', 'ingest', None) conf.set('basic', 'admin', 'True') self.assertEqual('GCMobile-' + socket.gethostname(), conf.get_hostname()) self.assertEqual(1, len(conf.get_tracks_in_mh_dict())) self.assertEqual({'capture.device.names': 'defaults'}, conf.get_tracks_in_mh_dict()) conf.set('basic', 'admin', 'False') self.assertEqual('GC-' + socket.gethostname(), conf.get_hostname()) def test_active_tag_default_profile(self): conf_file = get_resource('conf/conf_active.ini') dist_file = get_resource('conf/conf-dist.ini') conf = Conf(conf_file, dist_file) profile = conf.get_current_profile() self.assertEqual(1, len(profile.tracks))
class TestFunctions(TestCase): def setUp(self): conf_file = get_resource("conf/conf.ini") dist_file = get_resource("conf/conf-dist.ini") self.conf = Conf(conf_file, dist_file) def tearDown(self): del self.conf def test_init_no_file(self): primary_conf = path.join("/etc/galicaster", "conf.ini") secondary_conf = path.abspath(path.join(path.dirname(__file__), "..", "..", "conf.ini")) secondary_dist = path.abspath(path.join(path.dirname(__file__), "..", "..", "conf-dist.ini")) # Conf loads default conf and conf-dist conf = Conf(conf_dist_file=secondary_dist) self.assertEqual(primary_conf if path.isfile(primary_conf) else secondary_conf, conf.conf_file) self.assertEqual(secondary_dist, conf.conf_dist_file) def test_init_all_files(self): conf_file = get_resource("conf/conf.ini") conf_dist_file = get_resource("conf/conf-dist.ini") conf = Conf(conf_file, conf_dist_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual(conf_dist_file, conf.conf_dist_file) def test_get_and_set(self): # GET data in conf-dist self.assertEqual("full", self.conf.get("ingest", "workflow")) # GET data in conf self.assertEqual("track1", self.conf.get("track1", "name")) # SET self.conf.set("section", "key", "value") self.assertEqual("value", self.conf.get("section", "key")) def test_reload(self): self.conf.set("basic", "temp", "temporal") self.assertEqual("temporal", self.conf.get("basic", "temp")) self.conf.reload() self.assertEqual("/tmp/repo", self.conf.get("basic", "temp")) def test_get_tracks_in_oc_dict(self): conf = self.conf.get_tracks_in_oc_dict() self.assertEqual(len(conf), 3 * 3 + 1) self.assertEqual(conf["capture.device.names"], "track1,track3,track2") self.assertEqual(conf["capture.device.track2.outputfile"], "SCREEN.mpeg") self.assertEqual(conf["capture.device.track2.src"], "/dev/null") def test_profile_with_no_profiles_in_files(self): conf_file = get_resource("conf/conf.ini") conf_dist_file = get_resource("conf/conf_dist.ini") profiles_dir = get_resource("conf/profiles") conf = Conf(conf_file, conf_dist_file, profiles_dir) self.assertEqual(len(conf.get_profiles()), 1) def test_init_track(self): track = Track() self.assertEqual(track.name, None) self.assertEqual(track.device, None) self.assertEqual(track.flavor, None) self.assertEqual(track.location, None) self.assertEqual(track.file, None) self.assertEqual(len(track), 5) track.name = "v_name" track.device = "v_device" track.flavor = "v_flavor" track.location = "v_location" track.file = "v_file" self.assertEqual(track.name, "v_name") self.assertEqual(track.device, "v_device") self.assertEqual(track.flavor, "v_flavor") self.assertEqual(track.location, "v_location") self.assertEqual(track.file, "v_file") self.assertEqual(track["name"], "v_name") self.assertEqual(track["device"], "v_device") self.assertEqual(track["flavor"], "v_flavor") self.assertEqual(track["location"], "v_location") self.assertEqual(track["file"], "v_file") self.assertEqual(track.keys(), ["name", "device", "flavor", "location", "file"]) self.assertEqual(track.values(), ["v_name", "v_device", "v_flavor", "v_location", "v_file"]) self.assertEqual( track.basic(), {"name": "v_name", "device": "v_device", "flavor": "v_flavor", "location": "v_location", "file": "v_file"}, ) self.assertEqual(track.options(), {}) def test_add_and_del_value_in_track(self): track = Track() track["new_key"] = "new_value" self.assertEqual(len(track), 6) self.assertEqual(track["new_key"], "new_value") self.assertEqual(track.keys(), ["name", "device", "flavor", "location", "file", "new_key"]) self.assertEqual(track.values(), [None, None, None, None, None, "new_value"]) self.assertEqual(track.basic(), {"name": None, "device": None, "flavor": None, "location": None, "file": None}) self.assertEqual(track.options(), {"new_key": "new_value"}) del track["new_key"] self.assertEqual(len(track), 5) self.assertEqual(track.keys(), ["name", "device", "flavor", "location", "file"]) self.assertEqual(track.values(), [None, None, None, None, None]) self.assertEqual(track.basic(), {"name": None, "device": None, "flavor": None, "location": None, "file": None}) self.assertEqual(track.options(), {}) def test_init_profile(self): profile = Profile() self.assertEqual(profile.name, "New Profile") profile = Profile("test") self.assertEqual(profile.name, "test") def test_add_track_to_profile(self): profile = Profile() self.assertEqual(0, len(profile.tracks)) t1 = profile.new_track({}) self.assertEqual(1, len(profile.tracks)) t2 = Track() profile.add_track(t2) self.assertEqual(2, len(profile.tracks)) profile.remove_track(t2) self.assertEqual(1, len(profile.tracks)) def test_get_boolean(self): conf = Conf() for yes in ["True", "true", "yes", "si", "y", "OK", "Y", "TRUE"]: conf.set("s", "k", yes) self.assertTrue(conf.get_boolean("s", "k"), "Check if {0} is True".format(yes)) for no in ["None", "not", "False", "no", "n"]: conf.set("s", "k", no) self.assertFalse(conf.get_boolean("s", "k"), "Check if {0} is False".format(no)) def test_get_lower(self): conf = Conf() for lower in ["RUBENRUA", "RubenRua", "RubenruA", "rubenrua"]: conf.set("s", "k", lower) self.assertEqual(conf.get_lower("s", "k"), "rubenrua") self.assertEqual(conf.get_lower("s", "k_not_exists"), None) def test_get_int(self): conf = Conf() conf.set("s", "k", "10") self.assertEqual(conf.get_int("s", "k"), 10) def test_get_list(self): conf = Conf() self.assertEqual(conf.get_list("s", "k"), []) conf.set("s", "k", "1 2 3 4 5 6") self.assertEqual(conf.get_list("s", "k"), ["1", "2", "3", "4", "5", "6"]) conf.set("s", "k", "one two three") self.assertEqual(conf.get_list("s", "k"), ["one", "two", "three"]) def test_get_dict(self): conf = Conf() self.assertEqual(conf.get_dict("s", "k"), {}) conf.set("s", "k", "k1:v1;k2:v2;k3:v3") self.assertEqual(conf.get_dict("s", "k"), {"k1": "v1", "k2": "v2", "k3": "v3"}) def test_track_property(self): track = Track() track.name = "name" self.assertEqual(track.name, "name") self.assertEqual(track["name"], "name") def test_get_hostname(self): conf = Conf() conf.set("config", "ingest", None) conf.set("basic", "admin", "True") conf.set("ingest", "hostname", None) self.assertEqual("GCMobile-" + socket.gethostname(), conf.get_hostname()) self.assertEqual(1, len(conf.get_tracks_in_oc_dict())) self.assertEqual({"capture.device.names": "defaults"}, conf.get_tracks_in_oc_dict()) conf.set("basic", "admin", "False") self.assertEqual("GC-" + socket.gethostname(), conf.get_hostname()) name = "123456_654321" conf.set("ingest", "hostname", name) self.assertEqual(name, conf.get_hostname()) def test_active_tag_default_profile(self): conf_file = get_resource("conf/conf_active.ini") dist_file = get_resource("conf/conf-dist.ini") conf = Conf(conf_file, dist_file) profile = conf.get_current_profile() self.assertEqual(1, len(profile.tracks))
class TestFunctions(TestCase): def setUp(self): self.conf_file = get_resource('conf/conf.ini') self.backup_conf_file =get_resource('conf/conf.backup.ini') dist_file = get_resource('conf/conf-dist.ini') shutil.copyfile(self.conf_file,self.backup_conf_file) self.conf = Conf(self.conf_file,dist_file) self.conf.reload() def tearDown(self): shutil.copyfile(self.backup_conf_file,self.conf_file) os.remove(self.backup_conf_file) del self.conf def touch(self, fname, times=None): with open(fname, 'a'): os.utime(fname, times) def test_init_no_file(self): primary_conf = os.path.join('/etc/galicaster','conf.ini') secondary_conf = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'conf.ini')) secondary_dist = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'conf-dist.ini')) # Conf loads default conf and conf-dist conf = Conf(conf_dist_file=secondary_dist) self.assertEqual( primary_conf if os.path.isfile(primary_conf) else secondary_conf, conf.conf_file) self.assertEqual( secondary_dist, conf.conf_dist_file) def test_init_all_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf-dist.ini') conf = Conf(conf_file, conf_dist_file) self.assertEqual(conf_file, conf.conf_file) self.assertEqual(conf_dist_file, conf.conf_dist_file) def test_invalid_ini(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() old_conf = self.conf.get_all() content = '' with open(get_resource('conf/conf.ini'), 'r') as content_file: content = content_file.read() # Override conf file f = open(get_resource('conf/conf.ini'),'w') f.write('testing wrong config file') f.close() conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() new_conf = self.conf.get_all() self.assertEqual(old_conf, new_conf) # Override conf file f = open(get_resource('conf/conf.ini'),'w') f.write(content) f.close() def test_active_tag_default_profile(self): conf_file = get_resource('conf/conf_active.ini') backup_conf_active = get_resource('conf/conf_active.backup.ini') dist_file = get_resource('conf/conf-dist.ini') shutil.copyfile(conf_file, backup_conf_active) conf = Conf(conf_file, dist_file) conf.reload() profile = conf.get_current_profile() self.assertEqual(1, len(profile.tracks)) shutil.copyfile(backup_conf_active, conf_file) os.remove(backup_conf_active) def test_profile_with_no_profiles_in_files(self): conf_file = get_resource('conf/conf.ini') conf_dist_file = get_resource('conf/conf_dist.ini') profiles_dir = get_resource('conf/profiles') conf = Conf(conf_file, conf_dist_file, profiles_dir) conf.reload() self.assertEqual(len(conf.get_profiles()), 1) def test_get_and_set(self): # GET data in conf-dist self.assertEqual('full', self.conf.get('ingest', 'workflow')) # GET data in conf self.assertEqual('track1', self.conf.get('track1', 'name')) # SET self.conf.set('section', 'key', 'value') self.assertEqual('value', self.conf.get('section', 'key')) def test_get_all(self): full = self.conf.get_all() user_conf = self.conf.get_all(False) self.assertTrue(len(full) > len(user_conf)) def test_reload(self): self.conf.set('basic', 'temp', 'temporary') self.assertEqual('temporary', self.conf.get('basic', 'temp')) self.conf.set('basic', 'temp', 'newtemporary') self.assertEqual('newtemporary', self.conf.get('basic', 'temp')) self.conf.remove_option('basic', 'temp') self.assertEqual(None, self.conf.get('basic', 'temp')) self.conf.reload() self.assertEqual('newtemporary', self.conf.get('basic', 'temp')) def test_get_tracks_in_oc_dict(self): conf = self.conf.get_tracks_in_oc_dict() self.assertEqual(len(conf), 3*3 +1) self.assertEqual(conf['capture.device.names'], 'track1,track3,track2') self.assertEqual(conf['capture.device.track2.outputfile'], 'SCREEN.mpeg') self.assertEqual(conf['capture.device.track2.src'], '/dev/null') def test_init_track(self): track = Track() self.assertEqual(track.name, '') self.assertEqual(track.device, '') self.assertEqual(track.flavor, '') self.assertEqual(track.location, '') self.assertEqual(track.file, '') self.assertEqual(len(track), 5) track.name = 'v_name' track.device = 'v_device' track.flavor = 'v_flavor' track.location = 'v_location' track.file = 'v_file' self.assertEqual(track.name, 'v_name') self.assertEqual(track.device, 'v_device') self.assertEqual(track.flavor, 'v_flavor') self.assertEqual(track.location, 'v_location') self.assertEqual(track.file, 'v_file') self.assertEqual(track['name'], 'v_name') self.assertEqual(track['device'], 'v_device') self.assertEqual(track['flavor'], 'v_flavor') self.assertEqual(track['location'], 'v_location') self.assertEqual(track['file'], 'v_file') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), ['v_name', 'v_device', 'v_flavor', 'v_location', 'v_file']) self.assertEqual(track.basic(), {'name': 'v_name', 'device': 'v_device', 'flavor': 'v_flavor', 'location': 'v_location', 'file': 'v_file'}) self.assertEqual(track.options(), {}) def test_add_and_del_value_in_track(self): track = Track() track['new_key'] = 'new_value' self.assertEqual(len(track), 6) self.assertEqual(track['new_key'], 'new_value') self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file', 'new_key']) self.assertEqual(track.values(), ['', '', '', '', '', 'new_value']) self.assertEqual(track.basic(), {'name': '', 'device': '', 'flavor': '', 'location': '', 'file': ''}) self.assertEqual(track.options(), {'new_key': 'new_value'}) del track['new_key'] self.assertEqual(len(track), 5) self.assertEqual(track.keys(), ['name', 'device', 'flavor', 'location', 'file']) self.assertEqual(track.values(), ['', '', '', '', '']) self.assertEqual(track.basic(), {'name': '', 'device': '', 'flavor': '', 'location': '', 'file': ''}) self.assertEqual(track.options(), {}) def test_init_profile(self): profile = Profile() self.assertEqual(profile.name, 'New Profile') profile = Profile('test') self.assertEqual(profile.name, 'test') def test_add_track_to_profile(self): profile = Profile() self.assertEqual(0, len(profile.tracks)) t1 = profile.new_track({}) self.assertEqual(1, len(profile.tracks)) t2 = Track() profile.add_track(t2) self.assertEqual(2, len(profile.tracks)) profile.remove_track(t2) self.assertEqual(1, len(profile.tracks)) def test_get_boolean(self): for yes in ['True', 'true', 'yes', 'si', 'y', 'OK', 'Y', 'TRUE']: self.conf.set('s', 'k', yes) self.assertTrue(self.conf.get_boolean('s', 'k'), 'Check if {0} is True'.format(yes)) for no in ['None', 'not', 'False', 'no', 'n']: self.conf.set('s', 'k', no) self.assertFalse(self.conf.get_boolean('s', 'k'), 'Check if {0} is False'.format(no)) self.conf.set('s', 'k', 1) self.assertFalse(self.conf.get_boolean('s', 'k', False)) def test_get_lower(self): for lower in ['RUBENRUA', 'RubenRua', 'RubenruA', 'rubenrua']: self.conf.set('s', 'k', lower) self.assertEqual(self.conf.get_lower('s', 'k'), 'rubenrua') self.assertEqual(self.conf.get_lower('s', 'k_not_exists', None), None) self.conf.set('s', 'k', 'TEST') self.assertEqual(self.conf.get_lower('s', 'k'), 'test') self.conf.set('s', 'k2', 1234) self.assertEqual(self.conf.get_lower('s', 'k2', 'testing'), 'testing') def test_get_int(self): self.conf.set('s', 'k', '10') self.assertEqual(self.conf.get_int('s', 'k'), 10) self.conf.set('s', 'k2', 'test') self.assertEqual(self.conf.get_int('s', 'k2', 20), 20) def test_get_hour(self): self.conf.set('s', 'k', '12:34') self.assertEqual(self.conf.get_hour('s', 'k'), '12:34') self.conf.set('s', 'k2', 'test') self.assertEqual(self.conf.get_hour('s', 'k2', '11:11'), '11:11') def test_get_list(self): self.assertEqual(self.conf.get_list('s', 'k'), []) self.conf.set('s', 'k', '1 2 3 4 5 6') self.assertEqual(self.conf.get_list('s', 'k'), ['1', '2', '3', '4', '5', '6']) self.conf.set('s', 'k', 'one two three') self.assertEqual(self.conf.get_list('s', 'k'), ['one', 'two', 'three']) def test_get_choice(self): self.assertEqual(self.conf.get_choice('s', 'k', ['1','2','3'], '2'), '2') self.conf.set('s', 'k', '1') self.assertEqual(self.conf.get_choice('s', 'k', ['1','2','3']), '1') self.conf.set('s', 'k', 'TEST') self.assertEqual(self.conf.get_choice('s', 'k', ['1','2','3', 'test']), 'test') def test_get_choice_uppercase(self): self.assertEqual(self.conf.get_choice_uppercase('s', 'k', ['1','2','3'], '2'), '2') self.conf.set('s', 'k', '1') self.assertEqual(self.conf.get_choice_uppercase('s', 'k', ['1','2','3']), '1') self.conf.set('s', 'k', 'test') self.assertEqual(self.conf.get_choice_uppercase('s', 'k', ['1','2','3', 'TEST']), 'TEST') def test_get_dict(self): self.assertEqual(self.conf.get_dict('s', 'k'), {}) self.conf.set('s', 'k', 'k1:v1;k2:v2;k3:v3') self.assertEqual(self.conf.get_dict('s', 'k'), {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}) def test_get_json(self): self.assertEqual(self.conf.get_json('s', 'k'), {}) self.conf.set('s', 'k', '{"a":{"a1":"value1", "a2":"value2"},"b": "value3"}') self.assertEqual(self.conf.get_json('s', 'k'), {"a": {"a1": "value1", "a2": "value2"}, "b": "value3"}) def test_track_property(self): track = Track() track.name = 'name' self.assertEqual(track.name, 'name') self.assertEqual(track['name'], 'name') def test_get_hostname(self): conf = Conf(self.conf_file) conf.set('config', 'ingest', None) conf.set('basic', 'admin', 'True') conf.set('ingest', 'hostname', None) self.assertEqual('GCMobile-' + socket.gethostname(), conf.get_hostname()) self.assertEqual(1, len(conf.get_tracks_in_oc_dict())) self.assertEqual({'capture.device.names': 'defaults'}, conf.get_tracks_in_oc_dict()) conf.set('basic', 'admin', 'False') conf.set('ingest', 'hostname', None) self.assertEqual('GC-' + socket.gethostname(), conf.get_hostname()) name = "123456_654321" conf.set('ingest', 'hostname', name) self.assertEqual(name, conf.get_hostname()) a = conf.remove_option('ingest', 'hostname') def test_get_ip_address(self): valid = True try: addr = self.conf.get_ip_address() socket.inet_aton(addr) except socket.error: valid = False self.assertTrue(valid) def test_set_section(self): self.assertEqual(self.conf.set_section(None, {}), False) self.assertEqual(self.conf.set_section('k', {"a": "1", "b" :"2"}), True) def test_get_section(self): self.assertEqual(self.conf.set_section('k', {"a": "1", "b" :"2"}), True) self.assertEqual(self.conf.get_section('k'), {"a": "1", "b" :"2"}) self.assertEqual(self.conf.get_section('kkkkkk'), {}) def test_get_user_section(self): self.assertEqual(self.conf.set_section('k', {"a": "1", "b" :"2"}), True) self.assertEqual(self.conf.get_user_section('k'), {"a": "1", "b" :"2"}) self.assertEqual(self.conf.get_user_section('kkkkkk'), {}) def test_get_sections(self): self.conf.remove_sections() self.assertEqual(self.conf.get_sections(), ['basic']) self.assertEqual(self.conf.get_user_sections(), []) def test_get_modules(self): self.assertEqual(self.conf.get_modules(), ['recorder', 'scheduler']) self.conf.set('basic', 'admin', 'True') self.assertEqual(self.conf.get_modules(), ['recorder', 'scheduler', 'media_manager', 'player']) self.conf.set('ingest', 'active', 'True') self.assertEqual(self.conf.get_modules(), ['recorder', 'scheduler', 'media_manager', 'player', 'ocservice']) def test_get_color_style(self): self.assertEqual(self.conf.get_color_style(), False) self.conf.set('color', 'classic', 'True') self.assertTrue(self.conf.get_color_style()) def test_get_free_profile(self): profile_name = self.conf.get_free_profile() self.assertEqual(profile_name, self.conf.get_free_profile()) self.touch(profile_name) self.assertNotEqual(profile_name, self.conf.get_free_profile()) os.remove(profile_name) def test_get_palette(self): self.conf.set('color', 'none', None) self.conf.set('color','nightly', None) self.conf.set('color','pending', None) self.conf.set('color','processing', None) self.conf.set('color','done', None) self.conf.set('color','failed', None) self.assertEqual(self.conf.get_palette(), [None, None, None, None, None, None]) self.conf.set('color', 'none', "#FFFFF0") self.conf.set('color','nightly', "#FFFFF1") self.conf.set('color','pending', "#FFFFF2") self.conf.set('color','processing', "#FFFFF3") self.conf.set('color','done', "#FFFFF4") self.conf.set('color','failed', "#FFFFF5") self.assertEqual(self.conf.get_palette(), ["#FFFFF0", "#FFFFF1", "#FFFFF2", "#FFFFF3", "#FFFFF4", "#FFFFF5"]) def test_export_to_file(self): p_name = self.conf.get_profiles().keys()[0] p = self.conf.get_profiles()[p_name] p.path = "/tmp/test_profile1.ini" p.export_to_file() self.assertTrue(os.path.exists(p.path)) os.remove(p.path)
class TestFunctions(TestCase): def setUp(self): self.conf_file = get_resource('profile/conf_good.ini') self.backup_conf_file = get_resource('profile/conf_good_backup.ini') conf_dist_file = get_resource('profile/conf-dist.ini') folder_path = get_resource('profile/folder') shutil.copyfile(self.conf_file,self.backup_conf_file) self.conf = Conf(self.conf_file,conf_dist_file, folder_path) self.conf.reload() def tearDown(self): shutil.copyfile(self.backup_conf_file,self.conf_file) os.remove(self.backup_conf_file) del self.conf @skip("out of scope") def test_create_profile(self): profile=Profile("New profile") self.assertEqual(profile.name, "New profile") @skip("out of scope") def test_create_and_add_profile(self): self.setUp() profile=Profile("New") self.conf.add_profile(profile) self.assertEqual("New" in self.conf.get_profiles(),True) @skip("out of scope") def test_write_profile(self): self.setUp() folder_path = path.join(path.dirname(path.abspath(__file__)), 'resources', 'profile', 'folder') profile=Profile("New profile", path.join(folder_path,"profile11.ini")) self.conf.add_profile(profile) self.conf.update_profiles() path.isfile(path.join(folder_path,"profile11.ini")) os.remove(path.join(folder_path,"profile11.ini")) @skip("out of scope") def test_write_profile_default_naming(self): self.setUp() folder_path = path.join(path.dirname(path.abspath(__file__)), 'resources', 'profile', 'folder') profile=Profile("New profile") profile.path=self.conf.get_free_profile() self.conf.add_profile(profile) self.conf.update_profiles() path.isfile(path.join(folder_path,"profile1.ini")) os.remove(path.join(folder_path,"profile1.ini")) @skip("out of scope") def test_delete_profile(self): self.setUp() folder_path = path.join(path.dirname(path.abspath(__file__)), 'resources', 'profile', 'folder') profile=Profile("New") profile.path=self.conf.get_free_profile() self.conf.add_profile(profile) self.conf.update_profiles() profile.to_delete = True self.conf.update_profiles() self.assertEqual(path.isfile(path.join(folder_path,"profile1.ini")),False) #os.remove(path.join(folder_path,"profile1.ini")) return True def change_parameters(): return True def change_properties(): return True def load_default_profile(self): return True def load_default_profile_on_dist(self): return True def see_all_tracks_in_conf(self): return True def look_for_an_unexisting_profile(self): return True def loof_for_an_existing_profile(self): return True def test_change_current_profile(self): self.conf.change_current_profile('test2') self.assertEqual(self.conf.get_current_profile().name, 'test2') self.assertEqual(self.conf.get('basic', 'profile'), 'test2') self.conf.change_current_profile('test') self.assertEqual(self.conf.get('basic', 'profile'), 'test') # Does not exist, so there is no change self.conf.change_current_profile('test9999999') self.assertEqual(self.conf.get('basic', 'profile'), 'test') def delete_current_profile(self): return True def set_default_to_current(self): return True def add_track(): return True def delete_track(): return True def get_video_areas_on_profile(): return True def get_videos_areas_in_order(): return True def get_video_areas_on_pulse_profile(): return True