Added a Dockerfile
This commit is contained in:
parent
a904fcef82
commit
bbd3cdacc0
|
@ -0,0 +1 @@
|
||||||
|
.git
|
|
@ -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"]
|
|
@ -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__))))))
|
||||||
|
|
||||||
|
@ -31,7 +32,7 @@ def test_create_directory_success():
|
||||||
assert status == True
|
assert status == True
|
||||||
assert os.path.isdir(folder) == True
|
assert os.path.isdir(folder) == True
|
||||||
assert os.path.exists(folder) == True
|
assert os.path.exists(folder) == True
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
shutil.rmtree(folder)
|
shutil.rmtree(folder)
|
||||||
|
|
||||||
|
@ -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')
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue