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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
 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