diff --git a/README.md b/README.md index d300acf..d6afd74 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # django-deploy initial project + +# For playing +docker run -it --rm -v "$PWD":/code python:3.8 bash \ No newline at end of file diff --git a/generator.py b/generator.py index 0abf416..43a660c 100644 --- a/generator.py +++ b/generator.py @@ -1,4 +1,5 @@ from typing import Text, Optional +import yaml def generate(#project_name: Text, @@ -39,11 +40,35 @@ def write_nginx_docker_file(): return print(e.args) -def write_docker_compose(): - pass +def write_docker_compose(version: int = 3, + nginx_dockerfile: Text = 'nginx.Dockerfile', + nginx_ports: list = ['0.0.0.0:443:443'], + nginx_volume: list = ['./static:/var/www/static'], + nginx_network_alias: list = ['acmecorp.com'] + ): + docker_compose = {} + docker_compose['version'] = version + docker_compose['services'] = {} + docker_compose['services']['nginx'] = { + 'build': { + 'context': '.', + 'dockerfile': nginx_dockerfile + }, + 'ports': nginx_ports, + 'networks':{ + 'default':{ + 'aliases': nginx_network_alias + } + }, + 'depends_on':['web'] + } -def generate_conf_nginx(): - pass + return yaml.dump(docker_compose, default_flow_style=False) + + + +def generate_conf_nginx(): + pass \ No newline at end of file diff --git a/test_generator.py b/test_generator.py new file mode 100644 index 0000000..ada7fcc --- /dev/null +++ b/test_generator.py @@ -0,0 +1,13 @@ +import unittest + +from generator import write_docker_compose +import yaml + +class TestWriteDockerCompose(unittest.TestCase): + def test_defaultparameter(self): + str_docker_compose = write_docker_compose() + docker_compose = yaml.safe_load(str_docker_compose) + self.assertIs(type(docker_compose), dict) + +if __name__ == '__main__': + unittest.main() \ No newline at end of file