Added a Dockerfile
This commit is contained in:
		
							parent
							
								
									a904fcef82
								
							
						
					
					
						commit
						bbd3cdacc0
					
				
							
								
								
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					.git
 | 
				
			||||||
							
								
								
									
										25
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								Dockerfile
									
									
									
									
									
										Normal 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"]
 | 
				
			||||||
@ -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')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user