This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/test/test_dockerfileparse.py
2015-08-31 14:32:26 -04:00

66 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
import unittest
from util.dockerfileparse import parse_dockerfile
class TestParsedDockerfile(unittest.TestCase):
def test_basic_parse(self):
parsed = parse_dockerfile("""
FROM someimage:latest
RUN dosomething
""")
self.assertEquals(("someimage", "latest"), parsed.get_image_and_tag())
self.assertEquals("someimage", parsed.get_base_image())
def test_basic_parse_notag(self):
parsed = parse_dockerfile("""
FROM someimage
RUN dosomething
""")
self.assertEquals(("someimage", "latest"), parsed.get_image_and_tag())
self.assertEquals("someimage", parsed.get_base_image())
def test_two_from_lines(self):
parsed = parse_dockerfile("""
FROM someimage:latest
FROM secondimage:second
""")
self.assertEquals(("secondimage", "second"), parsed.get_image_and_tag())
self.assertEquals("secondimage", parsed.get_base_image())
def test_parse_comments(self):
parsed = parse_dockerfile("""
# FROM someimage:latest
FROM anotherimage:foobar # This is a comment
RUN dosomething
""")
self.assertEquals(("anotherimage", "foobar"), parsed.get_image_and_tag())
self.assertEquals("anotherimage", parsed.get_base_image())
def test_unicode_parse_as_ascii(self):
parsed = parse_dockerfile("""
FROM someimage:latest
MAINTAINER José Schorr <jschorr@whatever.com>
""")
self.assertEquals(("someimage", "latest"), parsed.get_image_and_tag())
self.assertEquals("someimage", parsed.get_base_image())
def test_unicode_parse_as_unicode(self):
parsed = parse_dockerfile("""
FROM someimage:latest
MAINTAINER José Schorr <jschorr@whatever.com>
""".decode('utf-8'))
self.assertEquals(("someimage", "latest"), parsed.get_image_and_tag())
self.assertEquals("someimage", parsed.get_base_image())
if __name__ == '__main__':
unittest.main()