Added a Dockerfile

This commit is contained in:
Nathan Ostgard 2016-01-10 11:00:56 -08:00
parent a904fcef82
commit bbd3cdacc0
4 changed files with 39 additions and 5 deletions

1
.dockerignore Normal file
View File

@ -0,0 +1 @@
.git

25
Dockerfile Normal file
View File

@ -0,0 +1,25 @@
FROM gliderlabs/alpine
COPY requirements.txt /opt/elodie/requirements.txt
COPY docs/requirements.txt /opt/elodie/docs/requirements.txt
COPY elodie/tests/requirements.txt /opt/elodie/elodie/tests/requirements.txt
WORKDIR /opt/elodie
RUN apk add --update boost-python ca-certificates exiftool exiv2 make python py-pip && \
apk add --virtual build-dependencies build-base boost-dev exiv2-dev openssl python-dev scons wget && \
pip install -r docs/requirements.txt && \
pip install -r elodie/tests/requirements.txt && \
wget -O /tmp/pyexiv2-0.3.2.tar.bz2 https://launchpad.net/pyexiv2/0.3.x/0.3.2/+download/pyexiv2-0.3.2.tar.bz2 && \
echo "9c0377ca4cf7d5ceeee994af0b5536ae /tmp/pyexiv2-0.3.2.tar.bz2" | md5sum -c - && \
tar -C /tmp -xjf /tmp/pyexiv2-0.3.2.tar.bz2 && \
rm -f /tmp/pyexiv2-0.3.2.tar.bz2 && \
cd /tmp/pyexiv2-0.3.2 && \
scons && \
scons install && \
cd / && \
apk del build-dependencies && \
rm -rf /root/.cache/pip /tmp/* /var/cache/apk/*
COPY . /opt/elodie
CMD ["/bin/sh"]

View File

@ -1,12 +1,13 @@
# Project imports
import os
import sys
import re
import shutil
import time
import sys
from datetime import datetime
from datetime import timedelta
import time
import mock
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
@ -31,7 +32,7 @@ def test_create_directory_success():
assert status == True
assert os.path.isdir(folder) == True
assert os.path.exists(folder) == True
# Clean up
shutil.rmtree(folder)
@ -50,9 +51,15 @@ def test_create_directory_recursive_success():
shutil.rmtree(folder)
def test_create_directory_invalid_permissions():
@mock.patch('elodie.filesystem.os.makedirs')
def test_create_directory_invalid_permissions(mock_makedirs):
if os.name == 'nt':
raise SkipTest("It isn't implemented on Windows")
# Mock the case where makedirs raises an OSError because the user does
# not have permission to create the given directory.
mock_makedirs.side_effect = OSError()
filesystem = FileSystem()
status = filesystem.create_directory('/apathwhichdoesnotexist/afolderwhichdoesnotexist')

View File

@ -1,3 +1,4 @@
-r ../../requirements.txt
flake8>=2.2.5,<3.0
mock>=1.3.0,<2.0
nose>=1.3.7,<2.0