async def test_beta_version_beta_week_pagination(aresponses): """Test docker beta during beta week.""" aresponses.add( "registry.hub.docker.com", "/v2/repositories/homeassistant/home-assistant/tags", "get", aresponses.Response( text=fixture("docker/beta_week_page1", False), status=200, headers=HEADERS, ), ) aresponses.add( "registry.hub.docker.com", "/v2/repositories/homeassistant/home-assistant/tags/page2", "get", aresponses.Response( text=fixture("docker/beta_week_page2", False), status=200, headers=HEADERS, ), ) async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.DOCKER, channel=HaVersionChannel.BETA, ) await haversion.get_version() assert haversion.version == BETA_VERSION_BETA_WEEK
async def test_beta_version_beta_week_pagination(aresponses): """Test container beta during beta week.""" aresponses.add( "registry.hub.docker.com", "/v2/repositories/openpeerpower/openpeerpower/tags", "get", aresponses.Response( text=fixture("container/beta_week_page1", False), status=200, headers=HEADERS, ), ) aresponses.add( "registry.hub.docker.com", "/v2/repositories/openpeerpower/openpeerpower/tags/page2", "get", aresponses.Response( text=fixture("container/beta_week_page2", False), status=200, headers=HEADERS, ), ) async with aiohttp.ClientSession() as session: opversion = OpVersion( session=session, source=OpVersionSource.CONTAINER, channel=OpVersionChannel.BETA, ) await opversion.get_version() assert opversion.version == BETA_VERSION_BETA_WEEK
async def test_stable_version_pagination(aresponses): """Test container beta during beta week.""" aresponses.add( "registry.hub.docker.com", "/v2/repositories/homeassistant/home-assistant/tags", "get", aresponses.Response( text=fixture("container/page1", False), status=200, headers=HEADERS ), ) aresponses.add( "registry.hub.docker.com", "/v2/repositories/homeassistant/home-assistant/tags/page2", "get", aresponses.Response( text=fixture("container/page2", False), status=200, headers=HEADERS ), ) async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.CONTAINER, ) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_starship_events(aresponses): response = fixture("starship.json", False) aresponses.add( "ll.thespacedevs.com", "/2.0.0/dashboard/starship/", "get", aresponses.Response(text=response, headers=HEADERS), ) async with PyLaunches() as client: starship = await client.starship_events() upcoming_launch = starship.upcoming.launches[0] assert upcoming_launch.name == "Example | Example-01" upcoming_event = starship.upcoming.events[0] assert upcoming_event.name == "Example | Example-01" previous_launch = starship.previous.launches[0] assert previous_launch.name == "Example | Example-01" previous_event = starship.upcoming.events[0] assert previous_event.name == "Example | Example-01" live_stream = starship.live_streams[0] assert live_stream.title == "24/7 Livestream" road_closure = starship.road_closures[0] assert road_closure.title == "Primary Date" vehicle = starship.vehicles[0] assert vehicle.serial_number == "BN1"
async def test_etag(aresponses): """Test pypi etag.""" aresponses.add( "pypi.org", "/pypi/homeassistant/json", "get", aresponses.Response( text=fixture("pypi/default", False), status=200, headers={ **HEADERS, "etag": "test" }, ), ) aresponses.add( "pypi.org", "/pypi/homeassistant/json", "get", aresponses.Response(status=304, headers=HEADERS), ) async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.PYPI) await haversion.get_version(etag=haversion.etag) assert haversion.version == STABLE_VERSION with pytest.raises(HaVersionNotModifiedException): await haversion.get_version(etag=haversion.etag)
async def test_etag(aresponses): """Test hassio etag.""" aresponses.add( "version.home-assistant.io", "/stable.json", "get", aresponses.Response( text=fixture("supervisor/default", False), status=200, headers={ **HEADERS, "Etag": "test" }, ), ) aresponses.add( "version.home-assistant.io", "/stable.json", "get", aresponses.Response(status=304, headers=HEADERS), ) async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.SUPERVISOR) await haversion.get_version(etag=haversion.etag) assert haversion.version == STABLE_VERSION with pytest.raises(HaVersionNotModifiedException): await haversion.get_version(etag=haversion.etag)
async def test_stable_version(HaVersion): """Test docker stable.""" with patch( "pyhaversion.docker.HaVersionDocker.data", fixture("docker/default"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.DOCKER) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_stable_version(HaVersion): """Test container stable.""" with patch( "pyhaversion.container.HaVersionContainer.data", fixture("container/default"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.CONTAINER) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_stable_version_beta_week(HaVersion): """Test docker stable during beta week.""" with patch( "pyhaversion.docker.HaVersionDocker.data", fixture("docker/beta_week"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.DOCKER, ) await haversion.get_version() assert haversion.version == STABLE_VERSION_BETA_WEEK
async def test_stable_version_beta_week(OpVersion): """Test container stable during beta week.""" with patch( "pyopversion.container.OpVersionContainer.data", fixture("container/beta_week"), ): async with aiohttp.ClientSession() as session: opversion = OpVersion( session=session, source=OpVersionSource.CONTAINER, ) await opversion.get_version() assert opversion.version == STABLE_VERSION_BETA_WEEK
async def test_stable_version(HaVersion): """Test pypi stable.""" with patch( "pyhaversion.pypi.HaVersionPypi.data", fixture("pypi/default"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.PYPI, ) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_dev_version(OpVersion): """Test container dev.""" with patch( "pyopversion.container.OpVersionContainer.data", fixture("container/default"), ): async with aiohttp.ClientSession() as session: opversion = OpVersion( session=session, source=OpVersionSource.CONTAINER, channel=OpVersionChannel.DEV, ) await opversion.get_version() assert opversion.version == DEV_VERSION
async def test_beta_version(HaVersion): """Test docker beta.""" with patch( "pyhaversion.docker.HaVersionDocker.data", fixture("docker/default"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.DOCKER, channel=HaVersionChannel.DEV, ) await haversion.get_version() assert haversion.version == DEV_VERSION
async def test_beta_version(HaVersion): """Test hassio beta.""" with patch( "pyhaversion.supervised.HaVersionSupervised.data", fixture("supervised/default"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.SUPERVISED, channel=HaVersionChannel.BETA, ) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_stable_version(aresponses): """Test Oppio stable.""" aresponses.add( "version.openpeerpower.io", "/stable.json", "get", aresponses.Response( text=fixture("supervisor/default", False), status=200, headers=HEADERS ), ) async with aiohttp.ClientSession() as session: opversion = OpVersion(session=session, source=OpVersionSource.SUPERVISOR) await opversion.get_version() assert opversion.version == STABLE_VERSION
async def test_beta_version(OpVersion): """Test container beta.""" with patch( "pyopversion.container.OpVersionContainer.data", fixture("container/beta_week"), ): async with aiohttp.ClientSession() as session: opversion = OpVersion( session=session, source=OpVersionSource.CONTAINER, channel=OpVersionChannel.BETA, ) await opversion.get_version() assert opversion.version == BETA_VERSION
async def test_beta_version_beta_week(HaVersion): """Test container beta during beta week.""" with patch( "pyhaversion.container.HaVersionContainer.data", fixture("container/beta_week"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.CONTAINER, channel=HaVersionChannel.BETA, ) await haversion.get_version() assert haversion.version == BETA_VERSION_BETA_WEEK
async def test_upcoming_launches(aresponses): response = fixture("upcoming.json", False) aresponses.add( "ll.thespacedevs.com", "/2.0.0/launch/upcoming/", "get", aresponses.Response(text=response, headers=HEADERS), ) async with PyLaunches() as client: launches = await client.upcoming_launches() first = launches[0] assert first.name == "Example | Example-01" assert isinstance(first.raw_data_contents, dict)
async def test_haio(aresponses): """Test ha.io/version.json stable.""" aresponses.add( "www.home-assistant.io", "/version.json", "get", aresponses.Response( text=fixture("haio/default", False), status=200, headers=HEADERS ), ) async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.HAIO) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_beta_version(HaVersion): """Test pypi beta.""" with patch( "pyhaversion.pypi.HaVersionPypi.data", fixture("pypi/beta"), ): async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.PYPI, channel=HaVersionChannel.BETA, ) await haversion.get_version() assert haversion.version == BETA_VERSION
async def test_stable_version(aresponses): """Test hassio stable.""" aresponses.add( "version.home-assistant.io", "/stable.json", "get", aresponses.Response(text=fixture("supervised/default", False), status=200, headers=HEADERS), ) async with aiohttp.ClientSession() as session: haversion = HaVersion(session=session, source=HaVersionSource.SUPERVISED) await haversion.get_version() assert haversion.version == STABLE_VERSION
async def test_beta_version(OpVersion): """Test Oppio beta.""" with patch( "pyopversion.supervisor.OpVersionSupervisor.data", fixture("supervisor/default"), ): async with aiohttp.ClientSession() as session: opversion = OpVersion( session=session, source=OpVersionSource.SUPERVISOR, channel=OpVersionChannel.BETA, board="test", image="test", ) await opversion.get_version() assert opversion.version == STABLE_VERSION
async def test_stable_version_beta_week(aresponses): """Test pypi stable during beta week.""" aresponses.add( "pypi.org", "/pypi/homeassistant/json", "get", aresponses.Response(text=fixture("pypi/beta", False), status=200, headers=HEADERS), ) async with aiohttp.ClientSession() as session: haversion = HaVersion( session=session, source=HaVersionSource.PYPI, ) await haversion.get_version() assert haversion.version == STABLE_VERSION_BETA_WEEK