#!/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