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
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