File: C:/Users/fred/anaconda3/Lib/site-packages/astropy/samp/tests/test_client.py
# Licensed under a 3-clause BSD style license - see LICENSE.rst
import pytest
# By default, tests should not use the internet.
from astropy.samp import SAMPWarning, conf
from astropy.samp.client import SAMPClient
from astropy.samp.hub import SAMPHubServer
from astropy.samp.hub_proxy import SAMPHubProxy
from astropy.samp.integrated_client import SAMPIntegratedClient
def setup_module(module):
conf.use_internet = False
def test_SAMPHubProxy():
"""Test that SAMPHubProxy can be instantiated"""
SAMPHubProxy()
@pytest.mark.slow
def test_SAMPClient():
"""Test that SAMPClient can be instantiated"""
proxy = SAMPHubProxy()
SAMPClient(proxy)
def test_SAMPIntegratedClient():
"""Test that SAMPIntegratedClient can be instantiated"""
SAMPIntegratedClient()
@pytest.fixture
def samp_hub():
"""A fixture that can be used by client tests that require a HUB."""
my_hub = SAMPHubServer()
my_hub.start()
yield
my_hub.stop()
def test_SAMPIntegratedClient_notify_all(samp_hub):
"""Test that SAMP returns a warning if no receiver got the message."""
client = SAMPIntegratedClient()
client.connect()
message = {"samp.mtype": "coverage.load.moc.fits"}
with pytest.warns(SAMPWarning):
client.notify_all(message)
client.disconnect()
def test_reconnect(samp_hub):
"""Test that SAMPIntegratedClient can reconnect.
This is a regression test for bug [#2673]
https://github.com/astropy/astropy/issues/2673
"""
my_client = SAMPIntegratedClient()
my_client.connect()
my_client.disconnect()
my_client.connect()