Exemplo n.º 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'
                ),
        ):
            # 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
Exemplo n.º 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'),
        ):
            # 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
Exemplo n.º 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]):
            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
Exemplo n.º 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]):
            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