Best Python code snippet using autotest_python
mapConf.py
Source:mapConf.py  
...88        configfile = open(self.config_path, 'wb')89        config.write(configfile)90    ## Reads the configuration from a given file91    def read(self):92        def read_config(keyOption, defaultValue, castFunction, section=SECTION_INIT):93            try:94                strValue = config.get(section, keyOption)95                return castFunction(strValue)96            except Exception:97                return defaultValue98        config = ConfigParser.RawConfigParser()99        config.read(self.config_path)100        ## Initial window width, default is 550101        self.init_width = read_config('width', 780, int)102        ## Initial window height, default is 450103        self.init_height = read_config('height', 600, int)104        ## Directory path to the map images, default is "userProfile" folder105        self.init_path = DEFAULT_PATH106        strPath = read_config('path', self.init_path, str)107        if not strPath.strip().lower() in ['none', '']:108            strPath = fileUtils.check_dir(strPath)109            if os.path.isdir(strPath):110                self.init_path = strPath111        ## Repository type - filebased / sqlite3112        self.repository_type = read_config('repository_type', 0, int)113        ## URL with the latest version used for the notification updates.114        self.version_url = read_config('version_url',115            'http://gmapcatcher.googlecode.com/svn/wiki/version.wiki', str)116        ## Whether or not to check for updates, default is True (1)117        self.check_for_updates = read_config('check_for_updates', 1, int)118        ## oneDirPerMap setting, default is False119        self.oneDirPerMap = read_config('oneDirPerMap', 0, int)120        ## Statusbar type, default is STATUS_NONE121        self.statusbar_type = read_config('statusbar_type', STATUS_NONE, int)122        ## save width/height/layer/location at close, default is SAVE_AT_CLOSE123        self.save_at_close = read_config('save_at_close', 1, int)124        ## layer when saved at close125        self.save_layer = read_config('save_layer', LAYER_MAP, int)126        ## location when saved at close127        self.save_hlocation = read_config('save_hlocation', 0, int)128        self.save_vlocation = read_config('save_vlocation', 0, int)129        ## width when saved at close130        self.save_width = read_config('save_width', 780, int)131        ## height when saved at close132        self.save_height = read_config('save_height', 600, int)133        ## The match function to be used in the auto-completion of the entry134        self.match_func = read_config('match_func', ENTRY_SUB_MENU[0], str)135        ## List of map servers to hide136        self.hide_map_servers = read_config('hide_map_servers', '0,3,16,18,19,20', str)137        ## Speed and distance units (default km / km/h)138        self.units = read_config('units', 0, int)139        ## Start offline (default = Yes)140        self.start_offline = read_config('start_offline', 1, int)141        ## limited capabilities (default = No)142        self.limited = read_config('limited', 0, int)143        ## Initial map zoom, default is MAP_MAX_ZOOM_LEVEL-2144        self.init_zoom = read_config('zoom', MAP_MAX_ZOOM_LEVEL - 2, int, SECTION_MAP)145        ## language setting, default is 'en'146        self.language = read_config('language', 'en', str, SECTION_MAP)147        ## Initial map center, default is ((1, 1), (210, 170))148        self.init_center = read_config('center', ((1, 1), (210, 170)), str_to_tuple, SECTION_MAP)149        ## Show a small cross in the center of the map, default is False (0)150        self.show_cross = read_config('show_cross', 0, int, SECTION_MAP)151        ## Map service to get images, default is Nokia152        self.map_service = read_config('map_service', MAP_SERVERS[NOKIA], str, SECTION_MAP)153        ## cloudMade API key154        self.cloudMade_API = read_config('cloudmade_api', '333d990d389d5e65a7714dd738b2fc77', str, SECTION_MAP)155        ## Initial style ID for the CloudMade maps156        self.cloudMade_styleID = read_config('cloudmade_styleid', 1, int, SECTION_MAP)157        ## Visibility of the scale158        self.scale_visible = read_config('scale_visible', 1, int, SECTION_MAP)159        ## Amount of days used when user selects the Force Update160        self.force_update_days = read_config('force_update_days', 1, int, SECTION_MAP)161        ## auto-refresh frequency in miliseconds162        self.auto_refresh = read_config('auto_refresh', 0, int, SECTION_MAP)163        ## Part of the URL that is used to get the google tiles164        self.google_src = read_config('google_src', '', str, SECTION_MAP)165        ## Show the name/description of the marker in the map166        self.show_marker_name = read_config('show_marker_name', 0, int, SECTION_MAP)167        ## The font color for the name of the marker168        self.marker_font_color = read_config('marker_font_color', '#00CCCC', str, SECTION_MAP)169        ## The font Description for the marker "sans bold 12"170        ## http://www.pygtk.org/docs/pygtk/class-pangofontdescription.html171        self.marker_font_desc = read_config('marker_font_desc', 'normal', str, SECTION_MAP)172        ## Maximum number of threads to download maps173        self.maxthreads = read_config('maxthreads', 4, int, SECTION_MAP)174        ## Time delay before drawing the map overlay175        self.overlay_delay = read_config('overlay_delay', 0.1, float, SECTION_MAP)176        ## Initial map opacity177        self.opacity = read_config('opacity', 0.0, float, SECTION_MAP)178        ## Initial map opacity179        self.draw_track_start_end = read_config('draw_track_start_end', 0, int, SECTION_MAP)180		## Ruler-track width, default is 3px181        self.ruler_track_width = read_config('ruler_track_width', 3, int, SECTION_MAP)182        ## How often is the GPS updated, default is 1 second183        self.gps_update_rate = read_config('gps_update_rate', 1.0, float, SECTION_GPS)184        ## default increment for gps track saving185        self.gps_increment = read_config('gps_increment', GPS_INCREMENT, int, SECTION_GPS)186        ## GPS-type, GPSd (0) or serial (1), default is GPSd187        self.gps_type = read_config('gps_type', 0, int, SECTION_GPS)188        ## Draw GPS-track, default is 1 (True)189        self.gps_track = read_config('gps_track', 1, int, SECTION_GPS)190        ## GPS-track "interval" in meters, default is 50m191        self.gps_track_interval = read_config('gps_track_interval', 50, int, SECTION_GPS)192        ## GPS-track width, default is 2px193        self.gps_track_width = read_config('gps_track_width', 2, int, SECTION_GPS)194        ## GPS serial port, default is 'none'195        self.gps_serial_port = read_config('gps_serial_port', 'none', str, SECTION_GPS)196        ## GPS serial baudrate, default is 9600197        self.gps_serial_baudrate = read_config('gps_serial_baudrate', 9600, int, SECTION_GPS)198        ## Initial GPS mode, default is GPS_DISABLED199        self.gps_mode = read_config('gps_mode', GPS_DISABLED, int, SECTION_GPS)200        ## Maximum zoom to show the GPS, default is 16201        self.max_gps_zoom = read_config('max_gps_zoom', 16, int, SECTION_GPS)202        ## User agent name203        self.name = read_config('name', NAME, str, SECTION_AGENT)204        ## User agent version205        self.version = read_config('version', VERSION, str, SECTION_AGENT)206        ## User agent webaddress207        self.web_address = read_config('web_address', WEB_ADDRESS, str, SECTION_AGENT)208    ## Write the configuration to the default file209    def save(self):210        self.write()211    ## Write the configuration to the default file212    def get_layer_dir(self, layer):213        if self.oneDirPerMap:214            return os.path.join(self.map_service, LAYER_DIRS[layer])215        else:...test_config_stub.py
Source:test_config_stub.py  
1"""Test LETP config stub.2Use read_config fixture to validate it's expected.3The stub will be used by LETP unit tests.4"""5import pytest6from pytest_letp.lib import swilog7from pytest_letp.lib.modules import SlinkInfo8__copyright__ = "Copyright (C) Sierra Wireless Inc."9COUNT = 010def validate_config(expected_iter, read_config):11    """Validate configured values are set correctly in read_config."""12    for cur_path, cur_val in expected_iter:13        swilog.info("path %s expected value %s" % (cur_path, cur_val))14        if "(" in cur_path:15            # It is an attribute16            attr_path = cur_path.split("(")[0]17            attr = cur_path.split("(")[1].replace(")", "")18            res = read_config.find(attr_path).get(attr)19        else:20            # It is a text21            res = read_config.findtext(cur_path)22            swilog.info("Found %s: %s" % (cur_path, res))23        assert str(res) == str(cur_val), (24            "Expected value not found for %s: expected %s found %s"25            % (cur_path, cur_val, res)26        )27def check_config(request, read_config):28    """Check request's path and expected values."""29    path = request.config.getoption("--path")30    expected_value = request.config.getoption("--expected_value")31    if path and expected_value:32        expected_iter = zip(path, expected_value)33        validate_config(expected_iter, read_config)34def test_cmd_config_set(request, read_config):35    """Test config set from command line."""36    check_config(request, read_config)37@pytest.mark.timeout(5)38def test_config_value(request, test_config):39    """Check a parameter or an attribute value.40    The value can be feed by --path and --expected_value in the command41    line.42    """43    test_config_xml = test_config.get()44    check_config(request, test_config_xml)45    main_config_list = test_config.get_main_config()46    valid_configs = [47        tuple(config.split("="))48        for config in main_config_list49        if "=" in config and not config.endswith("=")50    ]51    validate_config(iter(valid_configs), test_config_xml)52def test_config_same_test_with_2_cfg(read_config):53    """Test should be called twice.54    The same test has different xml configuration in the json file.55    """56    global COUNT57    # First time,58    expected_value = "test" if COUNT == 0 else "test2"59    val = read_config.findtext("foo/bar")60    swilog.info("Found value: %s" % val)61    assert val == expected_value62def test_config_two_xml_with_json_file(read_config):63    """Two tests with different xml configuration in the json file."""64    expected_value = "test"65    val = read_config.findtext("foo/bar")66    swilog.info("Found value: %s" % val)67    assert val == expected_value68def test_config_two_xml_with_json_file_2(read_config):69    """Test should be called twice."""70    expected_value = "test2"71    val = read_config.findtext("foo2/bar")72    swilog.info("Found value: %s" % val)73    assert val == expected_value74@pytest.mark.config("$LETP_TESTS/scenario/config/target_wp750x.xml")75def test_config_value_xml(request, read_config):76    """Test with xml file associated within test."""77    check_config(request, read_config)78@pytest.mark.config(79    "$LETP_TESTS/scenario/config/target_wp750x.xml,$LETP_TESTS/scenario/config/foo.xml"80)81def test_config_value_multi_xml(request, read_config):82    """Test with multiple xml file associated within test."""83    check_config(request, read_config)84def test_config_value_with_json_env_vari(request, read_config):85    """Test environment variable in json file.86    If this function gets called that means,87    the system was able to get $LETP_TESTS path and call88    this function from json file,89    $LETP_TESTS is the env variable used in json file.90    """91    assert request92    assert read_config93    swilog.info("env variable was found")94def test_custom_config_tag_with_attri(read_config):95    """Test custom config arguments tag with attribute."""96    assert read_config.findtext("module/slink3/name") == "/dev/ttyUSB6"97    assert read_config.findtext("module/slink1/name/new_tag") == "new_val"98    assert read_config.find("module/slink3").get("used") == "1"99    assert read_config.findtext("module/slink3/desc") == "mcu"100    assert read_config.findtext("custom/new/tag") == "foo"101    assert (102        read_config.find("module/slink1/name/new_tag").get("new_attri")103        == "new_attri_val"104    )105def test_custom_config_attri_only(read_config):106    """Test custom config arguments attribute only."""107    assert read_config.find("module/slink3").get("used") == "1"108    assert read_config.find("capability/avc").get("used") == "1"109    assert read_config.find("custom/new/tag").get("attri") == "1"110def test_custom_config_tag_only(read_config):111    """Test custom config arguments tag only."""112    assert read_config.findtext("module/slink3/name") == "/dev/ttyUSB6"113    assert read_config.findtext("module/slink1/name/new_tag") == "new_val"114    assert read_config.findtext("module/slink3/desc") == "mcu"115    assert read_config.findtext("custom/new/tag") == "foo"116def test_slink_default_val(read_config):117    """Test default slink config val."""118    assert SlinkInfo.get_num_links(read_config) == 3119    link = SlinkInfo(read_config, "module/slink3")120    assert link.desc().lower() == "cli"121    assert link.speed() == 115200122    assert not link.rtscts()...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
