def _deploy_app(temp_dirname): factory = CLIFactory(temp_dirname) config = factory.create_config_obj( chalice_stage_name='dev', autogen_policy=True ) d = factory.create_default_deployer( factory.create_botocore_session(), None) deployed_stages = _deploy_with_retries(d, config) deployed = deployed_stages['dev'] url = ( "https://{rest_api_id}.execute-api.{region}.amazonaws.com/" "{api_gateway_stage}/".format(**deployed)) application = SmokeTestApplication( url=url, deployed_values=deployed, stage_name='dev', app_name='smoketestapp', app_dir=temp_dirname, ) record_deployed_values( deployed_stages, os.path.join(temp_dirname, '.chalice', 'deployed.json') ) return application
def _delete_app(application, temp_dirname): factory = CLIFactory(temp_dirname) config = factory.create_config_obj(chalice_stage_name='dev', autogen_policy=True) session = factory.create_botocore_session() d = factory.create_deletion_deployer(session, UI()) _deploy_with_retries(d, config)
def _delete_dynamodb_table(table_name, temp_dirname): factory = CLIFactory(temp_dirname) session = factory.create_botocore_session() ddb = session.create_client('dynamodb') ddb.delete_table( TableName=table_name, )
def _deploy_app(): if not os.path.isdir(CHALICE_DIR): os.makedirs(CHALICE_DIR) with open(os.path.join(CHALICE_DIR, 'config.json'), 'w') as f: f.write('{"app_name": "smoketestapp"}\n') factory = CLIFactory(PROJECT_DIR) config = factory.create_config_obj( chalice_stage_name='dev', autogen_policy=True ) d = factory.create_default_deployer( factory.create_botocore_session(), None) deployed_stages = d.deploy(config) deployed = deployed_stages['dev'] url = ( "https://{rest_api_id}.execute-api.{region}.amazonaws.com/" "{api_gateway_stage}/".format(**deployed)) application = SmokeTestApplication( url=url, deployed_values=deployed, stage_name='dev', app_name='smoketestapp', ) record_deployed_values(deployed_stages, os.path.join( PROJECT_DIR, '.chalice', 'deployed.json')) return application
def _deploy_app(): if not os.path.isdir(CHALICE_DIR): os.makedirs(CHALICE_DIR) with open(os.path.join(CHALICE_DIR, 'config.json'), 'w') as f: f.write('{"app_name": "smoketestapp"}\n') factory = CLIFactory(PROJECT_DIR) config = factory.create_config_obj( chalice_stage_name='dev', autogen_policy=True ) d = factory.create_default_deployer( factory.create_botocore_session(), None) deployed_stages = d.deploy(config) deployed = deployed_stages['dev'] url = ( "https://{rest_api_id}.execute-api.{region}.amazonaws.com/" "{api_gateway_stage}/".format(**deployed)) application = SmokeTestApplication( url=url, deployed_values=deployed, stage_name='dev', app_name='smoketestapp', ) record_deployed_values(deployed_stages, os.path.join( PROJECT_DIR, '.chalice', 'deployed.json')) return application
def _delete_app(application, temp_dirname): factory = CLIFactory(temp_dirname) config = factory.create_config_obj( chalice_stage_name='dev', autogen_policy=True ) session = factory.create_botocore_session() d = factory.create_deletion_deployer(session, UI()) _deploy_with_retries(d, config)
def get_errors_from_dynamodb(temp_dirname): factory = CLIFactory(temp_dirname) session = factory.create_botocore_session() ddb = session.create_client('dynamodb') item = ddb.get_item(TableName=RANDOM_APP_NAME, Key={'entry': {'N': '-9999'}}) if 'Item' not in item: return None return item['Item']['errormsg']['S']
def get_numbers_from_dynamodb(temp_dirname): """Get numbers from DynamoDB in the format written by testwebsocketapp. """ factory = CLIFactory(temp_dirname) session = factory.create_botocore_session() ddb = session.create_client('dynamodb') paginator = ddb.get_paginator('scan') numbers = sorted([ int(item['entry']['N']) for page in paginator.paginate( TableName=RANDOM_APP_NAME, ConsistentRead=True, ) for item in page['Items'] ]) return numbers
def _deploy_app(temp_dirname): factory = CLIFactory(temp_dirname) config = factory.create_config_obj(chalice_stage_name='dev', autogen_policy=True) session = factory.create_botocore_session() d = factory.create_default_deployer(session, config, UI()) region = session.get_config_variable('region') deployed = _deploy_with_retries(d, config) application = SmokeTestApplication( region=region, deployed_values=deployed, stage_name='dev', app_name=RANDOM_APP_NAME, app_dir=temp_dirname, ) return application
def _deploy_app(temp_dirname): factory = CLIFactory(temp_dirname) config = factory.create_config_obj( chalice_stage_name='dev', autogen_policy=True ) session = factory.create_botocore_session() d = factory.create_default_deployer(session, config, UI()) region = session.get_config_variable('region') deployed = _deploy_with_retries(d, config) application = SmokeTestApplication( region=region, deployed_values=deployed, stage_name='dev', app_name=RANDOM_APP_NAME, app_dir=temp_dirname, ) return application
def _create_dynamodb_table(table_name, temp_dirname): factory = CLIFactory(temp_dirname) session = factory.create_botocore_session() ddb = session.create_client('dynamodb') ddb.create_table( TableName=table_name, AttributeDefinitions=[ { 'AttributeName': 'entry', 'AttributeType': 'N', }, ], KeySchema=[ { 'AttributeName': 'entry', 'KeyType': 'HASH', }, ], ProvisionedThroughput={ 'ReadCapacityUnits': 5, 'WriteCapacityUnits': 5, }, )