Files
pymojo/tests/test_pymojo.py
2022-10-30 17:03:06 -05:00

104 lines
3.7 KiB
Python

#!/usr/bin/env python
"""Tests for `pymojo` package."""
import datetime
import unittest
from click.testing import CliRunner
from pymojo import pymojo
from pymojo import cli
import vcr
class TestPymojo(unittest.TestCase):
"""Tests for `pymojo` package."""
def setUp(self):
"""Set up test fixtures, if any."""
def tearDown(self):
"""Tear down test fixtures, if any."""
def test_000_get_new_mojo_id(self):
legacy_id = "it2"
with vcr.use_cassette(f'fixtures/vcr_cassettes/{legacy_id}.yaml'):
new_id = pymojo.get_new_mojo_id(legacy_id)
self.assertEqual("rl1107461633", new_id)
invalid_id = "xxxxx"
with vcr.use_cassette(f'fixtures/vcr_cassettes/{invalid_id}.yaml'):
new_id = pymojo.get_new_mojo_id(invalid_id)
self.assertIsNone(None, new_id)
def test_001_get_imdbid_from_mojoid(self):
mojoid = "rl1107461633"
with vcr.use_cassette(f'fixtures/vcr_cassettes/{mojoid}.yaml'):
imdbid = pymojo.get_imdb_id_from_mojo_id(mojoid)
self.assertEqual("tt7349950", imdbid)
def test_002_get_domestic_gross(self):
mojoid = "rl1107461633"
with vcr.use_cassette(f'fixtures/vcr_cassettes/{mojoid}.yaml'):
gross = pymojo.get_domestic_gross(mojoid)
self.assertEqual(211593228, gross)
mojoid = "rl3562898177" # not released yet
with vcr.use_cassette(f'fixtures/vcr_cassettes/{mojoid}.yaml'):
gross = pymojo.get_domestic_gross(mojoid)
self.assertEqual(0, gross)
def test_003_get_mojo_id_from_imdb_id(self):
imdb_id = "tt7349950"
with vcr.use_cassette(f'fixtures/vcr_cassettes/tt7349950.yaml'):
mojoid = pymojo.get_mojo_id_from_imdb_id(imdb_id)
self.assertEqual("rl1107461633", mojoid)
mojoid = "rl3562898177" # not released yet
with vcr.use_cassette(f'fixtures/vcr_cassettes/{mojoid}.yaml'):
gross = pymojo.get_domestic_gross(mojoid)
self.assertEqual(0, gross)
def test_004_get_domestic_box_office_for_season(self):
season = "summer"
year = "2022"
with vcr.use_cassette(f'fixtures/vcr_cassettes/summer-2022.yaml'):
season = "summer"
year = "2022"
l1 = pymojo.get_domestic_box_office_for_season(season, year)
with vcr.use_cassette(f'fixtures/vcr_cassettes/summer-2019.yaml'):
season = "summer"
year = "2019"
l2 = pymojo.get_domestic_box_office_for_season(season, year)
with vcr.use_cassette(f'fixtures/vcr_cassettes/summer-2018.yaml'):
season = "summer"
year = "2018"
l3 = pymojo.get_domestic_box_office_for_season(season, year)
pass
def test_005_get_release_schedule(self):
season = "summer"
year = "2022"
month = '5'
with vcr.use_cassette(f'fixtures/vcr_cassettes/release-schedule-20223-1.yaml'):
l1 = pymojo.get_release_schedule(year, month)
def test_005_get_release_schedule_for_range(self):
season = "summer"
year = "2022"
month = '5'
with vcr.use_cassette(f'fixtures/vcr_cassettes/release-schedule-range-summer-2019.yaml'):
l1 = pymojo.get_release_schedule_for_range(
datetime.date(2019, 5, 3),
datetime.date(2019, 8, 31))
pass
def test_command_line_interface(self):
"""Test the CLI."""
runner = CliRunner()
result = runner.invoke(cli.main)
assert result.exit_code == 0
assert 'pymojo.cli.main' in result.output
help_result = runner.invoke(cli.main, ['--help'])
assert help_result.exit_code == 0
assert '--help Show this message and exit.' in help_result.output