def test_list_distroseries_request_targets_orders_by_names(self): # list_distroseries_request_targets returns distroseries sorted # primarily by Distribution.name, and secondarily by # DistroSeries.name. self.clearQueue() self.useFixture(FakeLibrarian()) names = ['c', 'a', 'b'] distros = [ self.factory.makeDistribution(name=distro_name) for distro_name in names ] for distro in distros: for series_name in names: series = self.factory.makeDistroSeries(distribution=distro, name=series_name) series.defer_translation_imports = False self.factory.makeTranslationImportQueueEntry( distroseries=series) self.assertEqual([ ('a', 'a'), ('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'b'), ('b', 'c'), ('c', 'a'), ('c', 'b'), ('c', 'c'), ], [(series.distribution.name, series.name) for series in list_distroseries_request_targets(True)])
def test_list_product_request_targets_ignores_inactive_products(self): self.clearQueue() self.useFixture(FakeLibrarian()) product = self.factory.makeProduct() product.active = False self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries(product=product)) self.assertEqual([], list_product_request_targets(None, False))
def test_list_distroseries_request_targets_ignores_inactive_series(self): # Distroseries whose imports have been suspended are not # included in list_distroseries_request_targets. self.clearQueue() self.useFixture(FakeLibrarian()) series = self.factory.makeDistroSeries() series.defer_translation_imports = True self.factory.makeTranslationImportQueueEntry(distroseries=series) self.assertEqual([], list_distroseries_request_targets(True))
def test_list_distroseries_request_targets_does_not_duplicate(self): # list_distroseries_request_targets will list a distroseries # only once. self.clearQueue() self.useFixture(FakeLibrarian()) series = self.factory.makeDistroSeries() series.defer_translation_imports = False for counter in range(2): self.factory.makeTranslationImportQueueEntry(distroseries=series) self.assertEqual([series], list_distroseries_request_targets(True))
def test_list_product_request_filters_private_products(self): self.clearQueue() self.useFixture(FakeLibrarian()) owner = self.factory.makePerson() product = self.factory.makeProduct( owner=owner, information_type=InformationType.PROPRIETARY) self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries(product=product)) self.assertEqual([], list_product_request_targets(None, True)) self.assertEqual([product], list_product_request_targets(owner, True))
def test_upload_exported_file(self): librarian = self.useFixture(FakeLibrarian()) export = self.makeExportedTranslationFile() export_result = self.makeExportResult() export_result.setExportFile(export) export_result.upload() self.assertIsNot(None, export_result.url) sha256 = hashlib.sha256(export.content).hexdigest() self.assertEqual(sha256, librarian.aliases.values()[0].content.sha256) alias = librarian.findBySHA256(sha256) self.assertEqual(export.path, alias.filename)
def test_list_product_request_targets_does_not_duplicate(self): # list_product_request_targets will list a product only once. self.clearQueue() self.useFixture(FakeLibrarian()) product = self.factory.makeProduct() productseries = [ self.factory.makeProductSeries(product=product) for counter in range(2)] for series in productseries: for counter in range(2): self.factory.makeTranslationImportQueueEntry( productseries=series) self.assertEqual([product], list_product_request_targets(None, True))
def test_list_product_request_targets_orders_by_product_name(self): self.clearQueue() self.useFixture(FakeLibrarian()) names = ['c', 'a', 'b'] products = [self.factory.makeProduct(name=name) for name in names] productseries = [ self.factory.makeProductSeries(product=product) for product in products ] for series in productseries: self.factory.makeTranslationImportQueueEntry(productseries=series) self.assertEqual(sorted(names), [ product.name for product in list_product_request_targets(None, True) ])
def test_list_product_request_targets_filters_status(self): self.clearQueue() self.useFixture(FakeLibrarian()) entry_status = RosettaImportStatus.APPROVED other_status = RosettaImportStatus.NEEDS_REVIEW entry = self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries()) removeSecurityProxy(entry).status = entry_status self.assertEqual( [], list_product_request_targets( None, TranslationImportQueueEntry.status == other_status)) self.assertEqual( [entry.productseries.product], list_product_request_targets( None, TranslationImportQueueEntry.status == entry_status))
def test_list_distroseries_request_targets_filters_status(self): self.clearQueue() self.useFixture(FakeLibrarian()) entry_status = RosettaImportStatus.APPROVED other_status = RosettaImportStatus.NEEDS_REVIEW series = self.factory.makeDistroSeries() series.defer_translation_imports = False entry = self.factory.makeTranslationImportQueueEntry( distroseries=series) removeSecurityProxy(entry).status = entry_status self.assertEqual( [], list_distroseries_request_targets( TranslationImportQueueEntry.status == other_status)) self.assertEqual( [entry.distroseries], list_distroseries_request_targets( TranslationImportQueueEntry.status == entry_status))
def setUp(self): super(CreateFileImporterTestCase, self).setUp() self.fake_librarian = self.useFixture(FakeLibrarian()) self.translation_import_queue = getUtility(ITranslationImportQueue) self.importer_person = self.factory.makePerson()
def test_list_distroseries_request_targets_ignores_product_uploads(self): self.clearQueue() self.useFixture(FakeLibrarian()) self.factory.makeTranslationImportQueueEntry( productseries=self.factory.makeProductSeries()) self.assertEqual([], list_distroseries_request_targets(True))
def setUp(self): super(SmokeTestTestCase, self).setUp() self.fake_librarian = self.useFixture(FakeLibrarian())
def setUp(self): super(TestTranslationBranchApprover, self).setUp() self.useFixture(FakeLibrarian()) self.queue = getUtility(ITranslationImportQueue) self.series = self.factory.makeProductSeries()
def setUp(self): super(TestFakeLibrarian, self).setUp() self.fake_librarian = self.useFixture(FakeLibrarian())