def setup(self): super(TestContentCafeAPI, self).setup() self.http = DummyHTTPClient() self.soap = MockSOAPClient(popularity_value=5) self.api = ContentCafeAPI(self._db, 'uid', 'pw', self.soap, self.http.do_get) self.identifier = self._identifier(identifier_type=Identifier.ISBN) self.args = dict(userid=self.api.user_id, password=self.api.password, isbn=self.identifier.identifier)
def test_constructor(self): """Just test that we can create the object.""" uploader = DummyS3Uploader() soap_client = DummyContentCafeSOAPClient() api = ContentCafeAPI(self._db, None, "user_id", "password", uploader, soap_client=soap_client) provider = ContentCafeCoverageProvider(self._db, api=api, uploader=uploader)
def test_providers_overdrive(self): # For an Overdrive collection... collection = MockOverdriveAPI.mock_collection(self._db) # In lieu of a proper mock API, create one that will crash # if it tries to make a real HTTP request. mock_content_cafe = ContentCafeAPI(self._db, None, object(), object(), self.uploader) resolver = IdentifierResolutionCoverageProvider( collection, overdrive_api_class=MockOverdriveAPI, content_cafe_api=mock_content_cafe, uploader=self.uploader) # We get three required coverage providers: Content Cafe, OCLC # Classify, and Overdrive. optional, [content_cafe, oclc_classify, overdrive] = resolver.providers() eq_([], optional) assert isinstance(content_cafe, ContentCafeCoverageProvider) assert isinstance(oclc_classify, OCLCClassifyCoverageProvider) assert isinstance(overdrive, OverdriveBibliographicCoverageProvider)
def test_providers_opds(self): # For an OPDS collection that goes against the open-access content # server... self._default_collection.external_integration.set_setting( Collection.DATA_SOURCE_NAME_SETTING, DataSource.OA_CONTENT_SERVER) uploader = object() # In lieu of a proper mock API, create one that will crash # if it tries to make a real HTTP request. mock_content_cafe = ContentCafeAPI(self._db, None, object(), object(), self.uploader) resolver = IdentifierResolutionCoverageProvider( self._default_collection, content_cafe_api=mock_content_cafe, uploader=uploader) # We get three required coverage providers: Content Cafe, OCLC # Classify, and OPDS Lookup Protocol. optional, [content_cafe, oclc_classify, opds] = resolver.providers() eq_([], optional) assert isinstance(content_cafe, ContentCafeCoverageProvider) assert isinstance(oclc_classify, OCLCClassifyCoverageProvider) assert isinstance(opds, LookupClientCoverageProvider) eq_(mock_content_cafe, content_cafe.content_cafe) eq_(self._default_collection, opds.collection)
def __init__(self, _db, batch_size=100, interval_seconds=3600 * 48): super(ContentCafeDemandMeasurementSweep, self).__init__(_db, "Content Cafe demand measurement sweep", interval_seconds) self.client = ContentCafeAPI(_db, mirror=None) self.batch_size = batch_size