def test_parse_list_as_identifiers(self):

        i1 = self._identifier()
        i2 = self._identifier()
        args = [i1.identifier, 'no-such-identifier', i2.identifier]
        identifiers = IdentifierInputScript.parse_identifier_list(
            self._db, i1.type, args)
        eq_([i1, i2], identifiers)

        eq_([],
            IdentifierInputScript.parse_identifier_list(self._db, i1.type, []))
    def test_parse_list_as_identifiers_with_autocreate(self):

        type = Identifier.OVERDRIVE_ID
        args = ['brand-new-identifier']
        [i] = IdentifierInputScript.parse_identifier_list(
            self._db, type, None, args, autocreate=True
        )
        eq_(type, i.type)
        eq_('brand-new-identifier', i.identifier)
 def test_parse_command_line_no_identifiers(self):
     cmd_args = [
         "--identifier-type", Identifier.OVERDRIVE_ID,
         "--identifier-data-source", DataSource.STANDARD_EBOOKS
     ]
     parsed = IdentifierInputScript.parse_command_line(
         self._db, cmd_args, MockStdin()
     )
     eq_([], parsed.identifiers)
     eq_(Identifier.OVERDRIVE_ID, parsed.identifier_type)
     eq_(DataSource.STANDARD_EBOOKS, parsed.identifier_data_source)
 def test_parse_command_line(self):
     i1 = self._identifier()
     i2 = self._identifier()
     # We pass in one identifier on the command line...
     cmd_args = ["--identifier-type", i1.type, i1.identifier]
     # ...and another one into standard input.
     stdin = MockStdin(i2.identifier)
     parsed = IdentifierInputScript.parse_command_line(
         self._db, cmd_args, stdin)
     eq_([i1, i2], parsed.identifiers)
     eq_(i1.type, parsed.identifier_type)
    def test_parse_list_as_identifiers_with_data_source(self):
        lp1 = self._licensepool(None, data_source_name=DataSource.UNGLUE_IT)
        lp2 = self._licensepool(None, data_source_name=DataSource.FEEDBOOKS)
        lp3 = self._licensepool(None, data_source_name=DataSource.FEEDBOOKS)

        i1, i2, i3 = [lp.identifier for lp in [lp1, lp2, lp3]]
        i1.type = i2.type = Identifier.URI
        source = DataSource.lookup(self._db, DataSource.FEEDBOOKS)

        # Only URIs with a FeedBooks LicensePool are selected.
        identifiers = IdentifierInputScript.parse_identifier_list(
            self._db, Identifier.URI, source, [])
        eq_([i2], identifiers)
 def test_parse_command_line_no_identifiers(self):
     cmd_args = ["--identifier-type", Identifier.OVERDRIVE_ID]
     parsed = IdentifierInputScript.parse_command_line(
         self._db, cmd_args, MockStdin())
     eq_([], parsed.identifiers)
     eq_(Identifier.OVERDRIVE_ID, parsed.identifier_type)