-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update release howto #410
Merged
Merged
Update release howto #410
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…erse-devnet#198) (fediverse-devnet#238) Co-authored-by: Matthew Exon <github2.mexon@neverbox.com> Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com> Co-authored-by: Johannes Ernst <git@j12t.org>
* [WIP] Experimental Mastodon API Node (fediverse-devnet#178) * Experimental (PoC) version of Mastodon API Node * Changed time.sleep to use retry_interval * Support for Mastodon node test * Guarded import kludge * Mastodon API node mixin (fediverse-devnet#209) * Updated pyproject.toml per fediverse-devnet#208. Not sure I got this right -- we will find out when we push. Also added note about bugs. * Release HOWTO (fediverse-devnet#234) * Draft for release howto * As I've worked with this list for today's release, obviously it turned out to have many bugs. This is better. --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Minor lint improvement (fediverse-devnet#242) Co-authored-by: Johannes Ernst <git@j12t.org> * Minor formatting improvement (fediverse-devnet#244) Co-authored-by: Johannes Ernst <git@j12t.org> * All NodeDrivers are now singletons. (fediverse-devnet#241) Co-authored-by: Johannes Ernst <git@j12t.org> * Add ssh support for ubos-admin commands so we can drive UbosNodes that are on remote servers (fediverse-devnet#243) * Add ssh support for ubos-admin commands so we can drive UbosNodes that run on remote servers. * UbosNodeDriver now unprovisions, no need to do this in the WordPressPlusActivityPubPluginUbosNodeDriver Also, the WordPress Node does not depend on UBOS; renamed --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Allow overriding PYTHON executable path (fediverse-devnet#236) * Allow overriding PYTHON executable path * Allow overriding other configuration variables --------- Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com> * Better error message if python cannot be found per fediverse-devnet#236 (comment) (fediverse-devnet#245) Co-authored-by: Johannes Ernst <git@j12t.org> * Using create- and generate- prefixes in the CLI commands is confusing. Let's only use create- (fediverse-devnet#246) Co-authored-by: Johannes Ernst <git@j12t.org> * Add some tests (fediverse-devnet#248) * Move some things around to make test setup easier (isolate @test etc annotation functionality) Allows to remove env var workaround for selective nodedriver loading Adding some tests * .gitignore --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Instead of limiting invoking ubos-admin over ssh, we can make it a general-purpose mechanism that also works for mechanisms like "machinectl shell" or ssh with non-standard flags. (fediverse-devnet#249) Co-authored-by: Johannes Ernst <git@j12t.org> * More appname as parameter changes (fediverse-devnet#251) * More appname as parameter changes and related * Lint improvements --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Added fake node driver. (fediverse-devnet#258) Skip tests if no mastodon config is present. Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Memoise previous responses to prompt for account URIs (fediverse-devnet#260) Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com> * Checking for empty test result list. (fediverse-devnet#267) Transcript won't be written in this case. Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Command to list report templates (fediverse-devnet#265) Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Make it possible to do http_get/http requests with TLS cert verification. (fediverse-devnet#268) Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Updated --template name and help. (fediverse-devnet#266) Added diagnostics for missing HTML templates. Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Feditest side of http support changes (fediverse-devnet#269) Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Update nodedriver decorator (fediverse-devnet#272) 1. Add return type annotation (helps with IDE) 2. Return the annotated type (so import works) Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Customize pytest collection to ignore feditest objects. (fediverse-devnet#274) Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Get UbosNodeDriver to generate its own SIte JSON files instead of hard coding them (fediverse-devnet#252) One thing led to another, and this got a bit long ... there are still some rough edges but I feel it's better to merge now before this gets even further out of hand. Major changes: manual NodeDriver registration for built-in NodeDrivers Transcript version check our own private certificate authority, integrated with system trust store on UBOS and venv everywhere more consistent handling of Node parameters and parameter completions MastodonMixin has become a NodeWithMastodonAPI, which in turn is a subclass of FediverseNode. This makes things simpler including parameter handling and Node/NodeDriver implementations Automated user provisioning for Mastodon on UBOS, works consistently for ActivityPub Actors and WebFinger accounts No more need for the restore-from-backup hack for WordPress because we now use wp-cli to fix the permalink scheme at run-time Facade mechanism for ActivityStreams objects based on underlying JSON -- this may be a good compromise between typed / untyped and invalid data Clarified the semantics of some of the Node API calls in the comments and adjusted code accordingly always use rolename, not nickname Generate UBOS Site JSON dynamically with new ids, certs, hostnames instead of hard coding -- the original purpose of this branch. Caveats: Recursive AS Collection resolution is untested, and needs its own tests because it's so complicated UBOS packages mastodon, wordpress need to be manually rebuilt, and wp-cli manually installed from Arch (updates are not in the UBOS repos yet) * Fix cast syntax. Fixes fediverse-devnet#279. * Use @DataClass. Fixes fediverse-devnet#278 * UserId to ActorURI mapping both directions for WordPress. Fixes fediverse-devnet#275 and fediverse-devnet#283. * Fix httpx invocation. Fixes fediverse-devnet#288 * Don't use _member for @DataClass per feedback * Use httpx.Response.raise_for_status() -- no need to invent our own exceptions * Fix TypeVar definition. (fediverse-devnet#297) Closes fediverse-devnet#295 Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> * Fix ZeroDivision when converting test transcript with no tests to HTML. Fixes fediverse-devnet#298. * Don't try to write Registry CA info to disk if we haven't used it in a run. Fixes fediverse-devnet#299. * Missed two occurrences of _userid in earlier PR * Use dict.get if key may not exist. * Clean up parser vs sub-parser in CLI commands, closes fediverse-devnet#294. * Create pytest that tests we report on NodeDriver errors. Closes fediverse-devnet#188 * Alias for --json: --testresult * Fixed error with unsupported delete_on_close keyword arg (fediverse-devnet#305) * Renamed TestException (fediverse-devnet#306) * Add built-in noopN tests -- makes debugging node provisioning easier Load default NodeDrivers and default tests first, so local setup can override them * Use a better exception for ubos-admin errors * Fix development of feditest to python version 3.11, so we don't get unexpected surprises when somebody runs it on debian or such. Fixes fediverse-devnet#307. (fediverse-devnet#309) Co-authored-by: Johannes Ernst <git@j12t.org> * Default version without installed package. (fediverse-devnet#314) * Replaced '== None' with 'is None' (flagged by ruff linter) (fediverse-devnet#315) * Fixed clashing field and function name (fediverse-devnet#316) * Initial pre-commit support. (fediverse-devnet#313) * Initial pre-commit support. * Updated hook versions. Added pytest src config. * Enabled NOCOMMIT check * Pass TestPlanConstellationNode to Node, so it can directly look up things Node._parameters are now only local overrides * Make the random domain a bit longer (fediverse-devnet#317) Better name for our custom CA Add x509 SubjectAlternativeName to cert: apparently python ssl needs it Added types-requests dependency to make mypy happy Mastodon.py can now create the OAuth app using our custom CA Co-authored-by: Johannes Ernst <git@j12t.org> * Add mypy to pre-commit. Fix a few small issues. (fediverse-devnet#321) * Enabled pre-commit hook for ruff linting (fediverse-devnet#319) * Added pytest hook. (fediverse-devnet#322) Disabled test_mastodon_node temporarily until it is passing again. Also updated mypy to autoinstall type libraries. * Second attempt at making the WebFinger query API call consistent * Keep the Node parameters private to the Node and NodeDriver, which gets to pull them from the TestPlan if it wants to Also pass the test_plan_node to Node._fill_in_parameters() start_delay() is now an official property * White space * More white space * Now all parameters are back on Node, no need to delegate to _test_plan_node * The Node subclasses actually don't really need the TestPlanConstellationNode. They may need the pre-provisioned user tables, but it's up to the specific implementation of Node and its NodeDriver to provide those suitably. So not in the superclass. * GitHub workflow for PR/pre-commit * Fix failing unit test. * Better approach to manage pre-existing Accounts and Node parameters (fediverse-devnet#333) The primary goal of these changes are to create a uniform way to specify pre-existing accounts on the nodes referenced in a TestPlan. This may be necessary because: * a given app at a Node does not have an API by which accounts can be automatically provisioned * ... or the code to do so hasn't been written, such as when developers only start to use FediTest with their app * or the developer may want to re-run the same tests with the same accounts that already exist on an instance they are running themselves as "SaaS" * or the developer may want to re-run the same tests, getting the exact same user names even if they are auto-provisioned, to make debugging easier. There are several difficulties: * Each application may need different data to identify an existing account. For example, some may need username and password, others e-mail address and OAuth token etc. * Communicating what is needed for a given situation / app to the developer is really hard; nobody likes to pour through long documentation (which we probably couldn't keep up-to-date and testing that a given version is up-to-date would be a challenge in itself). This would -- and has for me -- led to significant frustration: "I'm specifying all these things, why isn't it working?" * Error checking code will be all over the place. Consistent error checking and reporting is not really possible without a lot of repeat code review work. * Different tests may require a different (and potentially unlimited) number of accounts. The approach should seamlessly scale to a number larger than the pre-existing accounts, by auto-provisioning new accounts or asking the user to do so. A similar situation applies to non-existing-accounts: similar to accounts, it identifies what could be an account, but is known not to exist. This is required for things such as WebFinger tests against non-existing accounts. While migrating the ad-hoc mechanisms we had in the code for specifying pre-existing accounts, I also implemented a similar mechanism for Node parameters: what parameters are required or supported on a given Node was not obvious. Example that illustrates the point (needs better formatting but you get the point): ``` % feditest info --nodedriver MastodonSaasNodeDriver Node driver name: MastodonSaasNodeDriver Description: Create a Mastodon Node that already runs as SaaS Parameters: {'app': 'Name of the app', 'app_version': 'Version of the app', 'hostname': 'DNS hostname of where the app is running.', 'verify_api_tls_certificate': 'If set to false, accessing the Mastodon API will be performed without checking TLS certificates.'} Account fields: {'userid': 'Mastodon userid for a user (e.g. "joe") (required).', 'email': 'E-mail for the user on an Account. Required for accounts specified with a password (not a token) because logging into Mastodon is by e-mail address.', 'password': 'Password for a user. Required for accounts that also have an e-mail address and no token.', 'oauth_token': 'OAuth token of a user, obtained out of band, for users not specified with e-mail address and password.', 'role': 'A symbolic name for the Account as used by tests (optional).'} Non-existing Account fields: {'userid': 'Mastodon userid for a non-existing user (e.g. "joe") (required).', 'role': 'A symbolic name for the non-existing Account as used by tests (optional).'} ``` In implementation terms, the key changes are: * a `NodeConfiguration` object which does all the parameter checking, default settings etc as early as possible so TestPlans with invalid parameters fail long before they try to actually run. This means we don't pass a `parameter` dict around any more, but a config object that, when it exists, is known to be internally consistent. * An `AccountManager` object associated with each Node. Different implementations implement different strategies for how to return requested accounts and/or when and how to provision new ones. While feditest could conceivably be applied to Nodes that run software that do not have the notion of an account, that seems very unusual and isn't worth making things more complicated; `AccountManager` could simply be ignored in that case. * Information about pre-existing Accounts and Parameters are captured, including their name, description and error checking code in `TestPlanNodeAccountField`, `TestPlanNodeNonExistingAccountField` and `TestPlanNodeParameter`. * There are several feditest TestPlans that run against the Mastodon API. Not all of them run yet, but some do. * This solves my mystery ruff problem where ruff would complain about ExceptionGroup not existing, although I'm running python 3.11. Why I need it and others don't IDK. (fediverse-devnet#336) Co-authored-by: Johannes Ernst <git@j12t.org> * Ignore exceptions that occur when we discover tests or nodedrivers, e.g. Skip from pyunit tests that happen to be in the browsed directories (fediverse-devnet#339) Co-authored-by: Johannes Ernst <git@j12t.org> * The plan with the global registry variable failed badly: run --domain did not work. Redesign to use accessor functions. (fediverse-devnet#341) Co-authored-by: Johannes Ernst <git@j12t.org> * Use new UBOS `allow_private_addresses` customizationpoint on Mastodon and make test work (fediverse-devnet#344) * Use new UBOS `allow_private_addresses` customizationpoint on Mastodon so Mastodon will not block HTTP requests on the local network, which we need for testing purposes * Fix the mastodon-against-mastodon unit test -- works now in interactive mode (too fast in non-interactive mode) In Mastodon, need to poll local and remote time line Start delay for Mastodon should be 10 Better log messages * Make ruff happy --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Move unit tests directory. (fediverse-devnet#348) * Move unit tests directory. Closes fediverse-devnet#337 * Remove test_mastodon_node.py Closes fediverse-devnet#308 --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Fix confusion of whether role_names are before or after rolemapping: better name of function: needed_constellation_role_names, fixes role mapping issue (fediverse-devnet#352) Co-authored-by: Johannes Ernst <git@j12t.org> * Better followers api on FediverseNode (fediverse-devnet#349) * Minor * Create a utility function that replaces next() -- and works better with my brain :-) * Better API calls on FediverseNode that deal with followers. Closes fediverse-devnet#346 Cannot check generically for arrival of ActivityPub messages in inbox; need specific methods so it can map on things like the Mastodon API Also fixes race condition when running mastodon_mastodon_ubos.json in automated mode * Fix test sequence so that follower receives the leader's note --------- Co-authored-by: Johannes Ernst <git@j12t.org> * A few odds and ends (fediverse-devnet#351) * Clean up some property messiness that caused test failures * Print Field names, not Fields directly in interactive questions * Now that we have settled on python3.11, we might as well put it into the Makefile: works on macOS with brew and on Linux/UBOS * Adjust unit tests for moved role parameter in FallbackFediverse{,NonExisting}Account --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Support testing direct messages (via @mention) in Mastodon (fediverse-devnet#354) * Return the content of the received Note Fix mention generation in Mastodon Notes delivered through mention (not follow) in Mastodon arrive in notifications, not home timeline * Mastodon API .notifications() and .timeline() return different data structures, apparently. Handle both. * Remove comment that's distracting in the stack trace --------- Co-authored-by: Johannes Ernst <git@j12t.org> * mypy setup improvements (fediverse-devnet#356) * Add more surgical disable comment into the source to disable certain mypy checks * Make Makefile-invoked mypy options consistent with those in .pre-commit-config.yaml * Bump mypy version --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Make progress on WordPress+ActivityPubPlugin. Not working yet. (fediverse-devnet#355) * Make progress on WordPress+ActivityPubPlugin. Not working yet. WordPress needs to have its own Account implementation -- different path than Mastodon Added OAuth token account provisioning code from Enable_Mastodon_Apps developer Throw Exception if mastodon_user_client was about to return None * Move _mastodon_user_client variable down in inheritance hierarchy, hopefully that will make mypy happy * Trailing slash for WordPress author URLs. Fixes fediverse-devnet#292 --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Added methods to support fediverse-devnet/feditest-tests-fediverse#141 (fediverse-devnet#359) Clarify some comments. Co-authored-by: Johannes Ernst <git@j12t.org> * Allow registry to generate certs for hostnames specified in the TestPlan as well (fediverse-devnet#360) Better Node toString Co-authored-by: Johannes Ernst <git@j12t.org> * Allow "run" to be invoked with session and constellation arguments, not just full test plan (fediverse-devnet#362) * Allow specification of the components of a testplan as an alternative to the --testplan in the run command. * Fixes fediverse-devnet#191 well enough, not sure we need to do this for the other commands * Use ArgumentError for CLI invocation errors, not fatal * Move feditest unit tests into their own tests directory; makes invocation easier * Instead of having test plans in the feditest unit test directory, have constellations and session templates: much better for usability * Add more noop tests * Don't add built-in noop tests to test sessions created from looking on disk what tests we can find * Print needed role names when "feditest info --test <name>" * add --test option to "feditest run" so we can specify which tests to run directly from the command-line --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Fix test issue fediverse-devnet#148 (fediverse-devnet#366) * Fixes for testing replies fediverse-devnet/feditest-tests-fediverse#148 * Slight changes in parameter names and internal function names for more clarity * Remove Mastodon status_dict cache: it introduces potential errors and race conditions that we would have to work through * Better, more consistent debug messages --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Always approve and confirm automatically provisioned Mastodon users (fediverse-devnet#365) Do not use uppercase characters in Mastodon user ids -- they are not accepted in the API Co-authored-by: Johannes Ernst <git@j12t.org> * WordPress working except for the SSRF problem (fediverse-devnet#368) * Disable mastodon.py's version check for WordPress -- it cannot parse the version string * Random OAuth token for WordPress * Fix Mastodon userid regex * In NodeWithMastodonAPI, distinguish between userid (the handle) and internal_userid (an integer); the latter is needed in Mastodon API calls * In NodeWithMastodonAPI, use @Property and _property * Don't allow all punctuation chars for auto-generated passwords * Activate mastodon.py debug_requests when trace logging is active * Add WordPress friends plugin by default on UBOS * Better error messages when Node parameter fields or user attributes are missing or invalid * Better logging and exceptions * Lint improvement Closes fediverse-devnet#284 Closes fediverse-devnet#285 --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Use tests.unit and tests.smoke instead of tests.unit/*/ (fediverse-devnet#369) Co-authored-by: Johannes Ernst <git@j12t.org> * Work around WordPress SSRF protection (fediverse-devnet#371) * Use new UBOS WordPress customizationpoint `disablessrfprotection`. * Record ubos-admin error messages * Closes fediverse-devnet#367 * Fix name of the node we are logging into, copy-paste error * Uncomment wait_until_actor_is_follow* calls in smoke test; however, fails with WordPress due to fediverse-devnet#370. Co-authored-by: Johannes Ernst <git@j12t.org> * Make CLI arguments consistent (fediverse-devnet#372) * Use argparse action='append' consistently, not nargs='*' except when enumerating tests on the command-line * Create cli.util to factor out ways to create TestPlan components from command-line options * Make arguments to the various cli command consistent, and use the same code to parse them where applicable --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Move "internal" tests from feditest-tests-sandbox repo and make them proper unit tests (fediverse-devnet#373) Co-authored-by: Johannes Ernst <git@j12t.org> * Use the correct test name. (fediverse-devnet#375) Closes fediverse-devnet#374 Co-authored-by: Johannes Ernst <git@j12t.org> * Remove the default testplan argument value from run. Co-authored-by: Johannes Ernst <git@j12t.org> * Rename WordPress Driver (fediverse-devnet#378) * Closes fediverse-devnet#377 --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Clean up package hierarchy (fediverse-devnet#381) * Move feditest/ubos/__init__.py to feditest/nodedrivers/ubos.py -- better location * Move Node, NodeDriver and associated classes from feditest.protocols to feditest.nodedrivers -- much more logical location * Fix \ missing escape in PHP string * Add smoke tests to Makefile --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Move prompt_user() into utils.py, there hasn't been good reason for some time for this to be on Node / NodeDriver. (fediverse-devnet#382) Co-authored-by: Johannes Ernst <git@j12t.org> * Reflect the difference between protocol-level and system-level functionality in the code (fediverse-devnet#383) * Split methods on Node subtypes between regular Nodes and Nodes with diagnostic abilities (like the Imp) * Factor out functionality from Imp that is useful in other WebFingerDiagClients -> AbstractWebFingerDiagClient * Two exceptions are WebFinger-related not Web-related: move * Make diag_override_http_response implementation consistent with turning on HTTP request logging * Be clear that FediTest does not itself fetch ActivityPub documents, it only asks other Nodes to do it * Better documentation and comments * Comment-out some currently inconsistent code; get back to it with ActivityPub tests * Make the sequence of class definitions in files Client, Server, not Server, Client: it's called client-server after all, not server-client. --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Some minor cleanup (fediverse-devnet#384) * ParsedUri should have a get_scheme() method * Fix WordPress app name * Better comments * Add a --domain flag to the run invocations in the Makefile --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Migrate the Fediverse protocol API to use acct identifiers, not Actor URIs (fediverse-devnet#385) * Use `acct` URIs instead of `https` Actor URIs to drive the protocols/fediverse API. This allows us to get around a limitation in the WordPress / Enable Mastodon Apps implementation of search (cannot search for Actor URI) * This also allows us to simplify how many subtypes of Account we need. * This also allows us the user to only specify an `acct` URI for existing accounts, and not both `acct` and Actor `https`, which was cumbersome. * Cleaned up smart factory methods in `NodeWithMastodonAPI` to more easily get right, instead of more easily get wrong :-P * Query the Mastodon API by `acct`, not `id` -- the WordPress implementation has same behavior with `acct`, but not with `id` as the WordPress federated users aren't first-class users in WordPress. * Last smoke test (WordPress against Mastodon) is now working --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Add WebFinger smoke tests (fediverse-devnet#386) * Add WebFinger smoke tests * In smoke tests, use node.json files instead of constellation.json files: fewer files, more flexibility * Run WordPress smoke tests first: they run faster --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Rename feditest/cli/util.py -> feditest/cli/utils.py to be consistent with other utils.py * Emit warning if submodule loading failed, not just trace * Fix type annotations for @test and @step * Use @Property for the elements of ParsedUri and subclasses Use parsed_uri instead of uri member variable on Request -- easier to understand * Fix regex escape * Implement missing mapping from WebFingerServer obtain_xxx_account_identifier to AccountManager in FallbackFediverseNode * Remove saas node definitions from smoke tests with pre-set values * Fix bad implementation of set_auto_accept_follow on FediverseNode (fediverse-devnet#389) Co-authored-by: Johannes Ernst <git@j12t.org> * Remove wait_util_* methods from FediverseNode. Replace by utils' poll_until() and exposing the underlying polled functions. This simplifies things. Split prompt_user into two functions, which can have more sane / lint-friendly signature and allows us to remove a bunch of cast()'s * Add feditest.disabled for easy commenting out of tests * Remove use of the mastodon.py library: its benefits are marginal, but it gets in the way of straightforward debugging. (fediverse-devnet#391) Co-authored-by: Johannes Ernst <git@j12t.org> * Remove TimeoutException, instead raise an AssertionFailure when a poll_until rimes out Move poll_until into fediverse main package from utils Add poll_but_not as the opposite function * Add -i to run as shorthand for --interactive * Add FediverseNode.note_has_direct_reply * Also add accept header to our Mastodon API invocations All Mastodon API call HTTP headers are now lowercase Mastodon API debug output also shows JSON responses * Fix UBOS-only smoke tests * Make --interactive input more visible when -v -v mode is on * Remove branch component of the venv part; not as useful as originally thought * Yet another regex escape fix * Fix embarrassing mixup between session index and step index when asking for the next step in a test run * Add methods access_note and update_note to FediverseNode Better Mastodon API debug output in case of errors * Clean up FediverseNode API Reorder methods on FediverseNode for better comprehensibility (fediverse-devnet#395) Add some FediverseNode methods for next set of tests Rename account_id_*validate to acct_uri_*validate for consistency Add list-of validation functions Co-authored-by: Johannes Ernst <git@j12t.org> * Fix so received boosts are correctly detected in Mastodon. * Add FediverseNode methods unlike_object and unannounce_object * Simplify TestRun id * Generated TestPlanSession ignores --name argument * CSS and other small HTML report improvements Add duration to test steps in report * Make emitted timestamps consistent * HTML escape payload from error messages. Closes fediverse-devnet#392 * Fix NullPointerExceptions * Typo * Use action=append instead of nargs=+ for --test argument. Closes fediverse-devnet#402 * Add python version check. Closes fediverse-devnet#405. * Re-imagine TestPlan as a single TestPlanSessionTemplate that is run against one or more Constellations (fediverse-devnet#407) * That makes it consistent with how we generate HTML matrix reports. * TestPlanSession so now is more correctly called TestPlanSessionTemplate * Generate a single HTML file for single-Constellation TestPlans, and N+1 HTML files for N-Constellation TestPlans * Reorganize Serializers and jinja2 templates * Update unit tests * Lint improvements --------- Co-authored-by: Johannes Ernst <git@j12t.org> * Get ready for 0.4 (fediverse-devnet#408) * Fix minor version comparison * feditest version to only print the version, so it can be used in git checkout * Consistent description of the project * Update project version * Make HTML report titles and H1's consistent * Minor CSS * Now called session_template not session; update Jinja2 template * Better formatting of SpecLevel and InteropLevel in HTML * To trigger CORS headers, the Origin header sent from the client must have a URI method * Rename WebFingerQueryResponse -> WebFingerQueryDiagResponse * Simplify multiple exceptions in WebFingerQueryDiagResponse * Simplify ignoring exceptions of certain types in WebFinger tests so each test doesn't report other tests' exceptions * Updating RELEASE-HOWTO --------- Co-authored-by: Johannes Ernst <git@j12t.org> --------- Co-authored-by: Steve Bate <steve-bate@users.noreply.github.com> Co-authored-by: Johannes Ernst <git@j12t.org> Co-authored-by: Matthew Exon <github2.mexon@neverbox.com> Co-authored-by: Matthew Exon <git.mexon@spamgourmet.com> Co-authored-by: Steve Bate <svc-atlassian@stevebate.net> Co-authored-by: Steve Bate <svc-github@stevebate.net>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.