def start_sqs_elasticmq(port=None, asynchronous=False, update_listener=None): global PORT_SQS_BACKEND port = port or config.PORT_SQS install_elasticmq() PORT_SQS_BACKEND = get_free_tcp_port() # create config file config_params = """ include classpath("application.conf") node-address { protocol = http host = "%s" port = %s context-path = "" } rest-sqs { enabled = true bind-port = %s bind-hostname = "0.0.0.0" sqs-limits = strict } """ % (LOCALSTACK_HOSTNAME, port, PORT_SQS_BACKEND) config_file = os.path.join(TMP_FOLDER, 'sqs.%s.conf' % short_uid()) TMP_FILES.append(config_file) save_file(config_file, config_params) # start process cmd = ('java -Dconfig.file=%s -Xmx%s -jar %s/elasticmq-server.jar' % ( config_file, MAX_HEAP_SIZE, INSTALL_DIR_ELASTICMQ)) print('Starting mock SQS service on %s ...' % edge_ports_info()) start_proxy_for_service('sqs', port, PORT_SQS_BACKEND, update_listener) return do_run(cmd, asynchronous)
def start_local_api(name, port, api, method, asynchronous=False): print('Starting mock %s service on %s ...' % (name, edge_ports_info())) if config.FORWARD_EDGE_INMEM: port = get_free_tcp_port() PROXY_LISTENERS[api] = (api, port, None) if asynchronous: thread = start_thread(method, port, quiet=True) return thread else: method(port)
def start_moto_server(key, port, name=None, backend_port=None, asynchronous=False, update_listener=None): if not name: name = key print('Starting mock %s service on %s ...' % (name, edge_ports_info())) if not backend_port: if config.FORWARD_EDGE_INMEM: backend_port = multiserver.get_moto_server_port() elif config.USE_SSL or update_listener: backend_port = get_free_tcp_port() if backend_port or config.FORWARD_EDGE_INMEM: start_proxy_for_service(key, port, backend_port, update_listener) if config.BUNDLE_API_PROCESSES: return multiserver.start_api_server(key, backend_port or port) return start_moto_server_separate(key, port, name=name, backend_port=backend_port, asynchronous=asynchronous)
def start_dynamodb(port=None, asynchronous=False, update_listener=None): global PORT_DYNAMODB_BACKEND PORT_DYNAMODB_BACKEND = get_free_tcp_port() port = port or config.PORT_DYNAMODB install.install_dynamodb_local() ddb_data_dir_param = '-inMemory' if config.DATA_DIR: ddb_data_dir = '%s/dynamodb' % config.DATA_DIR mkdir(ddb_data_dir) ddb_data_dir_param = '-dbPath %s' % ddb_data_dir cmd = ('cd %s/infra/dynamodb/; java -Djava.library.path=./DynamoDBLocal_lib ' + '-Xmx%s -jar DynamoDBLocal.jar -sharedDb -port %s %s') % ( ROOT_PATH, config.DYNAMODB_HEAP_SIZE, PORT_DYNAMODB_BACKEND, ddb_data_dir_param) print('Starting mock DynamoDB service on %s ...' % edge_ports_info()) start_proxy_for_service('dynamodb', port, backend_port=PORT_DYNAMODB_BACKEND, update_listener=update_listener) return do_run(cmd, asynchronous)
def start_kms(port=None, backend_port=None, asynchronous=None, update_listener=None): port = port or config.PORT_KMS backend_port = get_free_tcp_port() kms_binary = INSTALL_PATH_KMS_BINARY_PATTERN.replace('<arch>', get_arch()) print('Starting mock KMS service on %s ...' % edge_ports_info()) start_proxy_for_service('kms', port, backend_port, update_listener) env_vars = { 'PORT': str(backend_port), 'KMS_REGION': config.DEFAULT_REGION, 'REGION': config.DEFAULT_REGION, 'KMS_ACCOUNT_ID': TEST_AWS_ACCOUNT_ID, 'ACCOUNT_ID': TEST_AWS_ACCOUNT_ID } result = do_run(kms_binary, asynchronous, env_vars=env_vars) wait_for_port_open(backend_port) return result
def start_kinesis(port=None, asynchronous=False, update_listener=None): port = port or config.PORT_KINESIS install.install_kinesalite() backend_port = get_free_tcp_port() latency = config.KINESIS_LATENCY kinesis_data_dir_param = '' if config.DATA_DIR: kinesis_data_dir = '%s/kinesis' % config.DATA_DIR mkdir(kinesis_data_dir) kinesis_data_dir_param = '--path %s' % kinesis_data_dir cmd = ( '%s/node_modules/kinesalite/cli.js --shardLimit %s --port %s' ' --createStreamMs %s --deleteStreamMs %s --updateStreamMs %s %s' ) % ( ROOT_PATH, config.KINESIS_SHARD_LIMIT, backend_port, latency, latency, latency, kinesis_data_dir_param ) print('Starting mock Kinesis service on %s ...' % edge_ports_info()) start_proxy_for_service('kinesis', port, backend_port, update_listener) return do_run(cmd, asynchronous)
def log_startup_message(service): print('Starting mock %s service on %s ...' % (service, edge_ports_info()))
def log_startup_message(service): LOG.info("Starting mock %s service on %s ...", service, edge_ports_info())