""" Tests cookiecutter baking process and rendered content """ def test_project_tree(cookies): result = cookies.bake(extra_context={"project_name": "hello sam"}) assert result.exit_code == 0 assert result.exception is None assert result.project.basename == "hello sam" assert result.project.isdir() assert result.project.join(".gitignore").isfile() assert result.project.join("template.yaml").isfile() assert result.project.join("README.md").isfile() assert result.project.join("src").isdir() assert result.project.join("test").isdir() assert result.project.join("src", "HelloWorld").isdir() assert result.project.join("src", "HelloWorld", "HelloWorld.csproj").isfile() assert result.project.join("src", "HelloWorld", "Function.cs").isfile() assert result.project.join("src", "HelloWorld", "aws-lambda-tools-defaults.json").isfile() assert result.project.join("test", "HelloWorld.Test", "FunctionTest.cs").isfile() assert result.project.join("test", "HelloWorld.Test", "HelloWorld.Tests.csproj").isfile() def test_app_content(cookies): result = cookies.bake(extra_context={"project_name": "my_lambda"}) app_file = result.project.join("src", "HelloWorld", "Function.cs") app_content = app_file.readlines() app_content = "".join(app_content) contents = ("GetCallingIP", "GetStringAsync", "location", "message", "hello world", "StatusCode") for content in contents: assert content in app_content