Example #1
0
    def test_expire_no_check(self, execute_task):
        persist['auth_tokens'] = {'default': None}

        def test_run():
            # Run the task and check tvdb data was populated.
            task = execute_task('test_mark_expired')
            entry = task.find_entry(title='House.S02E02.hdtv')
            assert entry['tvdb_ep_name'] == 'Autopsy'

        # Run the task once, this populates data from tvdb
        test_run()

        # Should not expire as it was checked less then an hour ago
        persist['last_check'] = datetime.utcnow() - timedelta(hours=1)
        with mock.patch(
                'requests.sessions.Session.request',
                side_effect=Exception(
                    'Tried to expire or lookup, less then an hour since last check'
                )) as _:
            # Ensure series is not marked as expired
            with Session() as session:
                mark_expired(session)
                ep = session.query(TVDBEpisode)\
                    .filter(TVDBEpisode.series_id == 73255)\
                    .filter(TVDBEpisode.episode_number == 2)\
                    .filter(TVDBEpisode.season_number == 2)\
                    .first()
                assert not ep.expired
                assert not ep.series.expired
Example #2
0
    def test_expire_no_check(self, execute_task):
        persist['auth_tokens'] = {'default': None}

        def test_run():
            # Run the task and check tvdb data was populated.
            task = execute_task('test_mark_expired')
            entry = task.find_entry(title='House.S02E02.hdtv')
            assert entry['tvdb_ep_name'] == 'Autopsy'

        # Run the task once, this populates data from tvdb
        test_run()

        # Should not expire as it was checked less then an hour ago
        persist['last_check'] = datetime.utcnow() - timedelta(hours=1)
        with mock.patch('requests.sessions.Session.request',
                        side_effect=Exception('Tried to expire or lookup, less then an hour since last check')) as _:
            # Ensure series is not marked as expired
            with Session() as session:
                mark_expired(session)
                ep = session.query(TVDBEpisode) \
                    .filter(TVDBEpisode.series_id == 73255) \
                    .filter(TVDBEpisode.episode_number == 2) \
                    .filter(TVDBEpisode.season_number == 2) \
                    .first()
                assert not ep.expired
                assert not ep.series.expired
Example #3
0
    def test_expire_check(self, execute_task):
        persist['auth_tokens'] = {'default': None}

        def test_run():
            # Run the task and check tvdb data was populated.
            task = execute_task('test_mark_expired')
            entry = task.find_entry(title='House.S02E02.hdtv')
            assert entry['tvdb_ep_name'] == 'Autopsy'

        # Run the task once, this populates data from tvdb
        test_run()

        # Should expire
        persist['last_check'] = datetime.utcnow() - timedelta(hours=3)

        expired_data = [{
            "id": 73255,
            "lastUpdated": 1458186055
        }, {
            "id": 295743,
            "lastUpdated": 1458186088
        }]

        # Ensure series is marked as expired
        with mock.patch.object(TVDBRequest, 'get',
                               side_effect=[expired_data]) as _:
            mark_expired()
            with Session() as session:
                ep = session.query(TVDBEpisode)\
                    .filter(TVDBEpisode.series_id == 73255)\
                    .filter(TVDBEpisode.episode_number == 2)\
                    .filter(TVDBEpisode.season_number == 2)\
                    .first()
                assert ep.expired
                assert ep.series.expired
Example #4
0
    def test_expire_check(self, execute_task):
        persist['auth_tokens'] = {'default': None}

        def test_run():
            # Run the task and check tvdb data was populated.
            task = execute_task('test_mark_expired')
            entry = task.find_entry(title='House.S02E02.hdtv')
            assert entry['tvdb_ep_name'] == 'Autopsy'

        # Run the task once, this populates data from tvdb
        test_run()

        # Should expire
        persist['last_check'] = datetime.utcnow() - timedelta(hours=3)

        expired_data = [
            {
                "id": 73255,
                "lastUpdated": 1458186055
            },
            {
                "id": 295743,
                "lastUpdated": 1458186088
            }
        ]

        # Ensure series is marked as expired
        with mock.patch.object(TVDBRequest, 'get', side_effect=[expired_data]) as _:
            with Session() as session:
                mark_expired(session)
                ep = session.query(TVDBEpisode) \
                    .filter(TVDBEpisode.series_id == 73255) \
                    .filter(TVDBEpisode.episode_number == 2) \
                    .filter(TVDBEpisode.season_number == 2) \
                    .first()
                assert ep.expired
                assert ep.series.expired

        # Run the task again, should be re-populated from tvdb
        test_run()

        with Session() as session:
            ep = session.query(TVDBEpisode) \
                .filter(TVDBEpisode.series_id == 73255) \
                .filter(TVDBEpisode.episode_number == 2) \
                .filter(TVDBEpisode.season_number == 2) \
                .first()
            assert not ep.expired
            assert not ep.series.expired