Commit graph

50 commits

Author SHA1 Message Date
Jennifer Richards fa56223939
feat: API to replace email alias generation commands (#7012)
* feat: DraftAliasGenerator class

Encapsulates logic from generate_draft_aliases.py

* refactor: Avoid circular imports

* feat: Add draft_aliases API endpoint

* feat: Add @requires_api_token decorator

Stolen from feat/rpc-api

* feat: Add token auth to draft_aliases endpoint

* feat: draft-aliases-from-json.py script

Parses output from the draft_aliases API call

* chore: Remove unused cruft

* refactor: Avoid shadowing "draft" name

* fix: Suppress empty lists from DraftAliasGenerator

* refactor: Use a GET instead of POST

* feat: GroupAliasGenerator class

* feat: group aliases API view

* fix: Handle domains array correctly

* fix: Suppress empty group aliases

* refactor: Generalize aliases-from-json.py script

* refactor: Same output fmt for draft and group alias apis

* feat: Sort addresses for stability

* fix: Add "anything" virtual alias

* test: Test requires_api_token decorator

* feat: Harden is_valid_token against misconfig

* test: Test is_valid_token

* test: Test draft_aliases view

* test: Test group_aliases view

* test: Test DraftAliasGenerator

* fix: ise group is type "ise" in test data

* test: Fix logic in testManagementCommand

The test was incorrect - and fails when fixed. :-(

* test: Test GroupAliasGenerator

Test currently fails

* fix: Suppress empty -ads alias

* test: Fix group acronym copy/paste error

I *think* this must be what had been intended. The
code does not look like it ever dealt with GroupHistory,
so I'm pretty sure it wasn't meant to have the same
acronym used by two different Groups at different
times.

* test: Check draft .notify alias generation

* test: Cover get_draft_notify_emails()
2024-02-07 10:15:50 -06:00
Robert Sparks 8ff14419c2
chore: continued refactoring 2023-06-16 16:59:20 -05:00
Robert Sparks 5c9a3642bd
fix: point menu item for editoral stream to rswg documents (#5206)
* fix: connect the menu item for the editoral stream to the rswg documents page.

* chore: repair merge damage

* fix: address review by shortcircuiting redirects
2023-02-27 08:40:43 -06:00
Lars Eggert d6d1525da2
feat: Add group stats sunburst plots to active WG page (#5126)
* feat: Add group stats sunburst plots to active WG page

* Cleanups

* Sort/color areas consistently

* Move graphs to area page

* Move sunbursts

* Add test

* Move most sunbursts to modals

* Remove parametrization from URLs

* Fix test

* Make `only_active` a bool

* Reformat

* Reformat more
2023-02-22 12:05:06 -06:00
Robert Sparks 84e8daffaa
feat: chair aliases for research area groups (#4966) 2023-01-12 12:22:47 -06:00
Jennifer Richards ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* refactor: replace datetime.now with timezone.now

* refactor: migrate model fields to use timezone.now as default

* refactor: replace datetime.today with timezone.now

datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.

* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)

This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.

* refactor: revert datetime.today() change to old migrations

* refactor: change a missed datetime.now to timezone.now

* chore: renumber timezone_now migration

* chore: renumber migrations
2022-08-25 13:45:16 -03:00
Lars Eggert e465f1f0f0
feat: Replace graphviz with d3 (#4067)
* feat: Use d3 for doc dependencies

* Interim commit

* Progress

* Progress

* Auto pan and zoom

* Arrows

* Remove graphviz and the code that uses it

* More graphviz-related changes

* Interim commit

* Move things into place

* Add test

* Final touches

* Make SVG work in Chrome

* Get the docs more similarly to how the group doc page does it

* Reindent

* Add ability to download the SVG, and use bs fonts.

* Follow @rjsparks' advice on how to compute the reference list

* Interim commit

* Add legend

* Speed up simulation

* Fix tooltips

* fix: escape a period in a new url regex

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-21 12:14:45 -05:00
Jennifer Richards 81d9234d54 Use temporary directories instead of "real" filesystem for tests. Fixes #3414. Commit ready for merge.
- Legacy-Id: 19555
2021-11-05 19:45:57 +00:00
Russ Housley c42935363a Add test for creation of RG Chairs in the irtg.org domain. Commit ready for merge.
- Legacy-Id: 19022
2021-05-20 20:15:49 +00:00
Russ Housley 45b14c83a7 Convert generate-draft-aliaes and generate-wg-aliases into management commands: generate_draft_aliases and generate_group_aliases. Also provide tests for the new management commands.
- Legacy-Id: 18913
2021-03-13 17:30:35 +00:00
Robert Sparks 3697180cc1 Reverted merge of timezone-aware migration efforts.
- Legacy-Id: 18792
2021-01-12 16:54:20 +00:00
Henrik Levkowetz 774e752a54 Snapshot of timezone-aware datatracker code. Tests pass, and the test-crawler shows only expected differences. Trunk changes merged in up to r18768.
- Legacy-Id: 18770
2020-12-16 23:53:37 +00:00
Robert Sparks c6f55a3306 Fixed some test scaffolding that used non-existent keys (uncovered by recent improvements in sqlite3 integrity checking). Commit ready for merge.
- Legacy-Id: 18130
2020-07-02 20:05:02 +00:00
Henrik Levkowetz 8892a6b725 Removed unused imports.
- Legacy-Id: 18089
2020-06-27 17:40:28 +00:00
Henrik Levkowetz cb9006eb26 Changed skip messages from test suites to use print() instead of sys.stderr.write(), to match other output from the test runner.
- Legacy-Id: 18087
2020-06-27 17:32:02 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 2d7c9629aa Added 'from __future__' imports all over the place, to bring code behaviour into closer alignment between python2 and python3
- Legacy-Id: 16446
2019-07-15 15:40:51 +00:00
Henrik Levkowetz 0679eaa8d4 Removed unused imports.
- Legacy-Id: 16402
2019-07-04 21:06:57 +00:00
Henrik Levkowetz f480799af9 Undid unintentional bulk commit
- Legacy-Id: 16401
2019-07-04 21:04:46 +00:00
Henrik Levkowetz fc09a59950 Added decode() of command pipe output.
- Legacy-Id: 16400
2019-07-04 21:01:39 +00:00
Henrik Levkowetz 15e74e89cb Converted instances of assertTrue(text in response.content) to the recommended assertContains(response, text), and similar for assertFalse(... in ...)
- Legacy-Id: 16336
2019-06-29 13:43:31 +00:00
Henrik Levkowetz 426870b766 Merged in the Document and DocAlias primary key change and m2m work in ^/personal/henrik/6.96.1-docalias.
- Legacy-Id: 16261
2019-06-15 12:00:48 +00:00
Henrik Levkowetz a2cafded25 Changed DocAlias to be many-to-many, in order to be able to handle STD aliases referring to multiple RFCs.
- Legacy-Id: 16249
2019-06-14 20:38:14 +00:00
Henrik Levkowetz 5def83ef16 Removed links to the old MHonArc mail archives, and related view.
- Legacy-Id: 16179
2019-05-01 21:24:41 +00:00
Robert Sparks 5b1a68a922 Converted ietf.group.tests to factories. Commit ready for merge.
- Legacy-Id: 15321
2018-07-12 21:23:50 +00:00
Henrik Levkowetz ce1b655fa2 Code reorganization, doing away with multiple urls_* and views_ files in ietf.group. No intentional functionality changes.
- Legacy-Id: 13709
2017-06-22 15:18:08 +00:00
Lars Eggert 8a70e9773d Fix various "RemovedInDjango20Warning" warnings. Commit ready for merge.
- Legacy-Id: 13112
2017-03-25 19:16:45 +00:00
Henrik Levkowetz 4daf66d11c Added DocEvent rev= parameter througout the code.
- Legacy-Id: 12978
2017-03-06 15:08:21 +00:00
Henrik Levkowetz 481a96c935 Changed the handling of skip tests and messages in order to show which tests will be skipped, and why, at the start of a test run.
- Legacy-Id: 12568
2016-12-17 21:49:53 +00:00
Henrik Levkowetz 4b0a9360f0 Merged in ^/branch/iola/event-saving-refactor-r10291, which refactors document saving to always use doc.save_with_history(events), and requires accompanying events. This branch also provides refactoring of recurring regexes in url patterns into a dictionary. As part of the merge, also refactored new code which didn't use the save_with_history() method.
- Legacy-Id: 11840
2016-08-23 10:52:08 +00:00
Henrik Levkowetz a36cf95572 Refactored the code to skip coverage testing a bit, and added skipping of template and url coverage.
- Legacy-Id: 11472
2016-06-24 15:39:59 +00:00
Henrik Levkowetz 6fa181763b Changed the code test coverage checking to never register coverage counts for tests that are sometimes skipped. Removed now unwanted skip settings from the releasetest settings.
- Legacy-Id: 11453
2016-06-21 20:39:28 +00:00
Henrik Levkowetz 92214726fd Renamed some files under ietf/group/ which contained views but didn't have 'views' in the name.
- Legacy-Id: 11190
2016-05-13 15:59:10 +00:00
Robert Sparks 4ed83dd7fc Fill in the list archive tab, showing both mailarchive and mhonarc links when they exists. Preserve the immediate link-to-archive behavior for the group pages for lists that are not in mailarchive/mhonarc. Provides a url at the datatracker for the mailman listinfo pages to use that will show both types of archive. Commit ready for merge.
- Legacy-Id: 10840
2016-02-15 20:01:51 +00:00
Henrik Levkowetz 4bc31b9856 Merged in [10623] from lars@netapp.com:
Simplify the dependency graph generation, by relying on dot to generate PDF (and
now also SVG) directly. Default to showing SVG from the link on a group's page.
 - Legacy-Id: 10650
Note: SVN reference [10623] has been migrated to Git commit f1dcfcafb6
2016-01-12 17:14:11 +00:00
Henrik Levkowetz d3c5609cde Added some tests for the group role email utility functions used by the alias generation scripts. Tempted to start using factory boy, but will wait till Robert's work in the nomcom branch comes in.
- Legacy-Id: 10544
2015-12-04 23:10:01 +00:00
Henrik Levkowetz cf7d794b09 Modified the test data to use some AD and WG chair names that contain non-ascii characters, and fixed test issues found.
- Legacy-Id: 10418
2015-11-04 07:34:56 +00:00
Ole Laursen 86c3a430d1 Merge in ^/branch/iola/event-saving-refactor-r10076, fixing a few problems
- Legacy-Id: 10298
2015-10-27 10:37:06 +00:00
Ole Laursen e1f0917659 Summary: Add new document saving API, Document.save_with_history(events).
The new API requires at least one event and will automatically save a
snapshot of the document and related state. Document.save() will now
throw an exception if called directly, as the new API is intended to
ensure that documents are saved with both an appropriate snapsnot and
relevant history log, both of which are easily defeated by just
calling .save() directly.

To simplify things, the snapshot is generated after the changes to a
document have been made (in anticipation of coming changes), instead
of before as was usual.

While revising the existing code to work with this API, a couple of
missing events was discovered:

- In draft expiry, a "Document has expired" event was only generated
  in case an IESG process had started on the document - now it's
  always generated, as the document changes its state in any case

- Synchronization updates like title and abstract amendmends from the
  RFC Editor were silently (except for RFC publication) applied and
  not accompanied by a descriptive event - they now are

- do_replace in the Secretariat tools now adds an event

- Proceedings post_process in the Secretariat tools now adds an event

- do_withdraw in the Secretariat tools now adds an event

A migration is needed for snapshotting all documents, takes a while to
run. It turns out that a single document had a bad foreign key so the
migration fixes that too.
 - Legacy-Id: 10101
2015-09-28 14:01:03 +00:00
Robert Sparks 461af5af19 Adds views of active areas, area groups, teams, and directorates.
Adds navigation to those views to the base menus.

Unifies URL patterns shared between group/urls and group/urls_info, 
exposing the same view at, e.g., /group/stir and /wg/stir/.

Improves testing, primarily of group/info.py 

Commit ready for merge.
 - Legacy-Id: 9924
2015-07-30 21:51:38 +00:00
Henrik Levkowetz 7b94d6086a Merged in [9316] from willem@nlnetlabs.nl:
Test fetching of wg and rg document dependency graphs.

  Also added conditional running of these tests, as they depend on the
  availability of the dot, unflatten and ps2pdf binaries, which may not
  be available on all developers' systems.
 - Legacy-Id: 9322
Note: SVN reference [9316] has been migrated to Git commit 5980a35e6c
2015-03-22 16:57:14 +00:00
Willem Toorop 5980a35e6c Test fetching of wg and rg dependency graphs
- Legacy-Id: 9316
2015-03-21 22:36:46 +00:00
Henrik Levkowetz 2a551bb35b Made ietf/group/ pyflakes-clean.
- Legacy-Id: 7465
2014-03-15 17:02:52 +00:00
Ole Laursen 1fb05041cc Fix duplicate name in recently added stream tests
- Legacy-Id: 7093
2014-01-09 18:11:12 +00:00
Ole Laursen be475b8996 Add missing tests of stream document pages
- Legacy-Id: 7090
2014-01-09 17:51:05 +00:00
Ole Laursen 77e03c7355 Fix bugs in stream edit test
- Legacy-Id: 6933
2013-12-16 11:55:15 +00:00
Ole Laursen 9457669310 Merge in changes from the old shimfree branch
- Legacy-Id: 6764
2013-11-27 12:55:50 +00:00
Ole Laursen c191a691e0 Remove "names" fixture from all tests, since it's now loaded once just
after creating the test database through the global test fixture
mechanism - this speeds up multiple tests considerably
 - Legacy-Id: 6305
2013-09-29 17:35:59 +00:00
Ole Laursen 5ba00a9362 Move stream views to views_stream.py
- Legacy-Id: 6266
2013-09-26 09:48:37 +00:00
Ole Laursen f0eddecf6b Add test for stream management page
- Legacy-Id: 6262
2013-09-25 11:43:23 +00:00