def test_can_create_app_packager_with_no_autogen(): # We can't actually observe a change here, but we want # to make sure the function can handle this param being # False. config = Config.create(autogen_policy=False) packager = package.create_app_packager(config) assert isinstance(packager, package.AppPackager)
def test_will_create_outdir_if_needed(tmpdir): appdir = _create_app_structure(tmpdir) outdir = str(appdir.join('outdir')) config = Config.create(project_dir=str(appdir), chalice_app=sample_app()) p = package.create_app_packager(config) p.package_app(config, str(outdir)) contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.json' in contents
def create_app_packager(self, config, options, package_format, template_format, merge_template=None): # type: (Config, PackageOptions, str, str, OptStr) -> AppPackager return create_app_packager(config, options, package_format, template_format, merge_template=merge_template)
def test_will_create_outdir_if_needed(tmpdir): appdir = _create_app_structure(tmpdir) outdir = str(appdir.join('outdir')) default_params = {'autogen_policy': True} config = Config.create(project_dir=str(appdir), chalice_app=sample_app(), **default_params) p = package.create_app_packager(config) p.package_app(config, str(outdir), 'dev') contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.json' in contents
def test_can_create_app_packager_with_no_autogen(tmpdir): appdir = _create_app_structure(tmpdir) outdir = tmpdir.mkdir('outdir') config = Config.create(project_dir=str(appdir), chalice_app=sample_app()) p = package.create_app_packager(config) p.package_app(config, str(outdir)) # We're not concerned with the contents of the files # (those are tested in the unit tests), we just want to make # sure they're written to disk and look (mostly) right. contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.json' in contents
def test_can_specify_yaml_output(tmpdir): appdir = _create_app_structure(tmpdir) outdir = tmpdir.mkdir('outdir') default_params = {'autogen_policy': True} config = Config.create(project_dir=str(appdir), chalice_app=sample_app(), **default_params) p = package.create_app_packager(config, template_format='yaml') p.package_app(config, str(outdir), 'dev') contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.yaml' in contents
def test_includes_layer_package_with_sam(tmpdir, stubbed_session): appdir = _create_app_structure(tmpdir) appdir.mkdir('vendor').join('hello').write('hello\n') outdir = str(appdir.join('outdir')) default_params = {'autogen_policy': True} config = Config.create(project_dir=str(appdir), chalice_app=sample_app(), automatic_layer=True, **default_params) options = PackageOptions(TypedAWSClient(session=stubbed_session)) p = package.create_app_packager(config, options) p.package_app(config, str(outdir), 'dev') contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'layer-deployment.zip' in contents assert 'sam.json' in contents
def test_can_create_app_packager_with_yaml_extention(tmpdir): appdir = _create_app_structure(tmpdir) outdir = tmpdir.mkdir('outdir') default_params = {'autogen_policy': True} extras_file = tmpdir.join('extras.yaml') extras_file.write("foo: bar") config = Config.create(project_dir=str(appdir), chalice_app=sample_app(), **default_params) p = package.create_app_packager(config, merge_template=str(extras_file)) p.package_app(config, str(outdir), 'dev') contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.yaml' in contents
def test_can_create_app_packager_with_no_autogen(tmpdir, stubbed_session): appdir = _create_app_structure(tmpdir) outdir = tmpdir.mkdir('outdir') default_params = {'autogen_policy': True} config = Config.create(project_dir=str(appdir), chalice_app=sample_app(), **default_params) options = PackageOptions(TypedAWSClient(session=stubbed_session)) p = package.create_app_packager(config, options) p.package_app(config, str(outdir), 'dev') # We're not concerned with the contents of the files # (those are tested in the unit tests), we just want to make # sure they're written to disk and look (mostly) right. contents = os.listdir(str(outdir)) assert 'deployment.zip' in contents assert 'sam.json' in contents
def create_app_packager(self, config): # type: (Config) -> AppPackager return create_app_packager(config)
def create_app_packager(self, config, merge_template=None): # type: (Config, OptStr) -> AppPackager return create_app_packager(config, merge_template=merge_template)
def test_can_create_app_packager(): config = Config() packager = package.create_app_packager(config) assert isinstance(packager, package.AppPackager)