Merge pull request #73 from noonat/dockerfile

Added a Dockerfile
This commit is contained in:
Jaisen Mathai 2016-03-04 10:13:29 -08:00
commit 9d20d398cd
4 changed files with 48 additions and 5 deletions

1
.dockerignore Normal file
View File

@ -0,0 +1 @@
.git

34
Dockerfile Normal file
View File

@ -0,0 +1,34 @@
FROM debian:jessie
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && \
apt-get install -y --no-install-recommends ca-certificates libimage-exiftool-perl python2.7 python-pip python-pyexiv2 && \
pip install --upgrade pip setuptools && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
# RUN apk add --update boost-python ca-certificates exiftool exiv2 make python py-pip && \
# pip install --upgrade pip setuptools && \
# apk add --virtual build-dependencies build-base boost-dev exiv2-dev python-dev scons wget && \
# 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 / && \
# rm -rf /tmp/*
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 pip install -r docs/requirements.txt && \
pip install -r elodie/tests/requirements.txt && \
rm -rf /root/.cache/pip
COPY . /opt/elodie
CMD ["/bin/sh"]

View File

@ -1,12 +1,13 @@
# Project imports # Project imports
import os import os
import sys
import re import re
import shutil import shutil
import time
import sys
from datetime import datetime from datetime import datetime
from datetime import timedelta 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__)))))) sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
@ -50,9 +51,15 @@ def test_create_directory_recursive_success():
shutil.rmtree(folder) 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': if os.name == 'nt':
raise SkipTest("It isn't implemented on Windows") 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() filesystem = FileSystem()
status = filesystem.create_directory('/apathwhichdoesnotexist/afolderwhichdoesnotexist') status = filesystem.create_directory('/apathwhichdoesnotexist/afolderwhichdoesnotexist')

View File

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