import numpy from obspy import Stream, UTCDateTime from obspy.clients.neic.client import Client import pytest from geomagio import TimeseriesUtility from geomagio.edge import SNCL @pytest.fixture(scope="class") def MockMiniSeedClient() -> Client: """replaces default obspy miniseed client's get_waveforms method to return trace of ones""" class MockMiniSeedClient(Client): def get_waveforms( self, network: str, station: str, location: str, channel: str, starttime: UTCDateTime, endtime: UTCDateTime, ): sncl = SNCL( station=station, network=network, channel=channel, location=location, ) trace = TimeseriesUtility.create_empty_trace( starttime=starttime, endtime=endtime, observatory=station, channel=channel, type=sncl.data_type, interval=sncl.interval, network=network, station=station, location=location, ) trace.data = numpy.ones(trace.stats.npts) return Stream([trace]) yield MockMiniSeedClient