Commit graph

131 commits

Author SHA1 Message Date
Nicolas Giard 744bcc54e8
fix: set vite base path during deploy build + allow google fonts (#4217)
* fix: set vite base path during deploy build + allow google fonts

* ci: only set vite base path if build is for production release

* test: add html-validate ignore rules for vite generated content that is valid

* fix: show buttons on regular sessions without agenda materials + link to legacy agenda

* fix: temporarily hide left menu on agenda-neue and floor-plan-neue

* fix: set resize handler to whole app

* fix: apply html-validate ignore to agenda-neue only + deploy/build.sh fix

* test: change old agenda cypress to always take the same elements to avoid #3564
2022-07-14 18:55:55 -05:00
Robert Sparks b988850985
fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
Lars Eggert 411b5f4747
fix: Fix some HTML validation errors that came in via #4035 (#4066)
* fix: Fix some HTML validation errors that came in via #4035

Also make validation errors display a bit better.

* content -> color for mask-icon (caught by @jennifer-richards; thanks)
2022-06-16 11:59:12 -05:00
Lars Eggert 8ef92312d0
fix: Don't urlencode all resource URLs (#3988)
While this does suppress errors, it breaks even valid URLs. Instead, just
suppress the validation error for those few cases in the database.
2022-05-19 12:31:29 -05:00
Nicolas Giard 8a7f67d4d1
test: make tests run without root access (#3968) 2022-05-14 08:11:44 -05:00
Lars Eggert 5f8d4ed718
More HTML nitfixing (#3934)
* Unicode messages are triggered by both db content and tests

* Make ids unique

* Avoid "No value found" message on page

* Strip HTML from history entries, it's often broken

* Check HTML sources for occurrences of "** No value found for" and fix them

* Fix another occurrence of "** No value found for"

* Fix more occurrences of "** No value found for"

* Fix document revision stripping

* Force breaks of long (garbage) words

* Check URL validity before urlizing them

* Handle some additional corner cases

* Linkify action items

* Don't create profile/email links for System

* Handle headings with HTML elements in them better

* Fix comment

* Fix another occurrence of "** No value found for"

* Better I-D URLization that handles more edge cases. Also, test for them.

* Remove print

* Handle charters better

* Cache for one day
2022-05-10 12:37:14 -05:00
Lars Eggert 5598762608
fix: add more HTML validation & fixes (#3891)
* Update vnu.jar

* Fix py2 -> py3 issue

* Run pyupgrade

* test: Add default-jdk to images

* test: Add option to also validate HTML with vnu.jar

Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.

* fix: Stop the urlizer from urlizing in linkified mailto: text

* More HTML fixes

* More HTML validation fixes

* And more HTML fixes

* Fix floating badge

* Ignore unicode errors

* Only URLize docs that are existing

* Final fixes

* Don't URLize everything during test-crawl

* Feed HTML into vnu using python rather than Java to speed things up

* Allow test-crawl to start vnu on a different port

* Increase retry count to vnu. Restore batch size to 30.

* More HTML validation fixes

* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky

* Undo commit of unmodified file

* Also urlize ftp links

* Fix matching of file name

* More HTML fixes

* Add `is_valid_url` filter

* weekday -> data-weekday

* urlencode URLs

* Add and use vnu_fmt_message. Bump vnu max buffer.

* Simplify doc_exists

* Don't add tab link to mail archive if the URL is invalid

* Run urlize_ietf_docs before linkify

Reduces the possibility of generating incorrect HTML

* Undo superfluous change

* Runner fixes

* Consolidate vnu message filtering into vnu_filter_message

* Correctly handle multiple persons with same name

* Minimze diff

* Fix HTML nits

* Print source snippet in vnu_fmt_message

* Only escape if there is something to escape

* Fix snippet

* Skip crufty old IPR declarations

* Only include modal when needed. Add handles.

* Fix wordwrap+linkification

* Update ietf/doc/templatetags/ietf_filters.py

* Update ietf/doc/templatetags/tests_ietf_filters.py

* Don't right-align second column
2022-05-03 13:55:48 -05:00
Nicolas Giard 8ea883cb7e
chore: switch to Yarn 3 (#3819)
* refactor: switch to yarn 3

* chore: add other os+cpu to yarn supported architectures

* chore: add gitattributes

* chore: add missing yarn native modules rebuild step

* chore: replace npx with yarn in test_runner + update readme

* chore: remove bootstrap-datepicker github dependency, use local instead
2022-04-25 15:54:05 -05:00
Jennifer Richards 68684be247
test: fix permissions on files for html validation (#3795)
* test: fix permissions on files for html validation

* test: rewind stdout before dumping output that caused error
2022-04-07 16:17:33 -05:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
Robert Sparks 87838725af
test: bypass html validation pending rework at template level (#3748) 2022-03-25 07:53:46 -05:00
Lars Eggert f516f86a17
ci: Add vnu to dev + test docker image (#3724)
* ci: Add vnu to dev docker image

* Use default-jdk from apt, and just download the vnu JAR blob
2022-03-22 13:13:28 -04:00
Lars Eggert eb5423d084
ci: Also check generated HTML with the "vnu" validator (#3682)
* ci: Also check generated HTML with the "vnu" validator

Because HTML Tidy apparently misses a bunch of errors.

* thead -> tbody

* More fixes

* More fixes

* Start checker in test runner
2022-03-21 12:50:23 -05:00
Jennifer Richards c390fe012e Use live_server_url as IDTRACKER_BASE_URL in IetfLiveServerTestCase. Fixes #3203. Commit ready for merge.
- Legacy-Id: 19353
2021-09-07 18:18:13 +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 59b49c846b Fixed a number of TimeSlot-related issues, in particular related to getting the correct date from a timeslot. Also fixed the displayed slot times in the new schedule editors to show local times, not UTC times.
- Legacy-Id: 18785
2020-12-19 22:55:11 +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
Henrik Levkowetz 020d560190 Grammar fix.
- Legacy-Id: 18562
2020-10-05 13:20:18 +00:00
Jennifer Richards ea3882034a Use querystring instead of URL hash for agenda filters
- Legacy-Id: 18353
2020-08-11 13:45:41 +00:00
Henrik Levkowetz bf230a738b Added a test suite switch to optionally show logging output. Normally this is suppressed while running tests. In production, it goes to syslog's user facility. With --show-logging, it will go to the console when running tests.
- Legacy-Id: 18010
2020-06-17 15:05:57 +00:00
Henrik Levkowetz 6d7c5b52ee Django 2.0 conversion. Test suite passes, except for javascript tests.
- Legacy-Id: 17762
2020-05-08 13:07:07 +00:00
Henrik Levkowetz 42995fadea Merged in ^/branch/iola/meeting-improvement-r17214@17617, which provides a new meeting schedule editor.
- Legacy-Id: 17701
2020-04-28 14:34:34 +00:00
Henrik Levkowetz 3054b8cf58 Removed usage of maybe_create_svn_symlinks()
- Legacy-Id: 17668
2020-04-20 18:03:25 +00:00
Ole Laursen e5943f814d Add support for displaying constraint hints when scheduling a task and
for displaying violated constraints in the new schedule editor, with
the old of a new field, ConstraintName.editor_label.

Add support for displaying room capacity violations.

Add support for selecting a session and displaying information about
it similar to the existing scheduling editor.

Add support for sorting unassigned sessions.

Clean up markup and styles a bit, and fix some bugs.

Expand HTML-based test and add JS test that exercises the
Javascript-based functionality.

Switch to using Chrome driver instead of PhantomJS since the HTML
engine in PhantomJS is apparently too old to support the constructs in
the new schema editor.

Add a workaround for LiveServerTestCase clashing with IetfTestRunner
fixture loading.
 - Legacy-Id: 17519
2020-03-23 17:55:36 +00:00
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00
Henrik Levkowetz 8f0eca5032 Added a newline to test run output, to separate dot progress indication from teardown message.
- Legacy-Id: 17253
2020-01-22 23:17:44 +00:00
Henrik Levkowetz 288f4135e3 Added (currently inactive) code to trigger exceptions on failure to resolve template variables during tests, and added fixes for a couple of places that triggered such exceptions.
- Legacy-Id: 17226
2020-01-13 17:16:43 +00:00
Henrik Levkowetz 447525de73 Tweaked the output of mypy_test().
- Legacy-Id: 16865
2019-10-15 16:48:23 +00:00
Henrik Levkowetz 2d858f2e0a Added mypy and django-stubs to Py3 requirements, and added a mypy test case.
- Legacy-Id: 16768
2019-09-30 15:37:32 +00:00
Ryan Cross d332bfd91d Added encoding='utf-8' parameter to io.open operations in tests that starting failing since adding unicode_literals. Commit ready to merge
- Legacy-Id: 16562
2019-07-20 22:54:14 +00:00
Henrik Levkowetz fb3d4ddb0b Added information about versions (Datatracker, Python, and Django) at the beginning of test suite runs.
- Legacy-Id: 16516
2019-07-17 20:54:51 +00:00
Henrik Levkowetz 627f8a7eab Modified code to write release coverage json data to gzip file under both Py2 and Py3.
- Legacy-Id: 16475
2019-07-16 21:58:38 +00:00
Henrik Levkowetz 8c6eb3a30a Python2/3 compatibility: Changed the use of open() and StringIO to io.open() etc.
- Legacy-Id: 16458
2019-07-15 19:14:04 +00:00
Henrik Levkowetz 6732e7acff Fixed an issue with a gzip file mode.
- Legacy-Id: 16436
2019-07-08 18:30:34 +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 d7f5c84182 Initial 2to3 patch with added copyright statement updates.
- Legacy-Id: 16309
2019-06-27 14:40:54 +00:00
Henrik Levkowetz ba528a0c5e Adjusted the test_runner to generate migration coverage data also when permitting mixed migrations.
- Legacy-Id: 16280
2019-06-17 18:24:17 +00:00
Henrik Levkowetz 815602351f This is a series of 50 migrations that changes the Document and DocAlias
primary keys from character strings to integers, and makes corresponding code
changes.

This was prompted by database limitations discovered when trying to make
DocAlias use a m2m document field; with 255 long strings as primary keys for
Document and DocAlias this violated the MySQL database limitations.

Changing the primary keys to integers should also improve efficiency.  

Due to the data migrations which create the new integer primary keys and adds
corresponding integer foreign keys matching the previous string foreign keys
in all tables having foreign keys to Document and DocAlias, some of these
migrations take a long time.  The total set of migrations are expected to have
a runtime on the order of 2 hours.
 - Legacy-Id: 16237
2019-06-10 11:32:46 +00:00
Henrik Levkowetz fd62a25f4e Added a missing variable initialization.
- Legacy-Id: 15925
2019-02-04 11:26:29 +00:00
Henrik Levkowetz 57a4c9f41f Added 9 new group features, and changed list-like char fields to json fields, to get better support for using the values as lists. Modified code to use the group features instead of explicit lists of group types in many places in the code.
- Legacy-Id: 15908
2019-01-22 18:11:46 +00:00
Henrik Levkowetz 0cc7f73d58 Additional tweaks to submission yang testing and the test runner
- Legacy-Id: 15870
2019-01-07 13:38:44 +00:00
Henrik Levkowetz a96c6c4c5b Tweaked the test runner to more consistently force the test coverage tests to be run last.
- Legacy-Id: 15030
2018-04-08 12:42:03 +00:00
Henrik Levkowetz d6e4404d63 Only do coverage set/reset operations if we're in test mode. Fixes a 500 error during draft submission yang checking.
- Legacy-Id: 14569
2018-01-25 11:31:38 +00:00
Henrik Levkowetz 9be7d57a03 Tweaked the test-runner random state handling to display the correct random state filename and make sure to set the same random state.
- Legacy-Id: 14209
2017-10-14 12:05:01 +00:00
Henrik Levkowetz 2c1438c240 Moved unidecode_name from utils.text to person.name.
Modified UserFactory to use a new locale for each new user, instead of the
same locale for a whole test run.  This (almost) ensures the exercise of
code to deal with non-ascii names, something which would not happen if a
locale with ascii names was chosen at the start of a run.

Modified name.initials() to not use non-word characters as initials.

Modified unidecode_name() to do more normalization, to conform to the
conventions used in internet-drafts.

Added saving of the factory-boy random state in order to be able to re-run
a test suite with the same pseudo-random sequence as in a previous failed
run.

Fixed an issue with email formatting in test_api_submit_ok().

Modified the draft author extraction code to deal better with names with
embedded apostrophes.
 - Legacy-Id: 14141
2017-09-20 15:36:30 +00:00
Henrik Levkowetz 1eeaf49c5c Added an error exit when the test runner is invoked with incompatible switches (--parallel and --html-report)
- Legacy-Id: 14024
2017-08-02 13:00:16 +00:00
Henrik Levkowetz d00921b94b Added a new release-coverage format which whould make it easier to show line-by-line code test coverage changes in the future.
- Legacy-Id: 13967
2017-07-24 17:38:00 +00:00
Henrik Levkowetz eceed7476d Added the html_report switch setting to the test runner object.
- Legacy-Id: 13822
2017-07-09 18:10:51 +00:00