Merge branch 'develop' into 'main'

Develop

See merge request DasMoorhuhn/autopicture-v3!3
This commit is contained in:
2023-12-12 00:46:51 +00:00
13 changed files with 93 additions and 1 deletions

2
.gitignore vendored
View File

@@ -1,6 +1,8 @@
__pycache__/
.idea/
app/
.test_folder/
*/coverage/
*.log
.coverage

13
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,13 @@
pytest:
image: python:3.10-alpine
only:
- main
script:
- sh tests/start_tests_gitlab.sh
artifacts:
name: "$CI_JOB_NAME"
reports:
junit: report.xml
coverage_report:
coverage_format: cobertura
path: coverage.xml

View File

@@ -2,6 +2,8 @@ import os
import shutil
from pathlib import Path
from src.scan_folder import recursive_scan_folder
TEST_FOLDER = ".test_folder"
TEST_IMAGES = "tests/test_files"
TEST_TEMP_FOLDER = os.path.join(TEST_FOLDER, 'Temp')
@@ -28,3 +30,15 @@ def copy_test_images():
os.makedirs(TEST_IMAGE_FOLDER)
shutil.copy(src=os.path.join(TEST_IMAGES, 'test_image_001.JPG'), dst=TEST_TEMP_FOLDER)
shutil.copy(src=os.path.join(TEST_IMAGES, 'test_image_002.JPG'), dst=TEST_TEMP_FOLDER)
def copy_images(brand:str, model:str):
delete_folder()
create_folders()
files = recursive_scan_folder(path=TEST_IMAGES)
for file in files:
file_name = file.split("/")[2:][0]
file_name = file_name.split("_")
if file_name[0] == brand and file_name[1] == model:
shutil.copy(src=file, dst=TEST_FOLDER)

View File

@@ -1 +1,8 @@
python3.10 -m pytest --no-header -rfp --cov --cov-report html:tests/coverage --cov-report xml:tests/coverage/coverage.xml tests/
python3.10 -m pytest \
--no-header \
-rfp \
--cov \
--cov-report html:tests/coverage \
--cov-report xml:tests/coverage/coverage.xml \
--junitxml=tests/coverage/report.xml \
tests/

7
tests/start_tests_gitlab.sh Executable file
View File

@@ -0,0 +1,7 @@
apk add --update libmagic
pip3.10 install -r requirements.txt
sh tests/start_tests.sh
cp tests/coverage/coverage.xml ./coverage.xml
cp tests/coverage/report.xml ./report.xml

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,49 @@
import unittest
from helpers.folder_helper import TEST_FOLDER
from helpers.folder_helper import copy_images
from src.meta_data_handler import get_meta_data
from src.scan_folder import recursive_scan_folder
class TestSamsung(unittest.TestCase):
def test_a54(self):
copy_images(brand="samsung", model="a54")
files = recursive_scan_folder(path=TEST_FOLDER)
meta_data = get_meta_data(images=files)
for image in meta_data:
assert image.make == "samsung"
image = next((image for image in meta_data if image.name == "samsung_a54_001.jpg"), None)
assert image.day == 2
assert image.month == 12
assert image.year == 2023
image = next((image for image in meta_data if image.name == "samsung_a54_003.jpg"), None)
assert image.day == 8
assert image.month == 12
assert image.year == 2023
@unittest.skip("")
def test_a52s(self):
copy_images(brand="samsung", model="a52s")
files = recursive_scan_folder(path=TEST_FOLDER)
meta_data = get_meta_data(images=files)
for image in meta_data:
assert image.make == "samsung"
@unittest.skip("")
def test_a14(self):
copy_images(brand="samsung", model="a14")
files = recursive_scan_folder(path=TEST_FOLDER)
meta_data = get_meta_data(images=files)
for image in meta_data:
assert image.make == "samsung"
@unittest.skip("")
class TestApple(unittest.TestCase):
def test_iphone(self):
pass