Best Python code snippet using localstack_python
cli.py
Source:cli.py
...47 if in_docker:48 start_infra_in_docker()49 else:50 print_version()51 start_infra_locally()52def cmd_web(argv, args):53 """54Usage:55 localstack web <subcommand> [options]56Commands:57 web start Start the Web dashboard58Options:59 --port=<> Network port for running the Web server (default: 8080)60 """61 print_version()62 if len(argv) <= 1 or argv[1] != 'start':63 argv = ['web', 'start'] + argv[1:]64 args['<args>'] = ['start'] + args['<args>']65 args.update(docopt(cmd_web.__doc__.strip(), argv=argv))...
test_cli.py
Source:test_cli.py
1import threading2import click3import pytest4from click.testing import CliRunner5from localstack import config, constants6from localstack.cli.localstack import create_with_plugins7from localstack.cli.localstack import localstack as cli8from localstack.utils.common import is_command_available9cli: click.Group10@pytest.fixture11def runner():12 return CliRunner()13def test_create_with_plugins(runner):14 localstack_cli = create_with_plugins()15 result = runner.invoke(localstack_cli.group, ["--version"])16 assert result.exit_code == 017 assert result.output.strip() == constants.VERSION18def test_version(runner):19 result = runner.invoke(cli, ["--version"])20 assert result.exit_code == 021 assert result.output.strip() == constants.VERSION22def test_status_services_error(runner):23 result = runner.invoke(cli, ["status", "services"])24 assert result.exit_code == 125 assert "ERROR" in result.output26def test_start_docker_is_default(runner, monkeypatch):27 from localstack.utils import bootstrap28 called = threading.Event()29 def mock_call():30 called.set()31 monkeypatch.setattr(bootstrap, "start_infra_in_docker", mock_call)32 runner.invoke(cli, ["start"])33 assert called.is_set()34def test_start_host(runner, monkeypatch):35 from localstack.utils import bootstrap36 called = threading.Event()37 def mock_call():38 called.set()39 monkeypatch.setattr(bootstrap, "start_infra_locally", mock_call)40 runner.invoke(cli, ["start", "--host"])41 assert called.is_set()42def test_status_services(runner, httpserver, monkeypatch):43 monkeypatch.setattr(config, "EDGE_PORT_HTTP", httpserver.port)44 monkeypatch.setattr(config, "EDGE_PORT", httpserver.port)45 services = {"dynamodb": "starting", "s3": "running"}46 httpserver.expect_request("/health", method="GET").respond_with_json({"services": services})47 result = runner.invoke(cli, ["status", "services"])48 assert result.exit_code == 049 assert "dynamodb" in result.output50 assert "s3" in result.output51 for line in result.output.splitlines():52 if "dynamodb" in line:53 assert "starting" in line54 assert "running" not in line55 if "s3" in line:56 assert "running" in line57 assert "starting" not in line58def test_validate_config(runner, monkeypatch, tmp_path):59 if not is_command_available("docker-compose"):60 pytest.skip("config validation needs the docker-compose command")61 file = tmp_path / "docker-compose.yml"62 file.touch()63 file.write_text(64 """version: "3.3"65services:66 localstack:67 container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}"68 image: localstack/localstack69 network_mode: bridge70 ports:71 - "127.0.0.1:53:53"72 - "127.0.0.1:53:53/udp"73 - "127.0.0.1:443:443"74 - "127.0.0.1:4566:4566"75 - "127.0.0.1:4571:4571"76 environment:77 - SERVICES=${SERVICES- }78 - DEBUG=${DEBUG- }79 - DATA_DIR=${DATA_DIR- }80 - LAMBDA_EXECUTOR=${LAMBDA_EXECUTOR- }81 - LOCALSTACK_API_KEY=${LOCALSTACK_API_KEY- }82 - KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }83 - DOCKER_HOST=unix:///var/run/docker.sock84 - HOST_TMP_FOLDER=${TMPDIR}85 volumes:86 - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"87 - "/var/run/docker.sock:/var/run/docker.sock"88"""89 )90 result = runner.invoke(cli, ["config", "validate", "--file", str(file)])91 assert result.exit_code == 092 assert "config valid" in result.output93def test_validate_config_syntax_error(runner, monkeypatch, tmp_path):94 if not is_command_available("docker-compose"):95 pytest.skip("config validation needs the docker-compose command")96 file = tmp_path / "docker-compose.yml"97 file.touch()98 file.write_text("foobar.---\n")99 result = runner.invoke(cli, ["config", "validate", "--file", str(file)])100 assert result.exit_code == 1...
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!!