Skip to content

Commit

Permalink
added tests for unpacking
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexis Durand committed Jan 1, 2016
1 parent 776f1e3 commit 0ab36a4
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
2 changes: 0 additions & 2 deletions mii_unpacker/logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,6 @@ def unrar(self, archive_file, file_name):

try:
output = unrar(archive_file, self.destination_dir)
# TODO : Do something with execution_result.output.
# TODO : Log in a table
logger.debug("Extraction OK!")
Unpacked.objects.create(filename=file_name)
self.extracted += 1
Expand Down
35 changes: 35 additions & 0 deletions tests/test_funtionnality.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# -*- coding: utf-8 -*-

import logging
from subprocess import CalledProcessError

import mock
import os

from datetime import timedelta
from django.test import override_settings
from django.utils import timezone

from mii_common import tools
from mii_indexer.models import MovieRelation
from mii_indexer.models import MovieTagging, Person
from mii_sorter.models import Movie, Episode, Serie, Season, get_serie_episode, WhatsNew
from mii_unpacker.factories import UnpackedFactory
from mii_unpacker.logic import RecursiveUnrarer
from utils.base import TestMiilibrary

logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -154,3 +159,33 @@ def test_rpc_index(self, index):
assert response.status_code == 200
assert index.delay.called


class TestSpecificUnpacker(TestMiilibrary):
def setUp(self):
self.setUpPyfakefs()
self.SOURCE_FOLDER = '/raw/'
self.DESTINATION_FOLDER = '/processed/'
tools.make_dir(self.DESTINATION_FOLDER)
tools.make_dir(self.SOURCE_FOLDER)
self.fs.CreateFile(self.SOURCE_FOLDER + 'Thor.2.rar', contents=self._generate_data(1))
self.recursive_unrarer = RecursiveUnrarer()

@mock.patch('mii_unpacker.logic.unrar')
def test_already_unrared(self, unrar):
UnpackedFactory.create(filename='Thor.2.rar')
self.recursive_unrarer.unrar_and_link()
assert not unrar.called
assert self.recursive_unrarer.extracted == 0

@mock.patch('mii_unpacker.logic.unrar')
def test_unrar(self, unrar):
self.recursive_unrarer.unrar_and_link()
assert unrar.called
assert self.recursive_unrarer.extracted == 1

@mock.patch('mii_unpacker.logic.unrar')
def test_unrar_raising_error(self, unrar):
unrar.side_effect = CalledProcessError('', '', '')
self.recursive_unrarer.unrar_and_link()
assert self.recursive_unrarer.extracted == 0

0 comments on commit 0ab36a4

Please sign in to comment.