def runTest(self): db_empty_page_list() root = db_create_root_page() published_pages = PublishedPages() self.assertTrue(published_pages.has_size(1)) page = db_add_empty_page('Test', parent=root) publish_pages(page) self.assertIsNotNone(page) published_pages.update() self.assertTrue(published_pages.has_size(2)) self.assertEqual(page.placeholders.count(), 1) placeholder = page.placeholders.all()[0] add_plugin(placeholder, 'TextPlugin', DEFAULT_LANG, body='') add_plugin(placeholder, 'TextPlugin', DEFAULT_LANG, body='') add_plugin(placeholder, 'TextPlugin', DEFAULT_LANG, body='') plugins = placeholder.get_plugins() self.assertEqual(plugins.count(), 3) article_page = ArticlePage('Test', 'test') self.assertIsNotNone(article_page) article_page.publish() published_pages.update() self.assertTrue(published_pages.has_size(2)) self.assertEqual(article_page.page.placeholders.count(), 1) placeholder = article_page.page.placeholders.all()[0] plugins = placeholder.get_plugins() self.assertEqual(plugins.count(), 1) self.assertIsInstance(plugins[0].get_plugin_instance()[0], RawHtml)
def runTest(self): db_empty_page_list() root = db_create_root_page() snappy_page = db_add_empty_page('Snappy', root) build_apps = db_add_empty_page('Build Apps', snappy_page) publish_pages([snappy_page, build_apps]) ExternalDocsBranch.objects.all().delete() ExternalDocsBranchImportDirective.objects.all().delete() ImportedArticle.objects.all().delete() branch, created = ExternalDocsBranch.objects.get_or_create( origin=os.path.join(os.path.dirname(__file__), 'data/snapcraft-test'), branch_name='') a, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='README.md', write_to='snappy/build-apps/devel', external_docs_branch=branch) b, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs', write_to='snappy/build-apps/devel', external_docs_branch=branch) c, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='HACKING.md', write_to='snappy/build-apps/devel/hacking', external_docs_branch=branch) self.assertIsNotNone(process_branch(branch)) for imported_article in ImportedArticle.objects.all(): self.assertTrue(check_imported_article(imported_article))
def runTest(self): db_empty_page_list() root = db_create_root_page() snappy_page = db_add_empty_page('Snappy', root) build_apps = db_add_empty_page('Build Apps', snappy_page, slug='build-apps') publish_pages([snappy_page, build_apps]) ExternalDocsBranch.objects.all().delete() ExternalDocsBranchImportDirective.objects.all().delete() ImportedArticle.objects.all().delete() branch, created = ExternalDocsBranch.objects.get_or_create( origin=os.path.join(os.path.dirname(__file__), 'data/snapcraft-test'), branch_name='') a, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs/intro.md', write_to='snappy/build-apps', external_docs_branch=branch) b, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs', write_to='snappy/build-apps', external_docs_branch=branch) repo = process_branch(branch) self.assertTrue(check_repo(repo)) self.assertGreater(len(repo.pages), 10) self.assertTrue( repo.contains_page('/{}/snappy/build-apps/'.format(DEFAULT_LANG))) published_pages = PublishedPages() self.assertTrue( published_pages.contains_url( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) self.assertTrue(published_pages.has_at_least_size(10)) for imported_article in ImportedArticle.objects.all(): self.assertTrue(check_imported_article(imported_article)) # Run the import a second time repo = process_branch(branch) self.assertTrue(check_repo(repo)) self.assertGreater(len(repo.pages), 10) self.assertTrue( repo.contains_page('/{}/snappy/build-apps/'.format(DEFAULT_LANG))) published_pages.update() self.assertTrue( published_pages.contains_url( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) self.assertTrue(published_pages.has_at_least_size(10)) for imported_article in ImportedArticle.objects.all(): self.assertTrue(check_imported_article(imported_article))
def handle(self, *args, **options): """ Create published public version of selected drafts. """ include_unpublished = options.get("include_unpublished") language = options.get("language") site = self.get_site(options.get("site")) # we need a super user to assign the publish action to try: user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0] except IndexError: raise CommandError("No super user found, create one using `manage.py createsuperuser`.") # set him as current user set_current_user(user) pages_published = 0 pages_total = 0 self.stdout.write("\nPublishing public drafts....\n") index = 0 for page, add in publish_pages(include_unpublished, language, site): m = "*" if add else " " self.stdout.write("%d.\t%s %s [%d]\n" % (index + 1, m, force_text(page), page.id)) pages_total += 1 if add: pages_published += 1 index += 1 self.stdout.write("\n") self.stdout.write("=" * 40) self.stdout.write("\nTotal: %s\n" % pages_total) self.stdout.write("Published: %s\n" % pages_published)
def handle(self, *args, **options): """ Create published public version of selected drafts. """ include_unpublished = options.get('include_unpublished') language = options.get('language') site = self.get_site(options.get('site')) # we need a super user to assign the publish action to try: user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0] except IndexError: raise CommandError('No super user found, create one using `manage.py createsuperuser`.') # set him as current user set_current_user(user) pages_published = 0 pages_total = 0 self.stdout.write('\nPublishing public drafts....\n') index = 0 for page, add in publish_pages(include_unpublished, language, site): m = '*' if add else ' ' self.stdout.write('%d.\t%s %s [%d]\n' % (index + 1, m, force_text(page), page.id)) pages_total += 1 if add: pages_published += 1 index += 1 self.stdout.write('\n') self.stdout.write('=' * 40) self.stdout.write('\nTotal: %s\n' % pages_total) self.stdout.write('Published: %s\n' % pages_published)
def runTest(self): self.create_repo('data/snappy-test') snappy_page = db_add_empty_page('Snappy', self.root) guides = db_add_empty_page('Guides', snappy_page) publish_pages([snappy_page, guides]) self.assertTrue(isinstance(self.repo, Repo)) self.repo.add_directive('docs', 'snappy/guides/devel') self.assertTrue(self.repo.execute_import_directives()) self.assertTrue(self.repo.publish()) for article in self.repo.imported_articles: self.assertTrue(isinstance(article, Article)) self.assertGreater(len(self.repo.pages), 0) devel = Page.objects.filter(parent=guides.get_public_object()) self.assertEqual(devel.count(), 1) published_pages = PublishedPages() for page in published_pages.pages: if page not in [self.root, snappy_page, guides, devel[0]]: self.assertEqual(page.parent, devel[0])
def handle_noargs(self, **options): """Create published public version of selected drafts. """ include_unpublished = options.get('include_unpublished') language = options.get('language') site = options.get('site') if site: try: site = int(site) site = Site.objects.get(pk=site) except (ValueError, Site.DoesNotExist): raise CommandError("There is no site with given site id.") else: site = None try: user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0] except IndexError: raise CommandError( "No super user found, create one using `manage.py createsuperuser`." ) set_current_user(user) # set him as current user pages_published = 0 pages_total = 0 self.stdout.write(u"\nPublishing public drafts....\n") index = 0 for page, add in publish_pages(include_unpublished, language, site): m = '*' if add else ' ' self.stdout.write(u"%d.\t%s %s [%d]\n" % (index + 1, m, force_text(page), page.id)) pages_total += 1 if add: pages_published += 1 index += 1 self.stdout.write(u"\n") self.stdout.write(u"=" * 40) self.stdout.write(u"\nTotal: %s\n" % pages_total) self.stdout.write(u"Published: %s\n" % pages_published)
def handle_noargs(self, **options): """Create published public version of selected drafts. """ include_unpublished = options.get('include_unpublished') language = options.get('language') site = options.get('site') if site: try: site = int(site) site = Site.objects.get(pk=site) except (ValueError, Site.DoesNotExist): raise CommandError("There is no site with given site id.") else: site = None try: user = get_user_model().objects.filter(is_active=True, is_staff=True, is_superuser=True)[0] except IndexError: raise CommandError("No super user found, create one using `manage.py createsuperuser`.") set_current_user(user) # set him as current user pages_published = 0 pages_total = 0 self.stdout.write(u"\nPublishing public drafts....\n") index = 0 for page, add in publish_pages(include_unpublished, language, site): m = '*' if add else ' ' self.stdout.write(u"%d.\t%s %s [%d]\n" % (index + 1, m, force_text(page), page.id)) pages_total += 1 if add: pages_published += 1 index += 1 self.stdout.write(u"\n") self.stdout.write(u"=" * 40) self.stdout.write(u"\nTotal: %s\n" % pages_total) self.stdout.write(u"Published: %s\n" % pages_published)
def runTest(self): self.create_repo('data/website-test') snappy_page = db_add_empty_page('Snappy', self.root) start = db_add_empty_page( 'Get started', parent=snappy_page, slug='start') as_dev = db_add_empty_page( 'As developer', parent=start, slug='as-dev') page_16_04 = db_add_empty_page( '16.04', parent=as_dev, slug='16-04') publish_pages([snappy_page, start, as_dev, page_16_04]) self.assertTrue(isinstance(self.repo, Repo)) self.repo.add_directive('out/get-started/as-dev/index.html', 'snappy/start/as-dev') self.repo.add_directive('out/get-started/as-dev/16.04/index.html', 'snappy/start/as-dev/16-04') self.repo.add_directive('out/get-started/as-dev/16.04', 'snappy/start/as-dev/16-04') self.assertTrue(self.repo.execute_import_directives()) self.assertTrue(self.repo.publish()) self.assertGreater(len(self.repo.pages), 10) published_pages = PublishedPages() expected_urls = [ '/en/', '/en/snappy/', '/en/snappy/start/', '/en/snappy/start/as-dev/', '/en/snappy/start/as-dev/16-04/', '/en/snappy/start/as-dev/16-04/step2-setup-azure-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-azure-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-azure-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-beaglebone-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-beaglebone-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-beaglebone-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-dragonboard-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-dragonboard-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-dragonboard-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-ec2-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-ec2-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-ec2-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-gce-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-gce-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-gce-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-intel-nuc-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-intel-nuc-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-intel-nuc-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-kvm-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-kvm-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-kvm-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-rpi2-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-rpi2-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-rpi2-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-vagrant-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-vagrant-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-vagrant-windows/', '/en/snappy/start/as-dev/16-04/step2-setup-x86-device-macos/', '/en/snappy/start/as-dev/16-04/step2-setup-x86-device-ubuntu/', '/en/snappy/start/as-dev/16-04/step2-setup-x86-device-windows/', '/en/snappy/start/as-dev/16-04/step3-get-familiar/', '/en/snappy/start/as-dev/16-04/step4-first-snap/', '/en/snappy/start/as-dev/16-04/step5-further-readings/', ] self.assertTrue(published_pages.has_size(len(expected_urls))) for url in expected_urls: self.assertTrue(published_pages.contains_url(url))
def runTest(self): db_empty_page_list() self.assertEqual(Page.objects.count(), 0) root = db_create_root_page() snappy_page = db_add_empty_page('Snappy', root) guides = db_add_empty_page('Guides', snappy_page) publish_pages([snappy_page, guides]) published_pages = PublishedPages() self.assertTrue(published_pages.has_size(3)) ExternalDocsBranch.objects.all().delete() ExternalDocsBranchImportDirective.objects.all().delete() ImportedArticle.objects.all().delete() # Snapcraft import definition snapcraft_branch, created = ExternalDocsBranch.objects.get_or_create( origin=os.path.join(os.path.dirname(__file__), 'data/snapcraft-test'), branch_name='') a, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs/intro.md', write_to='snappy/build-apps', external_docs_branch=snapcraft_branch) b, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs', write_to='snappy/build-apps', external_docs_branch=snapcraft_branch) # Snappy import definition snappy_branch, created = ExternalDocsBranch.objects.get_or_create( origin=os.path.join(os.path.dirname(__file__), 'data/snappy-test'), branch_name='') c, created = ExternalDocsBranchImportDirective.objects.get_or_create( import_from='docs', write_to='snappy/guides', external_docs_branch=snappy_branch) # Run the import a first time snapcraft_repo = process_branch(snapcraft_branch) self.assertTrue(check_repo(snapcraft_repo)) self.assertGreater(len(snapcraft_repo.pages), 10) self.assertTrue( snapcraft_repo.contains_page( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) snappy_repo = process_branch(snappy_branch) self.assertTrue(check_repo(snappy_repo)) self.assertGreater(len(snappy_repo.pages), 10) self.assertTrue( snappy_repo.contains_page( '/{}/snappy/guides/'.format(DEFAULT_LANG))) published_pages = PublishedPages() self.assertTrue( published_pages.contains_url( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) self.assertTrue( published_pages.contains_url( '/{}/snappy/guides/'.format(DEFAULT_LANG))) self.assertTrue(published_pages.has_at_least_size(20)) for imported_article in ImportedArticle.objects.all(): self.assertTrue(check_imported_article(imported_article)) # Run the import a second time snapcraft_repo = process_branch(snapcraft_branch) self.assertTrue(check_repo(snapcraft_repo)) self.assertGreater(len(snapcraft_repo.pages), 10) self.assertTrue( snapcraft_repo.contains_page( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) snappy_repo = process_branch(snappy_branch) self.assertTrue(check_repo(snappy_repo)) self.assertGreater(len(snappy_repo.pages), 10) self.assertTrue( snappy_repo.contains_page( '/{}/snappy/guides/'.format(DEFAULT_LANG))) published_pages.update() self.assertTrue( published_pages.contains_url( '/{}/snappy/build-apps/'.format(DEFAULT_LANG))) self.assertTrue( published_pages.contains_url( '/{}/snappy/guides/'.format(DEFAULT_LANG))) self.assertTrue(published_pages.has_at_least_size(20)) for imported_article in ImportedArticle.objects.all(): self.assertTrue(check_imported_article(imported_article))